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.
Integration von Amazon S3 S3-Tabellen mit AWS Analysediensten
In diesem Thema werden die Voraussetzungen und Verfahren behandelt, die für die Integration Ihrer Amazon S3 S3-Tabellen-Buckets mit AWS Analysediensten erforderlich sind. Einen Überblick über die Funktionsweise der Integration finden Sie unterÜberblick über die Integration von S3 Tables.
Anmerkung
Bei dieser Integration werden die AWS Lake Formation Dienste AWS Glue und verwendet, was zu Anforderungen- und AWS Glue Speicherkosten führen kann. Weitere Informationen finden Sie unter AWS Glue – Preise
Für die Ausführung von Abfragen in Ihren S3 Tables fallen zusätzliche Preise an. Weitere Informationen finden Sie in den Preisinformationen für die von Ihnen verwendete Abfrage-Engine.
Voraussetzungen für die Integration
Die folgenden Voraussetzungen sind erforderlich, um Tabellen-Buckets in AWS Analytics-Services zu integrieren:
Fügen Sie die AWSLakeFormationDataAdmin AWS verwaltete Richtlinie Ihrem AWS Identity and Access Management (IAM-) Principal hinzu, um diesen Benutzer zum Data Lake-Administrator zu machen. Weitere Informationen zum Erstellen eines Data Lake-Administrators finden Sie unter Erstellen eines Data Lake-Administrators im AWS Lake Formation Entwicklerhandbuch.
-
Sie fügen Ihrem IAM-Prinzipal Berechtigungen für die Operation
glue:PassConnection
hinzu. -
Fügen Sie Ihrem IAM-Prinzipal Berechtigungen für die
lakeformation:RegisterResourceWithPrivilegedAccess
Operationenlakeformation:RegisterResource
und hinzu. Aktualisieren Sie auf die neueste Version von AWS Command Line Interface (AWS CLI).
Wichtig
Achten Sie beim Erstellen von Tabellen darauf, dass Sie in Ihren Tabellennamen und Tabellendefinitionen ausschließlich Kleinbuchstaben verwenden. Stellen Sie beispielsweise sicher, dass Ihre Spaltennamen ausschließlich in Kleinbuchstaben geschrieben sind. Wenn Ihr Tabellenname oder Ihre Tabellendefinition Großbuchstaben enthält, wird die Tabelle von AWS Lake Formation oder der AWS Glue Data Catalog nicht unterstützt. In diesem Fall ist Ihre Tabelle für AWS Analysedienste wie Amazon Athena nicht sichtbar, auch wenn Ihre Tabellen-Buckets in AWS Analysedienste integriert sind.
Wenn Ihre Tabellendefinition Großbuchstaben enthält, erhalten Sie beim Ausführen einer SELECT
Abfrage in Athena die folgende Fehlermeldung: „GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model. ValidationException: Nicht unterstützte Verbundressource
— Ungültige Tabellen- oder Spaltennamen.“
Integrieren von Tabellen-Buckets mit Analysediensten AWS
Diese Integration muss einmal pro AWS Region durchgeführt werden.
Wichtig
Die AWS Analytics-Services-Integration verwendet jetzt die WithPrivilegedAccess
Option im registerResource
Lake Formation Formation-API-Vorgang, um S3-Tabellen-Buckets zu registrieren. Die Integration erstellt jetzt auch den s3tablescatalog
Katalog in der, AWS Glue Data Catalog indem die AllowFullTableExternalDataAccess
Option im CreateCatalog
AWS Glue API-Vorgang verwendet wird.
Wenn Sie die Integration mit der Vorschauversion einrichten, können Sie Ihre aktuelle Integration weiterhin verwenden. Der aktualisierte Integrationsprozess bietet jedoch Leistungsverbesserungen, weshalb wir eine Migration empfehlen. Informationen zur Migration zur aktualisierten Integration finden Sie unterMigration zum aktualisierten Integrationsprozess.
Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/
. Wählen Sie im linken Navigationsbereich Tabellen-Buckets aus.
Wählen Sie Tabellen-Bucket erstellen aus.
Anschließend wird die Seite Tabellen-Bucket erstellen geöffnet.
Geben Sie einen Table-Bucket-Namen ein und stellen Sie sicher, dass das Kontrollkästchen Integration aktivieren aktiviert ist.
Wählen Sie Tabellen-Bucket erstellen aus. Amazon S3 versucht daraufhin, Ihre Tabellen-Buckets automatisch in diese Region zu integrieren.
Wenn Sie Tabellen-Buckets zum ersten Mal in einer beliebigen Region integrieren, erstellt Amazon S3 in Ihrem Namen eine neue IAM-Servicerolle. Diese Rolle ermöglicht Lake Formation den Zugriff auf alle Tabellen-Buckets in Ihrem Konto und Verbundzugriff auf Ihre Tabellen in AWS Glue Data Catalog.
Um Tabellen-Buckets mit dem zu integrieren AWS CLI
Die folgenden Schritte zeigen, wie Sie mit dem AWS CLI Tabellen-Buckets integrieren können. Um diese Schritte zu verwenden, ersetzen Sie sie
durch Ihre eigenen Informationen.user input placeholders
Erstellen Sie einen Tabellen-Bucket.
aws s3tables create-table-bucket \ --region
us-east-1
\ --nameamzn-s3-demo-table-bucket
-
Erstellen Sie eine IAM-Servicerolle, die Lake Formation Zugriff auf Ihre Tabellenressourcen erteilt.
-
Erstellen Sie eine Datei mit dem Namen
Role-Trust-Policy.json
, die die folgende Vertrauensrichtlinie enthält:Erstellen Sie die IAM-Dienstrolle mithilfe des folgenden Befehls:
aws iam create-role \ --role-name
S3TablesRoleForLakeFormation
\ --assume-role-policy-document file://Role-Trust-Policy.json
-
Erstellen Sie eine Datei mit dem Namen
LF-GluePolicy.json
, die die folgende Richtlinie enthält:Hängen Sie die Richtlinie mit dem folgenden Befehl an die Rolle an:
aws iam put-role-policy \ --role-name
S3TablesRoleForLakeFormation
\ --policy-name LakeFormationDataAccessPermissionsForS3TableBucket \ --policy-document file://LF-GluePolicy.json
-
-
Erstellen Sie eine Datei mit dem Namen
input.json
, die Folgendes enthält:{ "ResourceArn": "arn:aws:s3tables:
us-east-1
:111122223333
:bucket/*", "WithFederation": true, "RoleArn": "arn:aws:iam::111122223333
:role/S3TablesRoleForLakeFormation
" }Registrieren Sie Tabellen-Buckets mit dem folgenden Befehl bei Lake Formation:
aws lakeformation register-resource \ --region
us-east-1
\ --with-privileged-access \ --cli-input-json file://input.json
-
Erstellen Sie eine Datei mit dem Namen
catalog.json
, die den folgenden Katalog enthält:{ "Name": "s3tablescatalog", "CatalogInput": { "FederatedCatalog": { "Identifier": "arn:aws:s3tables:
us-east-1
:111122223333
:bucket/*", "ConnectionName": "aws:s3tables" }, "CreateDatabaseDefaultPermissions":[], "CreateTableDefaultPermissions":[], "AllowFullTableExternalDataAccess": "True" } }Erstellen Sie den
s3tablescatalog
Katalog mit dem folgenden Befehl. Beim Erstellen dieses Katalogs werden Objekte angezeigt, die AWS Glue Data Catalog Tabellen-Buckets, Namespaces und Tabellen entsprechen.aws glue create-catalog \ --region
us-east-1
\ --cli-input-json file://catalog.json
Vergewissern Sie sich, dass der
s3tablescatalog
Katalog hinzugefügt wurde, AWS Glue indem Sie den folgenden Befehl verwenden:aws glue get-catalog --catalog-id s3tablescatalog
Der Integrationsprozess für AWS Analytics-Services wurde aktualisiert. Wenn Sie die Integration mit der Vorschauversion eingerichtet haben, können Sie Ihre aktuelle Integration weiterhin verwenden. Der aktualisierte Integrationsprozess bietet jedoch Leistungsverbesserungen. Wir empfehlen daher, die Migration mithilfe der folgenden Schritte durchzuführen. Weitere Informationen zum Migrations- oder Integrationsprozess finden Sie unter Erstellen eines Amazon S3 S3-Tables-Katalogs AWS Glue Data Catalog im AWS Lake Formation Developer Guide.
-
Öffnen Sie die AWS Lake Formation Konsole unter https://console.aws.amazon.com/lakeformation/
und melden Sie sich als Data Lake-Administrator an. Weitere Informationen zum Erstellen eines Data Lake-Administrators finden Sie unter Erstellen eines Data Lake-Administrators im AWS Lake Formation Entwicklerhandbuch. -
Löschen Sie Ihren
s3tablescatalog
Katalog, indem Sie wie folgt vorgehen:-
Wählen Sie im linken Navigationsbereich Kataloge aus.
-
Wählen Sie in der Katalogliste das Optionsfeld neben dem
s3tablescatalog
Katalog aus. Wählen Sie im Menü Actions die Option Delete.
-
-
Gehen Sie wie folgt vor, um die Registrierung des Datenspeicherorts für den
s3tablescatalog
Katalog aufzuheben:-
Gehen Sie im linken Navigationsbereich zum Abschnitt Administration und wählen Sie Data Lake-Standorte aus.
-
Wählen Sie das Optionsfeld neben dem
s3tablescatalog
Data Lake-Speicherort aus,s3://tables:
z. B.region
:account-id
:bucket/* -
Wählen Sie im Menü Aktionen die Option Entfernen aus.
-
Wählen Sie im daraufhin angezeigten Bestätigungsdialogfeld die Option Entfernen aus.
-
-
Nachdem Sie Ihren
s3tablescatalog
Katalog und den Data Lake-Speicherort gelöscht haben, können Sie die Schritte zur Integration Ihrer Table-Buckets in AWS Analytics-Services mithilfe des aktualisierten Integrationsprozesses ausführen.
Anmerkung
Wenn Sie mit SSE-KMS-verschlüsselten Tabellen in integrierten AWS Analysediensten arbeiten möchten, benötigt die Rolle, die Sie verwenden, die Berechtigung, Ihren AWS KMS Schlüssel für Verschlüsselungsvorgänge zu verwenden. Weitere Informationen finden Sie unter Erteilen von Berechtigungen für IAM-Prinzipale, mit verschlüsselten Tabellen in integrierten AWS Analysediensten zu arbeiten.
Nach der Integration erhält Ihr IAM-Prinzipal Lake Formation Formation-Berechtigungen für den Zugriff auf Ihre Tabellen. Wenn Sie anderen IAM-Prinzipalen den Zugriff auf Tabellen ermöglichen möchten, müssen Sie diesen Prinzipalen Lake Formation Formation-Berechtigungen für Ihre Tabellen gewähren. Weitere Informationen finden Sie unter Verwaltung des Zugriffs auf eine Tabelle oder Datenbank mit Lake Formation.