Par défaut, DLF n'est accessible qu'à partir d'un VPC. Pour vous connecter à un catalogue DLF via Internet, par exemple depuis un environnement de développement local ou un réseau interrégional, un administrateur DLF doit activer l'accès via le réseau public et configurer le client en conséquence. Cette rubrique explique comment activer l'accès via le réseau public et configurer la connectivité pour Paimon et Iceberg.
Limites
L'accès via le réseau public est actuellement en version bêta publique et ouvert à tous les utilisateurs.
SLA et performances de la version bêta publique : aucun SLA n'est fourni pendant la période de bêta publique. Les fonctionnalités principales du service restent entièrement disponibles. L'accès via le réseau public est soumis aux variations des liaisons Internet, ce qui entraîne une latence plus élevée et un débit inférieur par rapport à l'accès via VPC. Ce mode n'est pas destiné aux charges de travail de production à grande échelle nécessitant une concurrence élevée.
Paimon : utilisez le client Paimon (Java ou Python) en version 1.4.1 ou ultérieure.
-
Iceberg : nécessite le plug-in
dlf-iceberg-plugin. Configurations requises :Apache Iceberg : 1.10.1
dlf-iceberg-plugin : 1.2.0 ou ultérieure
Restrictions de dénomination : seuls les lettres, chiffres et certains symboles sont pris en charge pour les noms de bases de données et de tables.
Exigence relative aux paramètres : lors de l'accès à DLF via le réseau public, vous devez configurer le endpoint public OSS.
Facturation
L'accès via le réseau public est gratuit pendant la période de bêta publique. Des frais seront appliqués à l'issue de cette période. Les détails tarifaires seront communiqués séparément.
Activer l'accès via le réseau public
Pour des raisons de sécurité, l'accès à DLF via le réseau public est désactivé par défaut. Pour l'activer, un administrateur DLF doit suivre les étapes ci-dessous :
Connectez-vous à la console DLF
Dans le volet de navigation de gauche, choisissez Catalogs.
Cliquez sur le catalogue de données cible, puis sur l'onglet Catalog Configuration.
Dans la section Advanced Settings, définissez
enable.openapisurtrue.
Configurer l'accès via le réseau public
Accéder aux tables Paimon via le réseau public
Les exemples suivants illustrent la connexion à un catalogue DLF Paimon via le réseau public.
Format du endpoint : https://dlfnext.${region-id}.aliyuncs.com. Pour connaître les endpoints spécifiques à chaque région, consultez la rubrique Régions et endpoints.
Java
Options options = new Options();
// Configure the DLF public network endpoint
options.set("uri", "https://dlfnext.cn-hangzhou.aliyuncs.com");
options.set("warehouse", "paimon_test");
options.set("dlf.region", "cn-hangzhou");
options.set("dlf.access-key-id", "<Your AccessKey ID>");
options.set("dlf.access-key-secret", "<Your AccessKey Secret>");
// You must configure the OSS public network endpoint
options.set("dlf.oss-endpoint", "oss-cn-hangzhou.aliyuncs.com");
options.set("token.provider", "dlf");
Catalog restCatalog = new RESTCatalog(CatalogContext.create(options));
Le tableau suivant répertorie les paramètres de configuration pour Java.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Python
from pypaimon import CatalogFactory
options = {
# The Python client must specify the metastore type as rest
'metastore': 'rest',
'uri': 'https://dlfnext.cn-hangzhou.aliyuncs.com',
'warehouse': 'paimon_test',
'dlf.region': 'cn-hangzhou',
'dlf.access-key-id': '<Your AccessKey ID>',
'dlf.access-key-secret': '<Your AccessKey Secret>',
# Configure this parameter if you use STS temporary credentials
'dlf.security-token': '<Your Security Token>',
'dlf.oss-endpoint': 'oss-cn-hangzhou.aliyuncs.com',
'token.provider': 'dlf',
}
rest_catalog = CatalogFactory.create(options)
Le tableau suivant répertorie les paramètres de configuration pour Python.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Accéder aux tables Iceberg via le réseau public
Les exemples suivants illustrent la connexion à un catalogue DLF Iceberg via le réseau public.
Format du endpoint : https://dlfnext.${region-id}.aliyuncs.com/iceberg (endpoint public REST Paimon avec le chemin /iceberg ajouté). Pour connaître les endpoints spécifiques à chaque région, consultez la rubrique Régions et endpoints.
Dépendances Maven
L'authentification via le réseau public et les opérations d'E/S de fichiers sont gérées par le plug-in dlf-iceberg-plugin, disponible dans le dépôt Maven DLF. La lecture et l'écriture des données OSS nécessitent JindoSDK. Ajoutez les dépendances suivantes à votre projet :
<properties>
<iceberg.version>1.10.1</iceberg.version>
<dlf-iceberg-plugin.version>1.2.0</dlf-iceberg-plugin.version>
<jindo.version>6.7.8</jindo.version>
</properties>
<repositories>
<!-- Repository for dlf-iceberg-plugin -->
<repository>
<id>dlf-mvn-repo</id>
<url>https://dlf-mvn-repo.oss-cn-shanghai.aliyuncs.com/mvn-repo/release/</url>
</repository>
<!-- JindoSDK repository -->
<repository>
<id>jindodata</id>
<url>https://jindodata-binary.oss-cn-shanghai.aliyuncs.com/mvn-repo/</url>
</repository>
</repositories>
<dependencies>
<!-- DLF Iceberg plugin: DlfRESTCatalog + RESTDLFAuthManager public network authentication + DlfFileIO -->
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>dlf-iceberg-plugin-1.10.1</artifactId>
<version>${dlf-iceberg-plugin.version}</version>
</dependency>
<!-- Apache Iceberg -->
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-core</artifactId>
<version>${iceberg.version}</version>
</dependency>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-data</artifactId>
<version>${iceberg.version}</version>
</dependency>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-parquet</artifactId>
<version>${iceberg.version}</version>
</dependency>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-aws-bundle</artifactId>
<version>${iceberg.version}</version>
</dependency>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-aws</artifactId>
<version>${iceberg.version}</version>
</dependency>
<!-- OSS data reads and writes (JindoSDK) -->
<dependency>
<groupId>com.aliyun.jindodata</groupId>
<artifactId>jindo-sdk</artifactId>
<version>${jindo.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun.jindodata</groupId>
<artifactId>jindo-core</artifactId>
<version>${jindo.version}</version>
</dependency>
</dependencies>
Java
Map<String, String> options = new HashMap<>();
options.put("uri", "https://dlfnext.cn-hangzhou.aliyuncs.com/iceberg");
options.put("warehouse", "iceberg_test");
// Public network authentication: RESTDLFAuthManager
options.put("rest.auth.type", "org.apache.iceberg.rest.auth.RESTDLFAuthManager");
options.put("rest.signing-region", "cn-hangzhou");
options.put("rest.access-key-id", "your-access-key-id");
options.put("rest.secret-access-key", "your-access-key-secret");
// options.put("rest.session-token", "your-security-token"); // Configure when using STS temporary credentials
options.put("io-impl", "org.apache.iceberg.rest.DlfFileIO");
options.put("dlf.oss-endpoint", "oss-cn-hangzhou.aliyuncs.com");
// Use DlfRESTCatalog provided by dlf-iceberg-plugin
RESTCatalog catalog = new org.apache.iceberg.rest.DlfRESTCatalog();
catalog.initialize("dlf", options);
Le tableau suivant répertorie les paramètres de configuration.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|