Mit AWS verwalteten Tabellen-Buckets arbeiten - Amazon Simple Storage Service

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.

Mit AWS verwalteten Tabellen-Buckets arbeiten

AWS verwaltete Tabellen-Buckets sind spezielle S3-Tabellen-Buckets, die zum Speichern AWS verwalteter Tabellen wie Beschleunigen der Datenerkennung mit S3 Metadata Journal- und Live-Inventartabellen konzipiert sind. Im Gegensatz zu kundenverwalteten Tabellen-Buckets, die Sie direkt erstellen und verwalten, werden AWS verwaltete Tabellen-Buckets automatisch bereitgestellt, AWS wenn Sie Funktionen konfigurieren, die verwaltete Tabellen erfordern. AWS Wenn verwaltete Tabellen erstellt werden, gehören sie zu einem vordefinierten Namespace, der auf dem Quell-Bucket basiert und nicht geändert werden kann. Jedes AWS Konto hat einen AWS verwalteten Tabellen-Bucket pro Region, entsprechend der Benennungskonventionaws-s3. Dieser Bucket dient als zentraler Speicherort für alle verwalteten Tabellen, die den Ressourcen Ihres Kontos in dieser Region zugeordnet sind.

In der folgenden Tabelle werden AWS verwaltete Tabellen-Buckets mit von Kunden verwalteten Tabellen-Buckets verglichen.

Merkmal AWS verwaltete Tabellen-Buckets Vom Kunden verwaltete Tabellen-Buckets
Schöpfung Automatisch von AWS Diensten erstellt Sie erstellen diese manuell
Benennung Verwenden Sie eine standardmäßige Benennungskonvention (aws-s3) Sie definieren Ihre eigenen Namen
Tabellenerstellung Nur AWS Dienste können Tabellen erstellen Sie können Tabellen erstellen
Namespace-Steuerung Sie können keine Namespaces erstellen oder löschen (Alle Tabellen gehören zu einem festen Namespace) Sie können Namespaces erstellen und löschen
Access Schreibgeschützter Zugriff Vollzugriff
Verschlüsselung Sie können die Standardeinstellungen für die Verschlüsselung (SSE-S3) nur ändern, wenn Sie die Ausgangstabelle mit einem vom Kunden verwalteten Schlüssel verschlüsselt haben. AWS KMS Sie können die Standardverschlüsselung auf Bucket-Ebene festlegen und sie jederzeit ändern
Wartung Wird von Diensten verwaltet AWS Die automatisierte Wartung kann auf Bucket-Ebene individuell angepasst werden

Berechtigungen zum Erstellen AWS verwalteter Tabellen-Buckets

Um mit AWS verwalteten Tabellen-Buckets zu arbeiten, benötigen Sie Berechtigungen zum Erstellen von AWS verwalteten Tabellen-Buckets und Tabellen, zum Angeben von Verschlüsselungseinstellungen für AWS verwaltete Tabellen sowie grundlegende Leseberechtigungen zum Abfragen von Tabellen.

Im Folgenden finden Sie ein Beispiel für eine Richtlinie, mit der Sie mithilfe von Dienstkonfigurationen einen AWS verwalteten Tabellen-Bucket erstellen können:

{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToWorkWithMetadataTables", "Effect":"Allow", "Action":[ "s3:CreateBucketMetadataTableConfiguration", "s3tables:CreateTableBucket", "s3tables:CreateNamespace", "s3tables:CreateTable", "s3tables:GetTable", "s3tables:PutTablePolicy" "s3tables:PutTableEncryption", "kms:DescribeKey" ], "Resource":[ "arn:aws:s3:::bucket/amzn-s3-demo-source-bucket", "arn:aws:s3tables:region:111122223333:bucket/aws-s3", "arn:aws:s3tables:region:111122223333:bucket/aws-s3/table/*" ] } ] }

Im Folgenden finden Sie ein Beispiel für eine Richtlinie, mit der Sie Tabellen in AWS verwalteten Tabellen-Buckets abfragen können:

{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToWorkWithMetadataTables", "Effect":"Allow", "Action":[ "s3tables:GetTable", "s3tables:GetTableData", "s3tables:GetTableMetadataLocation", "kms:Decrypt" ], "Resource":[ "arn:aws:s3tables:region:111122223333:bucket/aws-s3", "arn:aws:s3tables:region:111122223333:bucket/aws-s3/table/*" ] } ] }

Abfragen von Tabellen in AWS verwalteten Tabellen-Buckets

Sie können AWS verwaltete Tabellen in AWS verwalteten Tabellen-Buckets mithilfe von Zugriffsmethoden und Engines abfragen, die von S3-Tabellen unterstützt werden. Im Folgenden finden Sie einige Beispielabfragen

Using standard SQL

Das folgende Beispiel zeigt, wie AWS verwaltete Tabellen mithilfe der Standard-SQL-Syntax abgefragt werden.

SELECT * FROM "s3tablescatalog/aws-s3"."b_amzn-s3-demo-source-bucket"."inventory" LIMIT 10;

Das folgende Beispiel zeigt, wie Sie AWS verwaltete Tabellen mit Ihren eigenen Tabellen verknüpfen.

SELECT * FROM "s3tablescatalog/aws-s3"."b_amzn-s3-demo-source-bucket"."inventory" a JOIN "s3tablescatalog/amzn-s3-demo-table-bucket"."my_namespace"."my_table" b ON a.key = b.key LIMIT 10;
Using Spark

Das folgende Beispiel zeigt, wie Sie Ihre Tabelle mit abfragenSpark.

spark.sql(""" SELECT * FROM ice_catalog.inventory a JOIN ice_catalog.my_table b ON a.key = b.key """).show(10, true)

Das folgende Beispiel zeigt, wie Sie Ihre AWS verwaltete Tabelle mit einer anderen Tabelle verbinden.

SELECT * FROM inventory a JOIN my_table b ON a.key = b.key LIMIT 10;

Verschlüsselung für AWS verwaltete Tabellen-Buckets

Standardmäßig werden AWS verwaltete Tabellen-Buckets mit serverseitiger Verschlüsselung unter Verwendung von Amazon S3 S3-verwalteten Schlüsseln (SSE-S3) verschlüsselt. Nachdem Ihr AWS verwalteter Tabellen-Bucket erstellt wurde, können Sie die Standardverschlüsselungseinstellung des Buckets so einstellen, dass serverseitige Verschlüsselung mit AWS Key Management Service (AWS KMS) -Schlüsseln (SSE-KMS) verwendet wird. PutTableBucketEncryption

Bei der Erstellung Ihrer AWS verwalteten Tabellen können Sie wählen, ob Sie sie mit SSE-KMS verschlüsseln möchten. Wenn Sie SSE-KMS verwenden möchten, müssen Sie einen vom Kunden verwalteten KMS-Schlüssel in derselben Region wie Ihr verwalteter Tabellen-Bucket angeben. AWS Sie können den Verschlüsselungstyp für Ihre AWS verwalteten Tabellen nur während der Tabellenerstellung festlegen. Nachdem eine AWS verwaltete Tabelle erstellt wurde, können Sie ihre Verschlüsselungseinstellung nicht mehr ändern.

Wenn Sie möchten, dass der AWS verwaltete Tabellen-Bucket und die darin gespeicherten Tabellen denselben KMS-Schlüssel verwenden, stellen Sie sicher, dass Sie denselben KMS-Schlüssel verwenden, mit dem Sie Ihre Tabellen verschlüsselt haben, um Ihren Tabellen-Bucket nach seiner Erstellung zu verschlüsseln. Nachdem Sie die Standardverschlüsselungseinstellungen für Ihren Tabellen-Bucket geändert haben, sodass SSE-KMS verwendet wird, werden diese Verschlüsselungseinstellungen für alle future Tabellen verwendet, die im Bucket erstellt werden.