Konfigurieren eines Crawlers für die Verwendung von Lake-Formation-Anmeldeinformationen - AWS Glue

Konfigurieren eines Crawlers für die Verwendung von Lake-Formation-Anmeldeinformationen

Sie können einen Crawler für die Verwendung von AWS Lake Formation-Anmeldeinformationen für den Zugriff auf einen Amazon-S3-Datenspeicher oder eine Data-Catalog-Tabelle mit einem zugrunde liegenden Amazon-S3-Speicherort innerhalb desselben AWS-Konto oder eines anderen AWS-Konto konfigurieren. Sie können eine vorhandene Data-Catalog-Tabelle als Crawler-Ziel konfigurieren, wenn sich der Crawler und die Data-Catalog-Tabelle im selben Konto befinden. Derzeit ist nur ein einzelnes Katalogziel mit einer einzigen Katalogtabelle zulässig, wenn eine Datenkatalogtabelle als Ziel eines Crawlers verwendet wird.

Anmerkung

Wenn Sie eine Data-Catalog-Tabelle als Crawler-Ziel definieren, stellen Sie sicher, dass der zugrunde liegende Speicherort der Data-Catalog-Tabelle ein Amazon-S3-Speicherort ist. Crawler, die Lake-Formation-Anmeldeinformationen verwenden, unterstützen nur Data-Catalog-Ziele mit zugrunde liegenden Amazon-S3-Speicherorten.

Einrichtung erforderlich, wenn sich der Crawler und der registrierte Amazon-S3-Speicherort oder die Data-Catalog-Tabelle im selben Konto befinden (In-Account-Crawling)

Damit der Crawler mithilfe der Lake-Formation-Anmeldeinformationen auf einen Datenspeicher oder eine Data-Catalog-Tabelle zugreifen kann, müssen Sie den Datenspeicherort bei Lake Formation registrieren. Außerdem muss die IAM-Rolle des Crawlers über Berechtigungen zum Lesen der Daten von dem Ziel verfügen, an dem der Amazon-S3-Bucket registriert ist.

Sie können die folgenden Konfigurationsschritte mit der AWS Management Console oder mit der AWS Command Line Interface (AWS CLI) abschließen.

AWS Management Console
  1. Bevor Sie einen Crawler für den Zugriff auf die Crawler-Quelle konfigurieren, registrieren Sie den Datenspeicherort des Datenspeichers oder des Data Catalog bei Lake Formation. In der Lake-Formation-Konsole (https://console.aws.amazon.com/lakeformation/) registrieren Sie einen Amazon-S3-Speicherorts als Stammspeicherort Ihres Data Lake im AWS-Konto, in dem der Crawler definiert ist. Weitere Informationen finden Sie unter Registrieren eines Amazon-S3-Speicherorts.

  2. Gewähren Sie der IAM-Rolle Data location (Datenspeicherort)-Berechtigungen, die für die Crawler-Ausführung verwendet wird, damit der Crawler die Daten vom Ziel in Lake Formation lesen kann. Weitere Informationen finden Sie unter Erteilen von Datenspeicherortberechtigungen (im selben Konto).

  3. Gewähren Sie der Crawler-Rolle Zugriffsberechtigungen (Create) auf die Datenbank, die als Ausgabedatenbank angegeben ist. Weitere Informationen finden Sie unter Erteilen von Datenbankberechtigungen mit der Lake-Formation-Konsole und der benannten Ressourcenmethode.

  4. Erstellen Sie in der IAM-Konsole (https://console.aws.amazon.com/iam/) eine IAM-Rolle für den Crawler. Fügen Sie die lakeformation:GetDataAccess-Richtlinie zur Rolle hinzu.

  5. Wählen Sie in der AWS Glue-Konsole (https://console.aws.amazon.com/glue/) bei der Konfiguration des Crawlers die Option Verwenden der Lake-Formation-Anmeldeinformationen für das Crawling der Amazon-S3-Datenquelle.

    Anmerkung

    Das Feld accountId ist optional für das In-Account-Crawling.

AWS CLI
aws glue --profile demo create-crawler --debug --cli-input-json '{ "Name": "prod-test-crawler", "Role": "arn:aws:iam::111122223333:role/service-role/AWSGlueServiceRole-prod-test-run-role", "DatabaseName": "prod-run-db", "Description": "", "Targets": { "S3Targets":[ { "Path": "s3://amzn-s3-demo-bucket" } ] }, "SchemaChangePolicy": { "UpdateBehavior": "LOG", "DeleteBehavior": "LOG" }, "RecrawlPolicy": { "RecrawlBehavior": "CRAWL_EVERYTHING" }, "LineageConfiguration": { "CrawlerLineageSettings": "DISABLE" }, "LakeFormationConfiguration": { "UseLakeFormationCredentials": true, "AccountId": "111122223333" }, "Configuration": { "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }, "Tables": {"AddOrUpdateBehavior": "MergeNewColumns" } }, "Grouping": { "TableGroupingPolicy": "CombineCompatibleSchemas" } }, "CrawlerSecurityConfiguration": "", "Tags": { "KeyName": "" } }'