Einen Datenkatalog von einem anderen Konto aus registrieren - Amazon Athena

Einen Datenkatalog von einem anderen Konto aus registrieren

Sie können die kontoübergreifende AWS Glue-Katalogfunktion von Athena verwenden, um einen AWS Glue-Katalog von einem anderen Konto als Ihrem eigenen zu registrieren. Nachdem Sie die erforderlichen IAM-Berechtigungen für AWS Glue konfiguriert und den Katalog als Athena-DataCatalog-Ressource registriert haben, können Sie Athena verwenden, um kontoübergreifende Abfragen auszuführen. Weitere Informationen zur Konfiguration der erforderlichen Berechtigungen finden Sie unter Kontoübergreifender Zugriff auf AWS Glue-Datenkataloge konfigurieren.

Das folgende Verfahren zeigt Ihnen, wie Sie mithilfe von Athena ein AWS Glue Data Catalog in einem anderen Amazon-Web-Services-Konto als Ihrem eigenen als Datenquelle konfigurieren.

Registrieren von der Konsole

  1. Führen Sie die Schritte in Kontoübergreifender Zugriff auf AWS Glue-Datenkataloge konfigurieren aus, um sicherzustellen, dass Sie über Berechtigungen zum Abfragen des Datenkatalogs im anderen Konto verfügen.

  2. Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/.

  3. Wenn der Navigationsbereich in der Konsole nicht sichtbar ist, wählen Sie das Erweiterungsmenü auf der linken Seite.

    Wählen Sie das Erweiterungsmenü aus.
  4. Wählen Sie Datenquellen und Kataloge aus.

  5. Wählen Sie oben rechts Create data source (Datenquelle erstellen) aus.

  6. Wählen Sie auf der Seite Choose data source (Datenquelle auswählen) für Data sources (Datenquellen) die Option S3 – AWS Glue Data Catalog und dann Next (Weiter) aus.

  7. Wählen Sie auf der Seite Enter data source details (Details zur Datenquelle eingeben) im Abschnitt AWS Glue Data Catalog für Choose an AWS Glue Data Catalog (AWS Glue Data Catalog auswählen) die Option AWS Glue Data Catalog in another account (AWS Glue Data Catalog in einem anderen Konto) aus.

  8. Geben Sie für Data source details (Datenquellen-Details) die folgenden Informationen ein:

    • Data source name (Datenquellenname) – Geben Sie den Namen ein, den Sie in Ihren SQL-Abfragen verwenden möchten, um auf den Datenkatalog im anderen Konto zu verweisen.

    • Beschreibung – (Optional) Geben Sie eine Beschreibung des Datenkatalogs im anderen Konto ein.

    • Katalog-ID – Geben Sie die 12-stellige Amazon-Web-Services-Konto-ID des Kontos ein, zu dem der Datenkatalog gehört. Die Amazon-Web-Services-Konto-ID ist die Katalog-ID.

  9. (Optional) Geben Sie für Tags Schlüssel-Wert-Paare ein, die Sie mit der Datenquelle verknüpfen möchten. Weitere Informationen zu Tags (Markierungen) erhalten Sie unter Athena-Ressourcen markieren.

  10. Wählen Sie Weiter aus.

  11. Überprüfen Sie auf der Seite Review and create (Überprüfen und erstellen) die von Ihnen bereitgestellten Informationen, und wählen Sie dann Create data source (Datenquelle erstellen) aus. Die Seite Data source details (Datenquellen-Details) listet die Datenbanken und Tags für den von Ihnen registrierten Datenkatalog auf.

  12. Wählen Sie Datenquellen und Kataloge aus. Der von Ihnen registrierte Datenkatalog wird in der Spalte Data source name (Datenquellen-Name) aufgeführt.

  13. Um Informationen zum Datenkatalog anzuzeigen oder zu bearbeiten, wählen Sie den Katalog und dann Actions (Aktionen), Edit (Bearbeiten) aus.

  14. Um den neuen Datenkatalog zu löschen, wählen Sie den Katalog und dann Actions (Aktionen), Delete (Löschen) aus.

Registrieren mithilfe von API-Operationen

  1. Der folgende CreateDataCatalog-Anforderungstext registriert einen AWS Glue-Katalog für den kontoübergreifenden Zugriff:

    # Example CreateDataCatalog request to register a cross-account Glue catalog: { "Description": "Cross-account Glue catalog", "Name": "ownerCatalog", "Parameters": {"catalog-id" : "<catalogid>" # Owner's account ID }, "Type": "GLUE" }
  2. Der folgende Beispielcode verwendet einen Java-Client, um das DataCatalog-Objekt zu erstellen.

    # Sample code to create the DataCatalog through Java client CreateDataCatalogRequest request = new CreateDataCatalogRequest() .withName("ownerCatalog") .withType(DataCatalogType.GLUE) .withParameters(ImmutableMap.of("catalog-id", "<catalogid>")); athenaClient.createDataCatalog(request);

    Nach diesen Schritten sollte der Empfänger ownerCatalog sehen, wenn er die API-Operation ListDataCatalogs aufruft.

Registrieren mit AWS CLI

Verwenden Sie den folgenden CLI-Beispielbefehl, um einen und AWS Glue Data Catalog von einem anderen Konto aus zu registrieren

aws athena create-data-catalog \ --name cross_account_catalog \ --type GLUE \ --description "Cross Account Catalog" \ --parameters catalog-id=<catalogid>

Weitere Informationen finden Sie unter Abfrage von kontoübergreifenden AWS Glue Data Catalog mit Amazon Athena im AWS-Big-Data-Blog.