Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Accès aux tables à l'aide des tables Amazon S3 Iceberg REST point de terminaison
Vous pouvez connecter votre Iceberg REST client pour les tables Amazon S3 Iceberg REST endpoint et marque REST API appels pour créer, mettre à jour ou interroger des tables dans des compartiments de tables S3. Le point de terminaison implémente un ensemble de normes Iceberg REST APIs spécifiée dans le Apache Iceberg REST Spécification de l'API Catalog Open
Note
Tables Amazon S3 Iceberg REST le point de terminaison peut être utilisé pour accéder aux tables dans les implémentations de catalogue AWS Partner Network (APN) ou les implémentations de catalogue personnalisées. Il peut également être utilisé si vous n'avez besoin que d'un accès de base en lecture/écriture à un seul compartiment de table. Pour les autres scénarios d'accès, nous vous recommandons d'utiliser le AWS Glue Iceberg REST point de terminaison pour se connecter aux tables, qui fournit une gestion unifiée des tables, une gouvernance centralisée et un contrôle d'accès précis. Pour plus d’informations, consultez Accès aux tables Amazon S3 à l'aide du AWS Glue Iceberg REST point de terminaison.
Configuration du point de terminaison
Vous vous connectez aux tables Amazon S3 Iceberg REST point de terminaison utilisant le point de terminaison de service. S3 Tables Iceberg REST les points de terminaison ont le format suivant :
https://s3tables.<REGION>.amazonaws.com/iceberg
Reportez-vous à Tables Régions AWS et points de terminaison S3 pour les points de terminaison spécifiques à la région.
Propriétés de configuration du catalogue
Lorsque vous utilisez un client Iceberg pour connecter un moteur d'analyse au point de terminaison du service, vous devez spécifier les propriétés de configuration suivantes lors de l'initialisation du catalogue. Remplacez le placeholder values
par les informations relatives à votre région et à votre compartiment de tables.
Le point de terminaison spécifique à la région en tant qu'URI du point de terminaison :
https://s3tables.<REGION>.amazonaws.com/iceberg
L'ARN de votre compartiment de table comme emplacement de l'entrepôt :
arn:aws:s3tables:<region>:<accountID>:bucket/<bucketname>
Propriétés Sigv4 pour l'authentification. Le nom de signature SigV4 pour les demandes de point de terminaison de service est le suivant :
s3tables
Les exemples suivants vous montrent comment configurer différents clients pour utiliser les tables Amazon S3 Iceberg REST point final.
Authentification et autorisation d'accès au terminal
Les demandes d'API adressées aux points de terminaison du service S3 Tables sont authentifiées à l'aide de AWS Signature Version 4 (SigV4). Consultez AWS la version 4 de Signature pour les demandes d'API afin d'en savoir plus sur AWS SigV4.
Le nom de signature SigV4 pour les tables Amazon S3 Iceberg REST les demandes de point de terminaison sont : s3tables
Demandes adressées aux tables Amazon S3 Iceberg REST les terminaux sont autorisés à l'aide d'actions s3tables
IAM correspondant au REST Opérations d'API. Ces autorisations peuvent être définies soit dans des politiques basées sur l'identité IAM, soit dans des politiques basées sur les ressources associées aux tables et aux compartiments de tables. Pour de plus amples informations, veuillez consulter Gestion des accès pour S3 Tables.
Vous pouvez suivre les demandes adressées à vos tables par le biais du REST point de terminaison avec AWS CloudTrail. Les demandes seront enregistrées en tant qu'action S3 IAM correspondante. Par exemple, une LoadTable
API générera un événement de gestion pour l'GetTableMetadataLocation
opération et un événement de données pour l'GetTableData
opération. Pour de plus amples informations, veuillez consulter Journalisation avec AWS CloudTrail pour les tables S3.
Paramètres du préfixe et du chemin
Iceberg REST APIs les catalogues ont un préfixe de forme libre dans leur demande. URLs Par exemple, l'appel ListNamespaces
d'API utilise le format GET/v1/{prefix}/namespaces
URL. Pour les tables S3, le chemin {prefix}
REST est toujours l'ARN de votre bucket de table codé en URL.
Par exemple, pour l'ARN du bucket de table suivant : arn:aws:s3tables:
le préfixe serait : us-east-1
:111122223333:bucket/bucketname
arn%3Aaws%3As3tables%3A
us-east-1
%3A111122223333
%3Abucket%2Fbucketname
Paramètre de chemin d'espace de noms
Espaces de noms dans un Iceberg REST le chemin de l'API du catalogue peut comporter plusieurs niveaux. Toutefois, S3 Tables ne prend en charge que les espaces de noms à un seul niveau. Pour accéder à un espace de noms dans une hiérarchie de catalogue à plusieurs niveaux, vous pouvez vous connecter à un catalogue à plusieurs niveaux situé au-dessus de l'espace de noms lorsque vous le référencez. Cela permet à tout moteur de requête prenant en charge la notation en 3 parties d'accéder catalog.namespace.table
aux objets de la hiérarchie du catalogue de S3 Tables sans problèmes de compatibilité par rapport à l'utilisation de l'espace de noms à plusieurs niveaux.
Pris en charge Iceberg REST Opérations d’API
Le tableau suivant présente les REST Iceberg pris en charge APIs et indique comment ils correspondent aux actions S3 Tables.
Opération Iceberg REST | chemin REST | Action IAM des tables S3 | CloudTrail EventName |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Considérations et restrictions
Voici les considérations et les limites relatives à l'utilisation des tables Amazon S3 : Iceberg REST point final.
Considérations
CreateTable Comportement de l'API — L'
stage-create
option n'est pas prise en charge pour cette opération et entraîne une400 Bad Request
erreur. Cela signifie que vous ne pouvez pas créer de table à partir des résultats d'une requête à l'aide deCREATE TABLE AS SELECT
(CTAS).DeleteTable Comportement de l'API : vous ne pouvez supprimer des tables que lorsque la purge est activée. La suppression de tables avec n'
purge=false
est pas prise en charge et entraîne une400 Bad Request
erreur. Certaines versions de Spark définissez toujours cet indicateur sur false même lors de l'exécution deDROP TABLE PURGE
commandes. Vous pouvez essayerDROP TABLE PURGE
ou utiliser l'DeleteTableopération S3 Tables pour supprimer une table.-
Le point de terminaison prend uniquement en charge les opérations de métadonnées de table standard. Pour la maintenance des tables, telle que la gestion des instantanés et le compactage, utilisez les opérations de l'API de maintenance des tables S3. Pour de plus amples informations, veuillez consulter Maintenance de S3 Tables.
Limites
Les espaces de noms multiniveaux ne sont pas pris en charge.
OAuthl'authentification basée n'est pas prise en charge.
Seule la
owner
propriété est prise en charge pour les espaces de noms.Lié à la vue APIs défini dans le Apache Iceberg REST
Les spécifications d'API ouvertes ne sont pas prises en charge. L'exécution d'opérations sur une table contenant un
metadata.json
fichier de plus de 5 Mo n'est pas prise en charge et renverra une400 Bad Request
erreur. Pour contrôler la taille de vosmetadata.json
fichiers, utilisez les opérations de maintenance des tables. Pour de plus amples informations, veuillez consulter Maintenance de S3 Tables.