

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.

# Erste Schritte mit Amazon DataZone
<a name="getting-started"></a>

Die Informationen in diesem Abschnitt helfen Ihnen bei den ersten Schritten mit Amazon DataZone. Wenn Sie neu bei Amazon sind DataZone, sollten Sie sich zunächst mit den Konzepten und der Terminologie in vertraut machen[DataZone Amazon-Terminologie und Konzepte](datazone-concepts.md).

Bevor Sie mit den Schritten in einem dieser Schnellstart-Workflows beginnen, müssen Sie die im Abschnitt [Einrichtung](setting-up.md) dieses Handbuchs beschriebenen Verfahren abschließen. Wenn Sie ein brandneues AWS Konto verwenden, müssen Sie die für [die Nutzung der Amazon DataZone Management Console erforderlichen Berechtigungen konfigurieren](create-iam-roles.md). Wenn Sie ein AWS Konto verwenden, das bereits über AWS Glue Data Catalog-Objekte verfügt, müssen Sie auch [Lake Formation Formation-Berechtigungen für Amazon konfigurieren DataZone](lake-formation-permissions-for-datazone.md). 

In diesem Abschnitt „Erste Schritte“ werden Sie durch die folgenden DataZone Amazon-Schnellstart-Workflows geführt:

**Topics**
+ [DataZone Amazon-Schnellstart mit AWS Glue-Daten](quickstart-glue.md)
+ [DataZone Amazon-Schnellstart mit Amazon Redshift-Daten](quickstart-rs.md)
+ [DataZone Amazon-Schnellstart mit Beispielskripten](quickstart-apis.md)

# DataZone Amazon-Schnellstart mit AWS Glue-Daten
<a name="quickstart-glue"></a>

Führen Sie die folgenden Schnellstartschritte aus, um die vollständigen Workflows für Datenproduzenten und Datenverbraucher in Amazon DataZone anhand von AWS Glue-Beispieldaten durchzugehen. 

**Topics**
+ [Schritt 1 — DataZone Amazon-Domain und Datenportal erstellen](#create-domain-gs-glue)
+ [Schritt 2 — Erstellen Sie das Veröffentlichungsprojekt](#create-publishing-project-gs-glue)
+ [Schritt 3 — Erstellen Sie die Umgebung](#create-environment-gs-glue)
+ [Schritt 4: Daten für die Veröffentlichung erstellen](#produce-data-for-publishing-gs-glue)
+ [Schritt 5 — Metadaten aus AWS Glue sammeln](#gather-metadata-from-glue-gs-glue)
+ [Schritt 6 — Kuratieren und veröffentlichen Sie das Datenobjekt](#curate-data-asset-gs-glue)
+ [Schritt 7 — Erstellen Sie das Projekt für die Datenanalyse](#create-project-for-data-analysis-gs-glue)
+ [Schritt 8 — Erstellen Sie eine Umgebung für die Datenanalyse](#create-environment-gs2-glue)
+ [Schritt 9: Durchsuchen Sie den Datenkatalog und abonnieren Sie Daten](#search-catalog-subscribe-gs-glue)
+ [Schritt 10 — Genehmigen Sie die Abonnementanfrage](#approve-subscription-request-gs-glue)
+ [Schritt 11 — Erstellen Sie eine Abfrage und analysieren Sie Daten in Amazon Athena](#analyze-data-gs-glue)

## Schritt 1 — DataZone Amazon-Domain und Datenportal erstellen
<a name="create-domain-gs-glue"></a>

In diesem Abschnitt werden die Schritte zum Erstellen einer DataZone Amazon-Domain und eines Datenportals für diesen Workflow beschrieben.

Gehen Sie wie folgt vor, um eine DataZone Amazon-Domain zu erstellen. Weitere Informationen zu DataZone Amazon-Domains finden Sie unter[DataZone Amazon-Terminologie und Konzepte](datazone-concepts.md). 

1. **Navigieren Sie unter [https://console.aws.amazon.com/datazone](https://console.aws.amazon.com/datazone) zur DataZone Amazon-Konsole, melden Sie sich an und wählen Sie dann Create domain aus.** 
**Anmerkung**  
Wenn Sie eine bestehende DataZone Amazon-Domain für diesen Workflow verwenden möchten, wählen Sie **Domains anzeigen**, wählen Sie dann die Domain aus, die Sie verwenden möchten, und fahren Sie dann mit Schritt 2 der Erstellung eines Veröffentlichungsprojekts fort.

1. Geben Sie auf der Seite „**Domain erstellen**“ Werte für die folgenden Felder ein: 
   + **Name** — geben Sie einen Namen für Ihre Domain an. Für die Zwecke dieses Workflows können Sie diese Domain **Marketing** nennen.
   + **Beschreibung** — Geben Sie eine optionale Domainbeschreibung an.
   + **Datenverschlüsselung** — Ihre Daten werden standardmäßig mit einem Schlüssel verschlüsselt, der Ihnen AWS gehört und der für Sie verwaltet wird. Für diesen Anwendungsfall können Sie die Standardeinstellungen für die Datenverschlüsselung beibehalten.

     Weitere Informationen zur Verwendung von vom Kunden verwalteten Schlüsseln finden Sie unter[Datenverschlüsselung im Ruhezustand für Amazon DataZone](encryption-rest-datazone.md). Wenn Sie Ihren eigenen KMS-Schlüssel für die Datenverschlüsselung verwenden, müssen Sie die folgende Anweisung in Ihre Standardeinstellung aufnehmen[AmazonDataZoneDomainExecutionRole](AmazonDataZoneDomainExecutionRole.md).

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "Statement1",
                 "Effect": "Allow",
                 "Action": [
                     "kms:Decrypt",
                     "kms:DescribeKey",
                     "kms:GenerateDataKey"
                 ],
                 "Resource": [
                     "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
                 ]
             }
         ]
     }
     ```

------
   + **Dienstzugriff** — lassen Sie die standardmäßig ausgewählte Option **Standardrolle verwenden** unverändert.
**Anmerkung**  
Wenn Sie eine bestehende DataZone Amazon-Domain für diesen Workflow verwenden, können Sie die Option **Bestehende Servicerolle verwenden** und dann eine bestehende Rolle aus dem Drop-down-Menü auswählen.
   + Wählen Sie unter **Schnelleinrichtung** die Option **Dieses Konto für Datenverbrauch und -veröffentlichung einrichten** aus. Diese Option aktiviert die integrierten DataZone Amazon-Blueprints von **Data Lake** und **Data Warehouse** und konfiguriert die erforderlichen Berechtigungen, Ressourcen, ein Standardprojekt und standardmäßige Data Lake- und Data Warehouse-Umgebungsprofile für dieses Konto. Weitere Informationen zu Amazon DataZone Blueprints finden Sie unter[DataZone Amazon-Terminologie und Konzepte](datazone-concepts.md).
   + Lassen Sie die übrigen Felder unter den **Berechtigungsdetails** unverändert. 
**Anmerkung**  
Wenn Sie über eine bestehende DataZone Amazon-Domain verfügen, können Sie die Option **Eine bestehende Servicerolle verwenden** und dann eine vorhandene Rolle aus dem Drop-down-Menü für die **Rollen Glue Manage Access**, **Redshift Manage Access** und **Provisioning** auswählen. 
   + Lassen Sie die Felder unter **Tags** unverändert.
   + Wählen Sie **Domain erstellen** aus.

1. Sobald die Domain erfolgreich erstellt wurde, wählen Sie diese Domain aus und notieren Sie sich auf der Übersichtsseite der Domain die **Datenportal-URL** für diese Domain. Sie können diese URL verwenden, um auf Ihr DataZone Amazon-Datenportal zuzugreifen, um die restlichen Schritte in diesem Workflow abzuschließen. Sie können auch zum Datenportal navigieren, indem Sie **Datenportal öffnen** wählen.

**Anmerkung**  
In der aktuellen Version von Amazon DataZone kann die für das Datenportal generierte URL nach der Erstellung der Domain nicht mehr geändert werden.

Die Erstellung der Domain kann mehrere Minuten dauern. Warten Sie, bis die Domain den Status **Verfügbar** hat, bevor Sie mit dem nächsten Schritt fortfahren.

## Schritt 2 — Erstellen Sie das Veröffentlichungsprojekt
<a name="create-publishing-project-gs-glue"></a>

In diesem Abschnitt werden die Schritte beschrieben, die erforderlich sind, um das Veröffentlichungsprojekt für diesen Workflow zu erstellen.

1. Sobald Sie Schritt 1 oben abgeschlossen und eine Domain erstellt haben, sehen Sie die Meldung **Willkommen bei Amazon DataZone\$1** Fenster. Wählen Sie in diesem Fenster **Projekt erstellen**.

1. Geben Sie den Projektnamen für diesen Workflow an. Sie können ihm einen Namen geben **SalesDataPublishingProject**, dann die restlichen Felder unverändert lassen und dann **Erstellen** wählen.

## Schritt 3 — Erstellen Sie die Umgebung
<a name="create-environment-gs-glue"></a>

In diesem Abschnitt werden die Schritte beschrieben, die zum Erstellen einer Umgebung für diesen Workflow erforderlich sind.

1. Sobald Sie Schritt 2 oben abgeschlossen und Ihr Projekt erstellt haben, wird das Fenster **Ihr Projekt ist einsatzbereit** angezeigt. Wählen Sie in diesem Fenster die Option **Umgebung erstellen**.

1. Geben Sie auf der Seite **Umgebung erstellen** Folgendes an und wählen Sie dann **Umgebung erstellen** aus.

1. Geben Sie Werte für Folgendes an:
   + **Name** — geben Sie den Namen für die Umgebung an. Für diese exemplarische Vorgehensweise können Sie ihn `Default data lake environment` aufrufen.
   + **Beschreibung** — Geben Sie eine Beschreibung für die Umgebung an.
   + **Umgebungsprofil** — wählen Sie das **DataLakeProfile**Umgebungsprofil aus. Auf diese Weise können Sie Amazon DataZone in diesem Workflow verwenden, um mit Daten in Amazon S3, AWS Glue Catalog und Amazon Athena zu arbeiten.
   + Lassen Sie für diese exemplarische Vorgehensweise die restlichen Felder unverändert.

1. Wählen Sie **Create environment (Umgebung erstellen)** aus.

## Schritt 4: Daten für die Veröffentlichung erstellen
<a name="produce-data-for-publishing-gs-glue"></a>

In diesem Abschnitt werden die Schritte beschrieben, die erforderlich sind, um Daten für die Veröffentlichung in diesem Workflow zu erstellen.

1. Nachdem Sie Schritt 3 oben abgeschlossen haben, wählen Sie in Ihrem `SalesDataPublishingProject` Projekt im rechten Bereich unter **Analytics-Tools** **Amazon Athena** aus. Dadurch wird der Athena-Abfrageeditor geöffnet, der die Anmeldeinformationen Ihres Projekts zur Authentifizierung verwendet. Vergewissern Sie sich, dass Ihre Veröffentlichungsumgebung in der Dropdownliste ** DataZone Amazon-Umgebung** und die `<environment_name>%_pub_db` Datenbank wie im Abfrage-Editor ausgewählt ist.

1. In dieser exemplarischen Vorgehensweise verwenden Sie das CTAS-Abfrageskript (**Create Table as Select**), um eine neue Tabelle zu erstellen, die Sie auf Amazon veröffentlichen möchten. DataZone Führen Sie dieses CTAS-Skript in Ihrem Abfrage-Editor aus, um eine `mkt_sls_table` Tabelle zu erstellen, die Sie veröffentlichen und für die Suche und das Abonnement zur Verfügung stellen können. 

   ```
   CREATE TABLE mkt_sls_table AS
   SELECT 146776932 AS ord_num, 23 AS sales_qty_sld, 23.4 AS wholesale_cost, 45.0 as lst_pr, 43.0 as sell_pr, 2.0 as disnt, 12 as ship_mode,13 as warehouse_id, 23 as item_id, 34 as ctlg_page, 232 as ship_cust_id, 4556 as bill_cust_id
   UNION ALL SELECT 46776931, 24, 24.4, 46, 44, 1, 14, 15, 24, 35, 222, 4551
   UNION ALL SELECT 46777394, 42, 43.4, 60, 50, 10, 30, 20, 27, 43, 241, 4565
   UNION ALL SELECT 46777831, 33, 40.4, 51, 46, 15, 16, 26, 33, 40, 234, 4563
   UNION ALL SELECT 46779160, 29, 26.4, 50, 61, 8, 31, 15, 36, 40, 242, 4562
   UNION ALL SELECT 46778595, 43, 28.4, 49, 47, 7, 28, 22, 27, 43, 224, 4555
   UNION ALL SELECT 46779482, 34, 33.4, 64, 44, 10, 17, 27, 43, 52, 222, 4556
   UNION ALL SELECT 46779650, 39, 37.4, 51, 62, 13, 31, 25, 31, 52, 224, 4551
   UNION ALL SELECT 46780524, 33, 40.4, 60, 53, 18, 32, 31, 31, 39, 232, 4563
   UNION ALL SELECT 46780634, 39, 35.4, 46, 44, 16, 33, 19, 31, 52, 242, 4557
   UNION ALL SELECT 46781887, 24, 30.4, 54, 62, 13, 18, 29, 24, 52, 223, 4561
   ```

   Stellen Sie sicher, dass die Tabelle **mkt\$1sls\$1table** erfolgreich im Abschnitt **Tabellen und Ansichten auf der linken Seite** erstellt wurde. Jetzt haben Sie ein Datenobjekt, das im DataZone Amazon-Katalog veröffentlicht werden kann.

## Schritt 5 — Metadaten aus AWS Glue sammeln
<a name="gather-metadata-from-glue-gs-glue"></a>

In diesem Abschnitt wird der Schritt des Sammelns von Metadaten aus AWS Glue für diesen Workflow beschrieben.

1. Nachdem Sie Schritt 4 oben abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das `SalesDataPublishingProject` Projekt aus, wählen Sie dann die Registerkarte **Daten** und dann im linken Bereich **Datenquellen** aus.

1. Wählen Sie die Quelle aus, die im Rahmen der Erstellung der Umgebung erstellt wurde. 

1. Wählen Sie neben dem Dropdownmenü „**Aktion**“ die Option „**Ausführen**“ und klicken Sie dann auf die Schaltfläche „Aktualisieren“. Sobald der Datenquellenlauf abgeschlossen ist, werden die Assets dem DataZone Amazon-Inventar hinzugefügt.

## Schritt 6 — Kuratieren und veröffentlichen Sie das Datenobjekt
<a name="curate-data-asset-gs-glue"></a>

In diesem Abschnitt werden die Schritte zum Kuratieren und Veröffentlichen des Datenbestands in diesem Workflow beschrieben.

1. Nachdem Sie Schritt 5 oben abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das `SalesDataPublishingProject` Projekt aus, das Sie im vorherigen Schritt erstellt haben, wählen Sie die Registerkarte **Daten**, wählen Sie im linken Bereich **Inventardaten** aus und suchen Sie die `mkt_sls_table` Tabelle.

1. Öffnen Sie die Seite mit den `mkt_sls_table` Asset-Details, um die automatisch generierten Unternehmensnamen zu sehen. Wählen Sie das Symbol **Automatisch generierte Metadaten**, um die automatisch generierten Namen für Assets und Spalten anzuzeigen. Sie können entweder jeden Namen einzeln akzeptieren oder ablehnen oder **Alle akzeptieren** wählen, um die generierten Namen zu übernehmen. Optional können Sie Ihrem Asset auch das verfügbare Metadatenformular hinzufügen und Glossarbegriffe auswählen, um Ihre Daten zu klassifizieren.

1. Wählen Sie **Asset veröffentlichen, um das Asset** zu veröffentlichen. `mkt_sls_table`

## Schritt 7 — Erstellen Sie das Projekt für die Datenanalyse
<a name="create-project-for-data-analysis-gs-glue"></a>

In diesem Abschnitt werden die Schritte zur Erstellung des Projekts für die Datenanalyse beschrieben. Dies ist der Beginn der Datenverbraucherschritte dieses Workflows.

1. Nachdem Sie Schritt 6 oben abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal im Drop-down-Menü **Projekt die Option **Projekt** erstellen** aus.

1. Geben Sie auf der Seite **Projekt erstellen** den Projektnamen an. Sie können beispielsweise für diesen Workflow einen Namen angeben **MarketingDataAnalysisProject**, dann die restlichen Felder unverändert lassen und dann **Erstellen** wählen.

## Schritt 8 — Erstellen Sie eine Umgebung für die Datenanalyse
<a name="create-environment-gs2-glue"></a>

In diesem Abschnitt werden die Schritte zum Erstellen einer Umgebung für die Datenanalyse beschrieben.

1. Nachdem Sie Schritt 7 oben abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das `MarketingDataAnalysisProject` Projekt aus, wählen Sie dann die Registerkarte **Umgebungen** und dann **Umgebung erstellen** aus.

1. Geben Sie auf der Seite **Umgebung erstellen** Folgendes an und wählen Sie dann **Umgebung erstellen** aus.
   + **Name** — geben Sie den Namen für die Umgebung an. Für diese exemplarische Vorgehensweise können Sie ihn `Default data lake environment` aufrufen.
   + **Beschreibung** — Geben Sie eine Beschreibung für die Umgebung an.
   + **Umgebungsprofil** — wählen Sie das integrierte **DataLakeProfile**Umgebungsprofil aus.
   + Lassen Sie für diese exemplarische Vorgehensweise die restlichen Felder unverändert.

## Schritt 9: Durchsuchen Sie den Datenkatalog und abonnieren Sie Daten
<a name="search-catalog-subscribe-gs-glue"></a>

In diesem Abschnitt werden die Schritte zum Durchsuchen des Datenkatalogs und zum Abonnieren von Daten beschrieben.

1. Nachdem Sie Schritt 8 oben abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das DataZone Amazon-Symbol und suchen Sie im DataZone **Amazon-Suchfeld** mithilfe von Schlüsselwörtern (z. B. „Katalog“ oder „Verkauf“) in der **Suchleiste** des Datenportals nach Datenbeständen. 

   Wenden Sie bei Bedarf Filter oder Sortierungen an. Sobald Sie das Asset mit den **Produktverkaufsdaten** gefunden haben, können Sie es auswählen, um die Detailseite des Assets zu öffnen.

1. Wählen Sie auf der Detailseite des Assets „**Katalog-Verkaufsdaten**“ die Option **Abonnieren** aus.

1. Wählen **Sie im Dialogfeld Abonnieren** Ihr **MarketingDataAnalysisProject**Verbraucherprojekt aus der Dropdownliste aus, geben Sie dann den Grund für Ihre Abonnementanfrage an und wählen Sie dann **Abonnieren** aus.

## Schritt 10 — Genehmigen Sie die Abonnementanfrage
<a name="approve-subscription-request-gs-glue"></a>

In diesem Abschnitt werden die Schritte zur Genehmigung der Abonnementanfrage beschrieben.

1. Nachdem Sie Schritt 9 oben abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das **SalesDataPublishingProject**Projekt aus, mit dem Sie Ihr Asset veröffentlicht haben.

1. Wählen Sie die Registerkarte **Daten**, dann **Veröffentlichte Daten** und dann **Eingehende Anfragen** aus.

1. Jetzt können Sie die Zeile für die neue Anfrage sehen, für die eine Genehmigung erforderlich ist. Wählen Sie **Anfrage anzeigen**. Geben Sie einen Grund für die Genehmigung an und wählen Sie **Genehmigen**.

## Schritt 11 — Erstellen Sie eine Abfrage und analysieren Sie Daten in Amazon Athena
<a name="analyze-data-gs-glue"></a>

Nachdem Sie ein Asset erfolgreich im DataZone Amazon-Katalog veröffentlicht und abonniert haben, können Sie es analysieren.

1. Wählen Sie im DataZone Amazon-Datenportal Ihr **MarketingDataAnalysisProject**Verbraucherprojekt aus und wählen Sie dann im rechten Bereich unter **Analytics-Tools** den Link **Daten abfragen** mit Amazon Athena aus. Dadurch wird der Amazon Athena Athena-Abfrage-Editor geöffnet, der die Anmeldeinformationen Ihres Projekts zur Authentifizierung verwendet. Wählen Sie die **MarketingDataAnalysisProject**Verbraucherumgebung aus der Dropdownliste **Amazon DataZone Environment** im Abfrage-Editor und wählen Sie dann Ihre Projekte `<environment_name>%sub_db` aus der Datenbank-Dropdown-Liste aus.

1. Sie können jetzt Abfragen für die abonnierte Tabelle ausführen. Sie können die Tabelle aus **Tabellen und Ansichten auswählen und** dann „**Vorschau**“ wählen, damit die SELECT-Anweisung auf dem Editor-Bildschirm angezeigt wird. Führen Sie die Abfrage aus, um die Ergebnisse zu sehen. 

# DataZone Amazon-Schnellstart mit Amazon Redshift-Daten
<a name="quickstart-rs"></a>

Führen Sie die folgenden Schnellstartschritte aus, um die vollständigen Workflows für Datenproduzenten und Datenverbraucher in Amazon anhand von Amazon DataZone Redshift Redshift-Beispieldaten durchzugehen. 

**Topics**
+ [Schritt 1 — DataZone Amazon-Domain und Datenportal erstellen](#create-domain-gs-rs)
+ [Schritt 2 — Erstellen Sie das Veröffentlichungsprojekt](#create-publishing-project-gs-rs)
+ [Schritt 3 — Erstellen Sie die Umgebung](#create-environment-gs-rs)
+ [Schritt 4 — Daten für die Veröffentlichung erstellen](#produce-data-for-publishing-gs-rs)
+ [Schritt 5 — Metadaten aus Amazon Redshift sammeln](#gather-metadata-from-glue-gs-rs)
+ [Schritt 6 — Kuratieren und veröffentlichen Sie das Datenobjekt](#curate-data-asset-gs-rs)
+ [Schritt 7 — Erstellen Sie das Projekt für die Datenanalyse](#create-project-for-data-analysis-gs-rs)
+ [Schritt 8 — Erstellen Sie eine Umgebung für die Datenanalyse](#create-environment-gs2-rs)
+ [Schritt 9: Durchsuchen Sie den Datenkatalog und abonnieren Sie Daten](#search-catalog-subscribe-gs-rs)
+ [Schritt 10 — Genehmigen Sie die Abonnementanfrage](#approve-subscription-request-gs-rs)
+ [Schritt 11 — Erstellen Sie eine Abfrage und analysieren Sie Daten in Amazon Redshift](#analyze-data-gs-rs)

## Schritt 1 — DataZone Amazon-Domain und Datenportal erstellen
<a name="create-domain-gs-rs"></a>

Gehen Sie wie folgt vor, um eine DataZone Amazon-Domain zu erstellen. Weitere Informationen zu DataZone Amazon-Domains finden Sie unter[DataZone Amazon-Terminologie und Konzepte](datazone-concepts.md). 

1. **Navigieren Sie unter [https://console.aws.amazon.com/datazone](https://console.aws.amazon.com/datazone) zur DataZone Amazon-Konsole, melden Sie sich an und wählen Sie dann Create domain aus.**
**Anmerkung**  
Wenn Sie eine bestehende DataZone Amazon-Domain für diesen Workflow verwenden möchten, wählen Sie Domains anzeigen, wählen Sie dann die Domain aus, die Sie verwenden möchten, und fahren Sie dann mit Schritt 2 der Erstellung eines Veröffentlichungsprojekts fort.

1. Geben Sie auf der Seite „**Domain erstellen**“ Werte für die folgenden Felder ein: 
   + **Name** — geben Sie einen Namen für Ihre Domain an. Für die Zwecke dieses Workflows können Sie diese Domain aufrufen`Marketing`.
   + **Beschreibung** — Geben Sie eine optionale Domänenbeschreibung an.
   + **Datenverschlüsselung** — Ihre Daten werden standardmäßig mit einem Schlüssel verschlüsselt, der Ihnen AWS gehört und der für Sie verwaltet wird. Für diese exemplarische Vorgehensweise können Sie die Standardeinstellungen für die Datenverschlüsselung beibehalten.

     Weitere Informationen zur Verwendung von vom Kunden verwalteten Schlüsseln finden Sie unter[Datenverschlüsselung im Ruhezustand für Amazon DataZone](encryption-rest-datazone.md). Wenn Sie Ihren eigenen KMS-Schlüssel für die Datenverschlüsselung verwenden, müssen Sie die folgende Anweisung in Ihre Standardeinstellung aufnehmen[AmazonDataZoneDomainExecutionRole](AmazonDataZoneDomainExecutionRole.md).

------
#### [ JSON ]

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Sid": "Statement1",
                 "Effect": "Allow",
                 "Action": [
                     "kms:Decrypt",
                     "kms:DescribeKey",
                     "kms:GenerateDataKey"
                 ],
                 "Resource": [
                     "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
                 ]
             }
         ]
     }
     ```

------
   + **Dienstzugriff** — Wählen Sie die Option **Benutzerdefinierte Servicerolle verwenden** und wählen Sie dann im Dropdownmenü die **AmazonDataZoneDomainExecutionRole**aus.
   + Wählen Sie unter **Schnelleinrichtung** die Option **Dieses Konto für Datenverbrauch und -veröffentlichung einrichten** aus. Diese Option aktiviert die integrierten DataZone Amazon-Blueprints von **Data Lake** und **Data Warehouse** und konfiguriert die erforderlichen Berechtigungen und Ressourcen, um die restlichen Schritte in diesem Workflow abzuschließen. Weitere Informationen zu Amazon DataZone Blueprints finden Sie unter[DataZone Amazon-Terminologie und Konzepte](datazone-concepts.md).
   + Lassen Sie die übrigen Felder unter „**Berechtigungsdetails**“ und „**Tags**“ unverändert und wählen Sie dann „**Domain erstellen**“.

1. Sobald die Domain erfolgreich erstellt wurde, wählen Sie diese Domain aus und notieren Sie sich auf der Übersichtsseite der Domain die **Datenportal-URL** für diese Domain. Sie können diese URL verwenden, um auf Ihr DataZone Amazon-Datenportal zuzugreifen, um die restlichen Schritte in diesem Workflow abzuschließen.

**Anmerkung**  
In der aktuellen Version von Amazon DataZone kann die für das Datenportal generierte URL nach der Erstellung der Domain nicht mehr geändert werden.

Die Erstellung der Domain kann mehrere Minuten dauern. Warten Sie, bis die Domain den Status **Verfügbar** hat, bevor Sie mit dem nächsten Schritt fortfahren.

## Schritt 2 — Erstellen Sie das Veröffentlichungsprojekt
<a name="create-publishing-project-gs-rs"></a>

Im folgenden Abschnitt werden die Schritte zum Erstellen des Veröffentlichungsprojekts in diesem Workflow beschrieben.

1. Sobald Sie Schritt 1 abgeschlossen haben, navigieren Sie mit der DataZone Datenportal-URL zum Amazon-Datenportal und melden Sie sich mit Ihren Single Sign-On- (SSO) - oder AWS IAM-Anmeldeinformationen an. 

1. **Wählen Sie „**Projekt erstellen**“, geben Sie den Projektnamen an, z. B. für diesen Workflow. Sie können ihm einen Namen geben **SalesDataPublishingProject**, die restlichen Felder unverändert lassen und dann „Erstellen“ wählen.**

## Schritt 3 — Erstellen Sie die Umgebung
<a name="create-environment-gs-rs"></a>

Im folgenden Abschnitt werden die Schritte zum Erstellen einer Umgebung in diesem Workflow beschrieben.

1. Nachdem Sie Schritt 2 abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das `SalesDataPublishingProject` Projekt aus, das Sie im vorherigen Schritt erstellt haben, wählen Sie dann die Registerkarte **Umgebungen** und dann **Umgebung erstellen** aus.

1. Geben Sie auf der Seite **Umgebung erstellen** Folgendes an und wählen Sie dann **Umgebung erstellen** aus.
   + **Name** — geben Sie den Namen für die Umgebung an. Für diese exemplarische Vorgehensweise können Sie ihn `Default data warehouse environment` aufrufen.
   + **Beschreibung** — Geben Sie eine Beschreibung für die Umgebung an.
   + **Umgebungsprofil** — wählen Sie das **DataWarehouseProfile**Umgebungsprofil aus.
   + Geben Sie den Namen Ihres Amazon Redshift Redshift-Clusters, den Datenbanknamen und den geheimen ARN für den Amazon Redshift Redshift-Cluster an, in dem Ihre Daten gespeichert sind. 
**Anmerkung**  
Stellen Sie sicher, dass Ihr Secret in AWS Secrets Manager die folgenden Tags (Schlüssel/Wert) enthält:  
Für Amazon Redshift Redshift-Cluster — datazone.rs.cluster: <cluster\$1name:database name>  
Für Amazon Redshift Serverless Workgroup — datazone.rs.workgroup: <workgroup\$1name:database\$1name>
AmazonDataZoneProject: <projectID> 
AmazonDataZoneDomain: <domainID>
Weitere Informationen finden Sie unter [Speichern von Datenbankanmeldedaten in AWS Secrets Manager](https://docs.aws.amazon.com//redshift/latest/mgmt/data-api-access.html#data-api-secrets).  
Der Datenbankbenutzer, den Sie im AWS Secrets Manager angeben, muss Superuser-Rechte haben.

## Schritt 4 — Daten für die Veröffentlichung erstellen
<a name="produce-data-for-publishing-gs-rs"></a>

Im folgenden Abschnitt werden die Schritte zur Erstellung von Daten für die Veröffentlichung in diesem Workflow beschrieben.

1. Nachdem Sie Schritt 3 abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das `SalesDataPublishingProject` Projekt aus und wählen Sie dann im rechten Bereich unter **Analytics-Tools** **Amazon Redshift** aus. Dadurch wird der Amazon Redshift Redshift-Abfrage-Editor geöffnet, der die Anmeldeinformationen Ihres Projekts zur Authentifizierung verwendet.

1. In dieser exemplarischen Vorgehensweise verwenden Sie das CTAS-Abfrageskript (**Create Table as Select**), um eine neue Tabelle zu erstellen, die Sie auf Amazon veröffentlichen möchten. DataZone Führen Sie dieses CTAS-Skript in Ihrem Abfrage-Editor aus, um eine `mkt_sls_table` Tabelle zu erstellen, die Sie veröffentlichen und für die Suche und das Abonnement zur Verfügung stellen können. 

   ```
   CREATE TABLE mkt_sls_table AS
   SELECT 146776932 AS ord_num, 23 AS sales_qty_sld, 23.4 AS wholesale_cost, 45.0 as lst_pr, 43.0 as sell_pr, 2.0 as disnt, 12 as ship_mode,13 as warehouse_id, 23 as item_id, 34 as ctlg_page, 232 as ship_cust_id, 4556 as bill_cust_id
   UNION ALL SELECT 46776931, 24, 24.4, 46, 44, 1, 14, 15, 24, 35, 222, 4551
   UNION ALL SELECT 46777394, 42, 43.4, 60, 50, 10, 30, 20, 27, 43, 241, 4565
   UNION ALL SELECT 46777831, 33, 40.4, 51, 46, 15, 16, 26, 33, 40, 234, 4563
   UNION ALL SELECT 46779160, 29, 26.4, 50, 61, 8, 31, 15, 36, 40, 242, 4562
   UNION ALL SELECT 46778595, 43, 28.4, 49, 47, 7, 28, 22, 27, 43, 224, 4555
   UNION ALL SELECT 46779482, 34, 33.4, 64, 44, 10, 17, 27, 43, 52, 222, 4556
   UNION ALL SELECT 46779650, 39, 37.4, 51, 62, 13, 31, 25, 31, 52, 224, 4551
   UNION ALL SELECT 46780524, 33, 40.4, 60, 53, 18, 32, 31, 31, 39, 232, 4563
   UNION ALL SELECT 46780634, 39, 35.4, 46, 44, 16, 33, 19, 31, 52, 242, 4557
   UNION ALL SELECT 46781887, 24, 30.4, 54, 62, 13, 18, 29, 24, 52, 223, 4561
   ```

   Stellen Sie sicher, dass die Tabelle **mkt\$1sls\$1table** erfolgreich erstellt wurde. Jetzt haben Sie ein Datenobjekt, das im DataZone Amazon-Katalog veröffentlicht werden kann.

## Schritt 5 — Metadaten aus Amazon Redshift sammeln
<a name="gather-metadata-from-glue-gs-rs"></a>

Im folgenden Abschnitt werden die Schritte zum Sammeln von Metadaten aus Amazon Redshift beschrieben.

1. Nachdem Sie Schritt 4 abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das `SalesDataPublishingProject` Projekt, dann die Registerkarte **Daten** und dann **Datenquellen** aus.

1. Wählen Sie die Quelle aus, die im Rahmen der Erstellung der Umgebung erstellt wurde. 

1. Wählen Sie neben dem Dropdownmenü „**Aktion**“ die Option „**Ausführen**“ und klicken Sie dann auf die Schaltfläche „Aktualisieren“. Sobald der Datenquellenlauf abgeschlossen ist, werden die Assets dem DataZone Amazon-Inventar hinzugefügt.

## Schritt 6 — Kuratieren und veröffentlichen Sie das Datenobjekt
<a name="curate-data-asset-gs-rs"></a>

Im folgenden Abschnitt werden die Schritte zum Kuratieren und Veröffentlichen des Datenbestands in diesem Workflow beschrieben.

1. Nachdem Sie Schritt 5 abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das `SalesDataPublishingProject` Projekt aus, wählen Sie dann die Registerkarte **Daten**, wählen Sie **Inventardaten** aus und suchen Sie die `mkt_sls_table` Tabelle.

1. Öffnen Sie die Seite mit den `mkt_sls_table` Asset-Details, um die automatisch generierten Unternehmensnamen zu sehen. Wählen Sie das Symbol **Automatisch generierte Metadaten**, um die automatisch generierten Namen für Assets und Spalten anzuzeigen. Sie können entweder jeden Namen einzeln akzeptieren oder ablehnen oder **Alle akzeptieren** wählen, um die generierten Namen zu übernehmen. Optional können Sie Ihrem Asset auch das verfügbare Metadatenformular hinzufügen und Glossarbegriffe auswählen, um Ihre Daten zu klassifizieren.

1. Wählen Sie **Veröffentlichen**, um das Asset zu veröffentlichen. `mkt_sls_table`

## Schritt 7 — Erstellen Sie das Projekt für die Datenanalyse
<a name="create-project-for-data-analysis-gs-rs"></a>

Im folgenden Abschnitt werden die Schritte zum Erstellen des Projekts für die Datenanalyse in diesem Workflow beschrieben.

1. Nachdem Sie Schritt 6 abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal die Option **Projekt erstellen** aus.

1. Geben Sie auf der Seite **Projekt erstellen** den Projektnamen an, z. B. für diesen Workflow. Sie können ihm einen Namen geben **MarketingDataAnalysisProject**, dann die restlichen Felder unverändert lassen und dann **Create** wählen.

## Schritt 8 — Erstellen Sie eine Umgebung für die Datenanalyse
<a name="create-environment-gs2-rs"></a>

Im folgenden Abschnitt werden die Schritte zum Erstellen einer Umgebung für die Datenanalyse in diesem Workflow beschrieben.

1. Nachdem Sie Schritt 7 abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das `MarketingDataAnalysisProject` Projekt aus, das Sie im vorherigen Schritt erstellt haben, wählen Sie dann die Registerkarte **Umgebungen** und dann **Umgebung hinzufügen**.

1. Geben Sie auf der Seite **Umgebung erstellen** Folgendes an und wählen Sie dann **Umgebung erstellen** aus.
   + **Name** — geben Sie den Namen für die Umgebung an. Für diese exemplarische Vorgehensweise können Sie ihn `Default data warehouse environment` aufrufen.
   + **Beschreibung** — Geben Sie eine Beschreibung für die Umgebung an.
   + **Umgebungsprofil** — wählen Sie ein **DataWarehouseProfile**Umgebungsprofil.
   + Geben Sie den Namen Ihres Amazon Redshift Redshift-Clusters, den Datenbanknamen und den geheimen ARN für den Amazon Redshift Redshift-Cluster an, in dem Ihre Daten gespeichert sind. 
**Anmerkung**  
Stellen Sie sicher, dass Ihr Secret in AWS Secrets Manager die folgenden Tags (Schlüssel/Wert) enthält:  
Für Amazon Redshift Redshift-Cluster — datazone.rs.cluster: <cluster\$1name:database name>  
Für Amazon Redshift Serverless Workgroup — datazone.rs.workgroup: <workgroup\$1name:database\$1name>
AmazonDataZoneProject: <projectID> 
AmazonDataZoneDomain: <domainID>
Weitere Informationen finden Sie unter [Speichern von Datenbankanmeldedaten in AWS Secrets Manager](https://docs.aws.amazon.com//redshift/latest/mgmt/data-api-access.html#data-api-secrets).  
Der Datenbankbenutzer, den Sie im AWS Secrets Manager angeben, muss Superuser-Rechte haben.
   + Lassen Sie für diese exemplarische Vorgehensweise die restlichen Felder unverändert.

## Schritt 9: Durchsuchen Sie den Datenkatalog und abonnieren Sie Daten
<a name="search-catalog-subscribe-gs-rs"></a>

Im folgenden Abschnitt werden die Schritte zum Durchsuchen des Datenkatalogs und zum Abonnieren von Daten beschrieben.

1. Nachdem Sie Schritt 8 abgeschlossen haben, suchen Sie im DataZone Amazon-Datenportal mithilfe von Schlüsselwörtern (z. B. „Katalog“ oder „Verkauf“) in der **Suchleiste** des Datenportals nach Datenbeständen. 

   Wenden Sie bei Bedarf Filter oder Sortierungen an. Sobald Sie das Asset mit den Produktverkaufsdaten gefunden haben, können Sie es auswählen, um die Detailseite des Assets zu öffnen.

1. Wählen Sie auf der Detailseite des Assets „Produktverkaufsdaten“ die Option **Abonnieren** aus.

1. Wählen Sie im Dialogfeld Ihr Verbraucherprojekt aus der Dropdownliste aus, geben Sie den Grund für die Zugriffsanfrage an und wählen Sie dann **Abonnieren** aus.

## Schritt 10 — Genehmigen Sie die Abonnementanfrage
<a name="approve-subscription-request-gs-rs"></a>

Im folgenden Abschnitt werden die Schritte zur Genehmigung der Abonnementanfrage in diesem Workflow beschrieben.

1. Nachdem Sie Schritt 9 abgeschlossen haben, wählen Sie im DataZone Amazon-Datenportal das **SalesDataPublishingProject**Projekt aus, mit dem Sie Ihr Asset veröffentlicht haben.

1. Wählen Sie die Registerkarte **Daten**, dann **Veröffentlichte Daten** und dann **Eingehende Anfragen**.

1. Wählen Sie den Link „Anfrage anzeigen“ und dann „**Genehmigen**“. 

## Schritt 11 — Erstellen Sie eine Abfrage und analysieren Sie Daten in Amazon Redshift
<a name="analyze-data-gs-rs"></a>

Nachdem Sie ein Asset erfolgreich im DataZone Amazon-Katalog veröffentlicht und abonniert haben, können Sie es analysieren.

1. Klicken Sie im DataZone Amazon-Datenportal im rechten Bereich auf den Link Amazon Redshift. Dadurch wird der Amazon Redshift Redshift-Abfrage-Editor geöffnet, der die Anmeldeinformationen des Projekts zur Authentifizierung verwendet.

1. Sie können jetzt eine Abfrage (Select-Anweisung) für die abonnierte Tabelle ausführen. Sie können auf die Tabelle klicken (three-vertical-dots Option) und „Vorschau“ wählen, damit die ausgewählte Anweisung auf dem Editor-Bildschirm angezeigt wird. Führen Sie die Abfrage aus, um die Ergebnisse zu sehen. 

# DataZone Amazon-Schnellstart mit Beispielskripten
<a name="quickstart-apis"></a>

Sie können DataZone über das Verwaltungsportal oder das DataZone Amazon-Datenportal auf Amazon zugreifen oder programmgesteuert mithilfe der Amazon DataZone HTTPS-API, mit der Sie HTTPS-Anfragen direkt an den Service senden können. Dieser Abschnitt enthält Beispielskripts, die Amazon aufrufen und mit DataZone APIs denen Sie die folgenden allgemeinen Aufgaben ausführen können:

**Topics**
+ [Erstellen Sie eine DataZone Amazon-Domain und ein Datenportal](#create-domain-gs-glue-api)
+ [Erstellen Sie ein Veröffentlichungsprojekt](#create-publishing-project-gs-glue-api)
+ [Erstellen Sie ein Umgebungsprofil](#create-environment-profile-gs-glue-api)
+ [Erstellen einer Umgebung](#create-environment-gs-glue-api)
+ [Metadaten von AWS Glue sammeln](#gather-metadata-from-glue-gs-glue-api)
+ [Kuratieren und veröffentlichen Sie ein Datenobjekt](#curate-data-asset-gs-glue-api)
+ [Durchsuchen Sie den Datenkatalog und abonnieren Sie Daten](#search-catalog-subscribe-gs-glue-api)
+ [Suchen Sie im Datenkatalog nach Assets](#search-catalog-subscribe-gs-glue-api)
+ [Andere nützliche Beispielskripte](#other-useful-scripts-api)

## Erstellen Sie eine DataZone Amazon-Domain und ein Datenportal
<a name="create-domain-gs-glue-api"></a>

Sie können das folgende Beispielskript verwenden, um eine DataZone Amazon-Domain zu erstellen. Weitere Informationen zu DataZone Amazon-Domains finden Sie unter[DataZone Amazon-Terminologie und Konzepte](datazone-concepts.md). 

```
import sys
import boto3

// Initialize datazone client
region = 'us-east-1'
dzclient = boto3.client(service_name='datazone', region_name='us-east-1')

// Create DataZone domain
def create_domain(name):
    return dzclient.create_domain(
        name = name,
        description = "this is a description",
        domainExecutionRole = "arn:aws:iam::<account>:role/AmazonDataZoneDomainExecutionRole",
    )
```

## Erstellen Sie ein Veröffentlichungsprojekt
<a name="create-publishing-project-gs-glue-api"></a>

Sie können das folgende Beispielskript verwenden, um ein Veröffentlichungsprojekt in Amazon zu erstellen DataZone.

```
// Create Project
def create_project(domainId):
    return dzclient.create_project(
        domainIdentifier = domainId,
        name = "sample-project"
    )
```

## Erstellen Sie ein Umgebungsprofil
<a name="create-environment-profile-gs-glue-api"></a>

Sie können die folgenden Beispielskripts verwenden, um ein Umgebungsprofil in Amazon zu erstellen DataZone.

Diese Beispielnutzlast wird verwendet, wenn die `CreateEnvironmentProfile` API aufgerufen wird:

```
Sample Payload
{
    "Content":{
        "project_name": "Admin_project",
        "domain_name": "Drug-Research-and-Development",
        "blueprint_account_region": [
            {
                "blueprint_name": "DefaultDataLake",
                "account_id": ["066535990535",
                "413878397724",
                "676266385322", 
                "747721550195", 
                "755347404384"
                ],
                "region": ["us-west-2", "us-east-1"]
            },
            {
                "blueprint_name": "DefaultDataWarehouse",
                "account_id": ["066535990535",
                "413878397724",
                "676266385322", 
                "747721550195", 
                "755347404384"
                ],
                "region":["us-west-2", "us-east-1"]
            }
        ]
    }
}
```

Dieses Beispielskript ruft die API auf: `CreateEnvironmentProfile`

```
def create_environment_profile(domain_id, project_id, env_blueprints)    
        try:
            response = dz.list_environment_blueprints(
                domainIdentifier=domain_id,
                managed=True
            )
            env_blueprints = response.get("items")
            env_blueprints_map = {}
            for i in env_blueprints:
                env_blueprints_map[i["name"]] = i['id']
            
            print("Environment Blueprint map", env_blueprints_map)
            for i in blueprint_account_region:
                print(i)
                for j in i["account_id"]:
                    for k in i["region"]:
                        print("The env blueprint name is", i['blueprint_name'])
                        dz.create_environment_profile(
                            description='This is a test environment profile created via lambda function',
                            domainIdentifier=domain_id,
                            awsAccountId=j,
                            awsAccountRegion=k,
                            environmentBlueprintIdentifier=env_blueprints_map.get(i["blueprint_name"]),
                            name=i["blueprint_name"] + j + k + "_profile",
                            projectIdentifier=project_id
                        )
        except Exception as e:
            print("Failed to created Environment Profile")
            raise e
```

Dies ist die Beispielausgabe-Payload, sobald die `CreateEnvironmentProfile` API aufgerufen wurde:

```
{
    "Content":{
        "project_name": "Admin_project",
        "domain_name": "Drug-Research-and-Development",
        "blueprint_account_region": [
            {
                "blueprint_name": "DefaultDataWarehouse",
                "account_id": ["111111111111"],
                "region":["us-west-2"],
                "user_parameters":[
                    {
                        "name": "dataAccessSecretsArn",
                        "value": ""
                    }
                ] 
            }
        ]
    }
}
```

## Erstellen einer Umgebung
<a name="create-environment-gs-glue-api"></a>

Sie können das folgende Beispielskript verwenden, um eine Umgebung in Amazon zu erstellen DataZone.

```
def create_environment(domain_id, project_id,blueprint_account_region ):
         try:
            #refer to get_domain_id and get_project_id for fetching ids using names.
            sts_client = boto3.client("sts")
            # Get the current account ID
            account_id = sts_client.get_caller_identity()["Account"]
            print("Fetching environment profile ids")
            env_profile_map = get_env_profile_map(domain_id, project_id)

            for i in blueprint_account_region:
                for j in i["account_id"]:
                    for k in i["region"]:
                        print(" env blueprint name", i['blueprint_name'])
                        profile_name = i["blueprint_name"] + j + k + "_profile"
                        env_name = i["blueprint_name"] + j + k + "_env"
                        description = f'This is environment is created for {profile_name}, Account {account_id} and region {i["region"]}'
                        try:
                            dz.create_environment(
                                description=description,
                                domainIdentifier=domain_id,
                                environmentProfileIdentifier=env_profile_map.get(profile_name),
                                name=env_name,
                                projectIdentifier=project_id
                            )
                            print(f"Environment created - {env_name}")
                        except:
                            dz.create_environment(
                                description=description,
                                domainIdentifier=domain_id,
                                environmentProfileIdentifier=env_profile_map.get(profile_name),
                                name=env_name,
                                projectIdentifier=project_id,
                                userParameters= i["user_parameters"] 
                            )
                            print(f"Environment created - {env_name}")
        except Exception as e:
            print("Failed to created Environment")
            raise e
```

## Metadaten von AWS Glue sammeln
<a name="gather-metadata-from-glue-gs-glue-api"></a>

Sie können dieses Beispielskript verwenden, um Metadaten aus AWS Glue zu sammeln. Dieses Skript wird nach einem Standardzeitplan ausgeführt. Sie können die Parameter aus dem Beispielskript abrufen und sie global machen. Rufen Sie das Projekt, die Umgebung und die Domain-ID mithilfe von Standardfunktionen ab. Die AWS Glue-Datenquelle wird zu einer Standardzeit erstellt und ausgeführt, die im Cron-Abschnitt des Skripts aktualisiert werden kann. 

```
def crcreate_data_source(domain_id, project_id,data_source_name)
        print("Creating Data Source")
        data_source_creation = dz.create_data_source(
            # Define data source : Customize the data source to which you'd like to connect
            # define the name of the Data source to create, example: name ='TestGlueDataSource'
            name=data_source_name,
            # give a description for the datasource (optional), example: description='This is a dorra test for creation on DZ datasources'
            description=data_source_description,
            # insert the domain identifier corresponding to the domain to which the datasource will belong, example: domainIdentifier= 'dzd_6f3gst5jjmrrmv'
            domainIdentifier=domain_id,
            # give environment identifier , example: environmentIdentifier= '3weyt6hhn8qcvb'
            environmentIdentifier=environment_id,
            # give corresponding project identifier, example: projectIdentifier= '6tl4csoyrg16ef',
            projectIdentifier=project_id,
            enableSetting="ENABLED",
            # publishOnImport used to select whether assets are added to the inventory and/or discovery catalog .
            # publishOnImport = True : Assets will be added to project's inventory as well as published to the discovery catalog
            # publishOnImport = False : Assets will only be added to project's inventory.
            # You can later curate the metadata of the assets and choose subscription terms to publish them from the inventory to the discovery catalog.
            publishOnImport=False,
            # Automated business name generation : Use AI to automatically generate metadata for assets as they are published or updated by this data source run.
            # Automatically generated metadata can be be approved, rejected, or edited by data publishers.
            # Automatically generated metadata is badged with a small icon next to the corresponding metadata field.
            recommendation={"enableBusinessNameGeneration": True},
            type="GLUE",
            configuration={
                "glueRunConfiguration": {
                    "dataAccessRole": "arn:aws:iam::"
                    + account_id
                    + ":role/service-role/AmazonDataZoneGlueAccess-"
                    + current_region
                    + "-"
                    + domain_id
                    + "",
                    "relationalFilterConfigurations": [
                        {
                            #
                            "databaseName": glue_database_name,
                            "filterExpressions": [
                                {"expression": "*", "type": "INCLUDE"},
                            ],
                            #    "schemaName": "TestSchemaName",
                        },
                    ],
                },
            },
            # Add metadata forms to the data source (OPTIONAL).
            # Metadata forms will be automatically applied to any assets that are created by the data source.
            # assetFormsInput=[
            #     {
            #         "content": "string",
            #         "formName": "string",
            #         "typeIdentifier": "string",
            #         "typeRevision": "string",
            #     },
            # ],
            schedule={
                "schedule": "cron(5 20 * * ? *)",
                "timezone": "UTC",
            },
        )
        # This is a suggested syntax to return values
        #        return_values["data_source_creation"] = data_source_creation["items"]
        print("Data Source Created")


//This is the sample response payload after the CreateDataSource API is invoked:

{
    "Content":{
        "project_name": "Admin",
        "domain_name": "Drug-Research-and-Development",
        "env_name": "GlueEnvironment",
        "glue_database_name": "test",
        "data_source_name" : "test",
        "data_source_description" : "This is a test data source"
    }
}
```

## Kuratieren und veröffentlichen Sie ein Datenobjekt
<a name="curate-data-asset-gs-glue-api"></a>

Sie können die folgenden Beispielskripts verwenden, um Datenbestände in Amazon DataZone zu kuratieren und zu veröffentlichen.

Sie können das folgende Skript verwenden, um benutzerdefinierte Formulartypen zu erstellen:

```
 
def create_form_type(domainId, projectId):
    return dzclient.create_form_type(
        domainIdentifier = domainId,
        name = "customForm",
        model = {
            "smithy": "structure customForm { simple: String }"
        },
        owningProjectIdentifier = projectId,
        status = "ENABLED"
    )
```

Sie können das folgende Beispielskript verwenden, um benutzerdefinierte Asset-Typen zu erstellen:

```
def create_custom_asset_type(domainId, projectId):
    return dzclient.create_asset_type(
        domainIdentifier = domainId,
        name = "userCustomAssetType",
        formsInput = {
            "Model": {
                "typeIdentifier": "customForm",
                "typeRevision": "1",
                "required": False
            }
        },
        owningProjectIdentifier = projectId,
    )
```

Sie können das folgende Beispielskript verwenden, um benutzerdefinierte Assets zu erstellen:

```
def create_custom_asset(domainId, projectId):
    return dzclient.create_asset(
        domainIdentifier = domainId,
        name = 'custom asset',
        description = "custom asset",
        owningProjectIdentifier = projectId,
        typeIdentifier = "userCustomAssetType",
        formsInput = [
            {
                "formName": "UserCustomForm",
                "typeIdentifier": "customForm",
                "content": "{\"simple\":\"sample-catalogId\"}"
            }
        ]
    )
```

Sie können das folgende Beispielskript verwenden, um ein Glossar zu erstellen:

```
def create_glossary(domainId, projectId):
    return dzclient.create_glossary(
        domainIdentifier = domainId,
        name = "test7",
        description = "this is a test glossary",
        owningProjectIdentifier = projectId
    )
```

Sie können das folgende Beispielskript verwenden, um einen Glossarbegriff zu erstellen:

```
def create_glossary_term(domainId, glossaryId):
    return dzclient.create_glossary_term(
        domainIdentifier = domainId,
        name = "soccer",
        shortDescription = "this is a test glossary",
        glossaryIdentifier = glossaryId,
    )
```

Sie können das folgende Beispielskript verwenden, um ein Asset mit einem systemdefinierten Asset-Typ zu erstellen:

```
def create_asset(domainId, projectId):
    return dzclient.create_asset(
        domainIdentifier = domainId,
        name = 'sample asset name',
        description = "this is a glue table asset",
        owningProjectIdentifier = projectId,
        typeIdentifier = "amazon.datazone.GlueTableAssetType",
        formsInput = [
            {
                "formName": "GlueTableForm",
                "content": "{\"catalogId\":\"sample-catalogId\",\"columns\":[{\"columnDescription\":\"sample-columnDescription\",\"columnName\":\"sample-columnName\",\"dataType\":\"sample-dataType\",\"lakeFormationTags\":{\"sample-key1\":\"sample-value1\",\"sample-key2\":\"sample-value2\"}}],\"compressionType\":\"sample-compressionType\",\"lakeFormationDetails\":{\"lakeFormationManagedTable\":false,\"lakeFormationTags\":{\"sample-key1\":\"sample-value1\",\"sample-key2\":\"sample-value2\"}},\"primaryKeys\":[\"sample-Key1\",\"sample-Key2\"],\"region\":\"us-east-1\",\"sortKeys\":[\"sample-sortKey1\"],\"sourceClassification\":\"sample-sourceClassification\",\"sourceLocation\":\"sample-sourceLocation\",\"tableArn\":\"sample-tableArn\",\"tableDescription\":\"sample-tableDescription\",\"tableName\":\"sample-tableName\"}"
            }
        ]
    )
```

Sie können das folgende Beispielskript verwenden, um eine Asset-Revision zu erstellen und einen Glossarbegriff anzuhängen:

```
def create_asset_revision(domainId, assetId):
    return dzclient.create_asset_revision(
        domainIdentifier = domainId,
        identifier = assetId,
        name = 'glue table asset 7',
        description = "glue table asset description update",
        formsInput = [
            {
                "formName": "GlueTableForm",
                "content": "{\"catalogId\":\"sample-catalogId\",\"columns\":[{\"columnDescription\":\"sample-columnDescription\",\"columnName\":\"sample-columnName\",\"dataType\":\"sample-dataType\",\"lakeFormationTags\":{\"sample-key1\":\"sample-value1\",\"sample-key2\":\"sample-value2\"}}],\"compressionType\":\"sample-compressionType\",\"lakeFormationDetails\":{\"lakeFormationManagedTable\":false,\"lakeFormationTags\":{\"sample-key1\":\"sample-value1\",\"sample-key2\":\"sample-value2\"}},\"primaryKeys\":[\"sample-Key1\",\"sample-Key2\"],\"region\":\"us-east-1\",\"sortKeys\":[\"sample-sortKey1\"],\"sourceClassification\":\"sample-sourceClassification\",\"sourceLocation\":\"sample-sourceLocation\",\"tableArn\":\"sample-tableArn\",\"tableDescription\":\"sample-tableDescription\",\"tableName\":\"sample-tableName\"}"
            }
        ],
        glossaryTerms = ["<glossaryTermId:>"]
    )
```

Sie können das folgende Beispielskript verwenden, um ein Asset zu veröffentlichen:

```
def publish_asset(domainId, assetId):
    return dzclient.create_listing_change_set(
        domainIdentifier = domainId,
        entityIdentifier = assetId,
        entityType = "ASSET",
        action = "PUBLISH",
    )
```

## Durchsuchen Sie den Datenkatalog und abonnieren Sie Daten
<a name="search-catalog-subscribe-gs-glue-api"></a>

Sie können die folgenden Beispielskripts verwenden, um den Datenkatalog zu durchsuchen und Daten zu abonnieren:

```
def search_asset(domainId, projectId, text):
    return dzclient.search(
        domainIdentifier = domainId,
        owningProjectIdentifier = projectId,
        searchScope = "ASSET",
        searchText = text,
    )
```

Sie können das folgende Beispielskript verwenden, um die Listing-ID für das Asset abzurufen:

```
def search_listings(domainId, assetName, assetId):
    listings = dzclient.search_listings(
        domainIdentifier=domainId,
        searchText=assetName,
        additionalAttributes=["FORMS"]
    )
    
    assetListing = None
    for listing in listings['items']:
        if listing['assetListing']['entityId'] == assetId: 
            assetListing = listing
    
    return listing['assetListing']['listingId']
```

Sie können die folgenden Beispielskripts verwenden, um mithilfe der Listing-ID eine Abonnementanfrage zu erstellen:

```
create_subscription_response = def create_subscription_request(domainId, projectId, listingId):
    return dzclient.create_subscription_request(
        subscribedPrincipals=[{
            "project": {
                "identifier": projectId
            }
        }],
        subscribedListings=[{
            "identifier": listingId
        }],
        requestReason="Give request reason here."
    )
```

Rufen Sie mithilfe der `create_subscription_response` obigen Anweisungen das ` subscription_request_id` und dann accept/approve das Abonnement mit dem folgenden Beispielskript ab: 

```
subscription_request_id = create_subscription_response["id"]

def accept_subscription_request(domainId, subscriptionRequestId): 
    return dzclient.accept_subscription_request(
        domainIdentifier=domainId,
        identifier=subscriptionRequestId
    )
```

## Suchen Sie im Datenkatalog nach Assets
<a name="search-catalog-subscribe-gs-glue-api"></a>

Sie können die folgenden Beispielskripts verwenden, die die Freitextsuche verwenden, um Ihre veröffentlichten Datenbestände (Angebote) im DataZone Amazon-Katalog nachzuschlagen.
+ Das folgende Beispiel führt eine Freitextsuche nach Schlüsselwörtern in der Domain durch und gibt alle Angebote zurück, die dem angegebenen Schlüsselwort „Credit“ entsprechen:

  ```
  aws datazone search-listings \
    --domain-identifier dzd_c1s7uxe71prrtz \
    --search-text "credit"
  ```
+ Sie können auch mehrere Suchbegriffe kombinieren, um den Suchbereich weiter einzugrenzen. Wenn Sie beispielsweise nach allen veröffentlichten Datenbeständen (Auflistungen) suchen, die Daten zu Verkäufen in Mexiko enthalten, können Sie Ihre Abfrage mit den zwei Schlüsselwörtern „Mexiko“ und „Verkäufe“ formulieren. 

  ```
              aws datazone search-listings \
    --domain-identifier dzd_c1s7uxe71prrtz \
    --search-text "mexico sales"
  ```

Sie können auch mithilfe von Filtern nach einem Eintrag suchen. Der `filters` Parameter in der SearchListings API ermöglicht es Ihnen, gefilterte Ergebnisse aus der Domain abzurufen. Die API unterstützt mehrere Standardfilter, und Sie können auch zwei oder mehr Filter kombinieren und mit ihnen UND/ODER Operationen ausführen. Die Filterklausel akzeptiert zwei Parameter: Attribut und Wert. Die standardmäßig unterstützten Filterattribute sind`typeName`, und`owningProjectId`. `glossaryTerms` 
+ Im folgenden Beispiel werden alle Angebote in einer bestimmten Domain mithilfe des `assetType` Filters durchsucht, wobei es sich bei der Auflistung um eine Art Redshift-Tabelle handelt.

  ```
              aws datazone search-listings \
  --domain-identifier dzd_c1s7uxe71prrtz \
  --filters '{"or":[{"filter":{"attribute":"typeName","value":"RedshiftTableAssetType"}} ]}'
  ```
+ Sie können auch mehrere Filter mithilfe von AND/OR Operationen miteinander kombinieren. Im folgenden Beispiel kombinieren `typeName` und `project` filtern Sie.

  ```
              aws datazone search-listings \
  --domain-identifier dzd_c1s7uxe71prrtz \
  --filters '{"or":[{"filter":{"attribute":"typeName","value":"RedshiftTableAssetType"}},  {"filter":{"attribute":"owningProjectId","value":"cwrrjch7f5kppj"}} ]}'
  ```
+ Sie können die Freitextsuche sogar mit Filtern kombinieren, um exakte Ergebnisse zu finden und diese weiter nach creation/last Aktualisierungszeit des Angebots zu sortieren, wie im folgenden Beispiel gezeigt:

  ```
              aws datazone search-listings \
  --domain-identifier dzd_c1s7uxe71prrtz \
  --search-text "finance sales" \
  --filters '{"or":[{"filter":{"attribute":"typeName","value":"GlueTableViewType"}} ]}' \
  --sort '{"attribute": "UPDATED_AT", "order":"ASCENDING"}'
  ```

## Andere nützliche Beispielskripte
<a name="other-useful-scripts-api"></a>

Sie können die folgenden Beispielskripts verwenden, um verschiedene Aufgaben zu erledigen, während Sie mit Ihren Daten in Amazon arbeiten DataZone.

Verwenden Sie das folgende Beispielskript, um bestehende DataZone Amazon-Domains aufzulisten:

```
def list_domains():
    datazone = boto3.client('datazone')
    response = datazone.list_domains(status='AVAILABLE')
    [print("%12s | %16s | %12s | %52s" % (item['id'], item['name'], item['managedAccountId'], item['portalUrl'])) for item in response['items']]
    return
```

Verwenden Sie das folgende Beispielskript, um bestehende DataZone Amazon-Projekte aufzulisten:

```
def list_projects(domain_id):
    datazone = boto3.client('datazone')
    response = datazone.list_projects(domainIdentifier=domain_id)
    [print("%12s | %16s " % (item['id'], item['name'])) for item in response['items']]
    return
```

Verwenden Sie das folgende Beispielskript, um bestehende DataZone Amazon-Metadatenformulare aufzulisten:

```
def list_metadata_forms(domain_id):
    datazone = boto3.client('datazone')
    response = datazone.search_types(domainIdentifier=domain_id, 
        managed=False,
        searchScope='FORM_TYPE')
    [print("%16s | %16s | %3s | %8s" % (item['formTypeItem']['name'], item['formTypeItem']['owningProjectId'],item['formTypeItem']['revision'], item['formTypeItem']['status'])) for item in response['items']]
    return
```