Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Zugreifen auf Tabellen über den Amazon S3 Tables Iceberg REST-Endpunkt
Sie können Ihren Iceberg REST Client mit dem Amazon S3 Tables Iceberg REST-Endpunkt verbinden und REST API-Aufrufe tätigen, um Tabellen in S3-Tabellen-Buckets zu erstellen, zu aktualisieren oder abzufragen. Der Endpunkt implementiert eine Reihe von standardisierten, in der Apache Iceberg RESTCatalog Open API-Spezifikation Iceberg REST APIs spezifizierten
Anmerkung
Der Amazon S3 Iceberg REST Tables-Endpunkt kann für den Zugriff auf Tabellen in AWS Partner Network (APN-) Katalogimplementierungen oder benutzerdefinierten Katalogimplementierungen verwendet werden. Er kann auch verwendet werden, wenn Sie nur read/write Basiszugriff auf einen einzelnen Tabellen-Bucket benötigen. Für andere Zugriffsszenarien empfehlen wir, den AWS Glue Iceberg REST Endpunkt für die Verbindung zu Tabellen zu verwenden, was eine einheitliche Tabellenverwaltung, zentrale Steuerung und eine detaillierte Zugriffskontrolle bietet. Weitere Informationen finden Sie unter Zugreifen auf Amazon-S3-Tabellen über den AWS GlueIceberg REST-Endpunkt.
Endpunkt konfigurieren
Sie stellen über den Iceberg REST Service-Endpunkt eine Verbindung zum Amazon S3 Tables-Endpunkt her. S3-TablesIceberg REST-Endpunkte haben das folgende Format:
https://s3tables.<REGION>.amazonaws.com/iceberg
Die regionsspezifischen Endpunkte finden Sie unter. AWS-Regionen für S3 Tables und Endpunkte
Katalogkonfigurationseigenschaften
Wenn Sie einen Iceberg-Client verwenden, um eine Analytics-Engine mit dem Service-Endpunkt zu verbinden, müssen Sie bei der Initialisierung des Katalogs die folgenden Konfigurationseigenschaften angeben. Ersetzen Sie das placeholder values durch die Informationen für Ihre Region und Ihren Tabellen-Bucket.
Der regionsspezifische Endpunkt als Endpunkt-URI:
https://s3tables.<REGION>.amazonaws.com/icebergIhr Tabellen-Bucket-ARN als Lagerstandort:
arn:aws:s3tables:<region>:<accountID>:bucket/<bucketname>SigV4-Eigenschaften für die Authentifizierung. Der SigV4-Signaturname für die Dienstendpunktanforderungen lautet:
s3tables
Die folgenden Beispiele zeigen, wie Sie verschiedene Clients für die Verwendung des Amazon-S3-Tables Iceberg REST-Endpunkts konfigurieren.
Authentifizierung und Autorisierung des Zugriffs auf den Endpunkt
API-Anfragen an die Service-Endpunkte von S3 Tables werden mit AWS Signature Version 4 (Sigv4) authentifiziert. Weitere Informationen zu AWS Sigv4 finden Sie unter Signature Version 4 für API-Anfragen. AWS
Der SigV4-Signaturname für Amazon S3 Tables Iceberg REST-Endpunktanforderungen lautet: s3tables
Anfragen an den Amazon S3 Tables Iceberg REST-Endpunkt werden mithilfe von s3tables IAM-Aktionen autorisiert, die den REST API-Vorgängen entsprechen. Diese Berechtigungen können entweder in identitätsbasierten IAM-Richtlinien oder ressourcenbasierten Richtlinien definiert werden, die Tabellen und Tabellen-Buckets zugeordnet sind. Weitere Informationen finden Sie unter Zugriffsverwaltung für S3 Tables.
Sie können Anfragen an Ihre Tabellen über den Endpunkt REST mit AWS CloudTrail verfolgen. Anfragen werden als entsprechende S3-IAM-Aktion protokolliert. Beispielsweise generiert eine LoadTable API ein Verwaltungsereignis für den GetTableMetadataLocation Vorgang und ein Datenereignis für den GetTableData Vorgang. Weitere Informationen finden Sie unter Protokollieren mit AWS CloudTrail für S3 Tables.
Präfix- und Pfadparameter
Iceberg RESTKataloge APIs haben in ihrer Anfrage ein Präfix in freier Form. URLs Beispielsweise verwendet der ListNamespaces API-Aufruf das GET/v1/{prefix}/namespaces URL-Format. Für S3 Tables {prefix} ist der REST-Pfad immer Ihr URL-kodierter Tabellen-Bucket-ARN.
Für den folgenden Tabellen-Bucket-ARN: wäre arn:aws:s3tables: das Präfix beispielsweise: us-east-1:111122223333:bucket/bucketnamearn%3Aaws%3As3tables%3A us-east-1%3A111122223333%3Abucket%2Fbucketname
Namespace-Pfadparameter
Namespaces in einem Iceberg REST-Katalog-API-Pfad können mehrere Ebenen aufweisen. S3 Tables unterstützt jedoch nur einstufige Namespaces. Um auf einen Namespace in einer mehrstufigen Kataloghierarchie zuzugreifen, können Sie eine Verbindung zu einem übergeordneten mehrstufigen Katalog herstellen, um auf den Namespace zu verweisen. Dadurch kann jede Abfrage-Engine, die die dreiteilige Notation von catalog.namespace.table unterstützt, auf Objekte in der Kataloghierarchie von S3 Tables zugreifen, ohne dass es zu Kompatibilitätsproblemen im Vergleich zur Verwendung des mehrstufigen Namespace kommt.
Unterstützte Iceberg REST-API-Operationen
Die folgende Tabelle enthält die unterstützten Iceberg-REST-Dateien APIs und wie sie den Aktionen in S3-Tabellen entsprechen.
| Iceberg-REST-Betrieb | REST-Pfad | IAM-Aktion von S3 Tables | CloudTrail EventName |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Überlegungen und Einschränkungen
Im Folgenden finden Sie Überlegungen und Einschränkungen bei der Verwendung des Amazon S3 Tables Iceberg REST-Endpunkts.
Überlegungen
CreateTable API-Verhalten — Die
stage-createOption wird für diesen Vorgang nicht unterstützt und führt zu einem400 Bad RequestFehler. Das bedeutet, dass Sie mitCREATE TABLE AS SELECT(CTAS) keine Tabelle aus Abfrageergebnissen erstellen können.DeleteTable API-Verhalten — Sie können nur Tabellen löschen, wenn das Löschen aktiviert ist. Das Löschen von Tabellen mit
purge=falsewird nicht unterstützt und führt zu einem Fehler400 Bad Request. Einige Versionen von Spark setzen dieses Flag immer auf „False“, selbst wennDROP TABLE PURGE-Befehle ausgeführt werden. Sie können versuchen, eine Tabelle mit dem DeleteTableVorgang S3-Tabellen zu löschenDROP TABLE PURGEoder ihn zu verwenden.-
Der Endpunkt unterstützt nur Standardoperationen mit Tabellenmetadaten. Verwenden Sie für die Tabellenverwaltung, z. B. die Verwaltung und Komprimierung von Snapshots, API-Operationen zur Wartung von S3 Tables. Weitere Informationen finden Sie unter Wartung von S3 Tables.
Einschränkungen
Mehrstufige Namespaces werden nicht unterstützt.
OAuthDie basierte Authentifizierung wird nicht unterstützt.
Nur die
ownerEigenschaft wird für Namespaces unterstützt.In der Apache Iceberg RESTOpen API-Spezifikation APIs definierte View-bezogene Daten
werden nicht unterstützt. Das Ausführen von Operationen an einer Tabelle mit einer
metadata.jsonDatei über 50 MB wird nicht unterstützt und es wird ein Fehler zurückgegeben.400 Bad RequestVerwenden Sie Tabellenverwaltungsoperationen, um die Größe Ihrermetadata.jsonDateien zu kontrollieren. Weitere Informationen finden Sie unter Wartung von S3 Tables.