

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.

# Problembehebung bei Amazon DataZone
<a name="troubleshooting-datazone"></a>

Wenn Sie bei der Arbeit mit Amazon auf Probleme mit Zugriffsverweigerung oder ähnliche Probleme stoßen, DataZone lesen Sie die Themen in diesem Abschnitt.

## Fehlerbehebung bei AWS Lake Formation Formation-Berechtigungen für Amazon DataZone
<a name="troubleshooting-lake-formation-permissions"></a>

Dieser Abschnitt enthält Anweisungen zur Fehlerbehebung für Probleme, die bei Ihnen auftreten können[Lake Formation Formation-Berechtigungen für Amazon konfigurieren DataZone](lake-formation-permissions-for-datazone.md). 


| Fehlermeldung im Datenportal | Auflösung | 
| --- | --- | 
|  Die Datenzugriffsrolle konnte nicht übernommen werden.   |  Dieser Fehler wird angezeigt, wenn Amazon DataZone nicht davon ausgehen kann **AmazonDataZoneGlueDataAccessRole**, dass Sie das **DefaultDataLakeBlueprint**in Ihrem Konto aktiviert haben. Um das Problem zu beheben, rufen Sie die AWS IAM-Konsole des Kontos auf, in dem sich Ihr Datenbestand befindet, und stellen Sie sicher, dass **AmazonDataZoneGlueDataAccessRole**das richtige Vertrauensverhältnis mit dem Amazon DataZone Service Principal besteht. Weitere Informationen finden Sie unter [AmazonDataZoneGlueAccess- <region>- <domainId>](glue-manage-access-role.md).   | 
|  Die Datenzugriffsrolle verfügt nicht über die erforderlichen Berechtigungen, um die Metadaten der Ressource zu lesen, die Sie abonnieren möchten.   |  Dieser Fehler wird angezeigt, wenn Amazon die **AmazonDataZoneGlueDataAccessRole**Rolle DataZone erfolgreich annimmt, die Rolle jedoch nicht über die erforderlichen Berechtigungen verfügt. Um das Problem zu beheben, rufen Sie die AWS IAM-Konsole in dem Konto auf, in dem sich Ihr Datenbestand befindet, und vergewissern Sie sich, dass der Rolle die Datei **AmazonDataZoneGlueManageAccessRolePolicy**angehängt ist. Weitere Informationen finden Sie unter [AmazonDataZoneGlueAccess- <region>- <domainId>](glue-manage-access-role.md).  | 
|  Ein Asset ist ein Ressourcenlink. Amazon unterstützt DataZone keine Abonnements für Ressourcenlinks.  |  Dieser Fehler wird angezeigt, wenn es sich bei dem Asset, das Sie auf Amazon veröffentlichen möchten, um einen Ressourcenlink zu einer AWS Glue-Tabelle DataZone handelt.   | 
|  Das Asset wird nicht von AWS Lake Formation verwaltet.  |  Dieser Fehler weist darauf hin, dass die AWS Lake Formation Formation-Berechtigungen für das Asset, das Sie veröffentlichen möchten, nicht durchgesetzt wurden. Dies kann in den folgenden Fällen passieren. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/datazone/latest/userguide/troubleshooting-datazone.html)  | 
|  Die Datenzugriffsrolle verfügt nicht über die erforderlichen Lake Formation Formation-Berechtigungen, um Zugriff auf dieses Asset zu gewähren.  |  Dieser Fehler weist darauf hin **AmazonDataZoneGlueDataAccessRole**, dass das, was Sie zur Aktivierung von **DefaultDataLakeBlueprint**in Ihrem Konto verwenden, nicht über die erforderlichen Berechtigungen verfügt, DataZone damit Amazon die Berechtigungen für das veröffentlichte Asset verwalten kann. Sie können das Problem lösen, indem Sie entweder den **AmazonDataZoneGlueDataAccessRole**als AWS Lake Formation-Administrator hinzufügen oder indem Sie dem Asset, das **AmazonDataZoneGlueDataAccessRole**Sie veröffentlichen möchten, die folgenden Berechtigungen gewähren. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/datazone/latest/userguide/troubleshooting-datazone.html)  | 

## Fehlerbehebung bei der Verknüpfung von Amazon DataZone Lineage-Assets mit Upstream-Datensätzen
<a name="troubleshooting-lineage"></a>

Dieser Abschnitt enthält Anweisungen zur Behebung von Problemen, die bei Amazon DataZone Lineage auftreten könnten. Bei einigen Open Lineage Run-Events AWS Glue und bei Amazon Redshift stellen Sie möglicherweise fest, dass die Asset-Herkunft nicht mit einem Upstream-Datensatz verknüpft ist. In diesem Thema werden die Szenarien und einige Lösungsansätze zur Problembehebung erläutert. Weitere Informationen zur Abstammung finden Sie unter. [Datenherkunft bei Amazon DataZone](datazone-data-lineage.md)

### SourceIdentifier auf einem Abstammungsknoten
<a name="troubleshooting-lineage-source-identifier"></a>

Das `sourceIdentifier` Attribut in einem Abstammungsknoten stellt die Ereignisse dar, die in einem Datensatz stattfinden. Weitere Informationen finden Sie unter [Schlüsselattribute in Abstammungsknoten](https://docs.aws.amazon.com/datazone/latest/userguide/datazone-data-lineage.html#datazone-data-lineage-key-attributes).

Der Abstammungsknoten stellt alle Ereignisse dar, die im entsprechenden Datensatz oder Job auftreten. Der Lineage-Node enthält ein „sourceIdentifier“ -Attribut, das die Kennung des entsprechenden Datensatzs/Jobs enthält. Da wir Open-Lineage-Ereignisse unterstützen, wird der `sourceIdentifier` Wert standardmäßig als Kombination aus „Namespace“ und „Name“ für einen Datensatz, einen Job und Jobläufe ausgefüllt.

Für AWS Ressourcen wie AWS Glue Amazon Redshift `sourceIdentifier` wären dies die AWS Glue Tabelle ARN und die Redshift-Tabelle, ARNs aus denen Amazon DataZone das Run-Event und andere Details wie folgt erstellt:

**Anmerkung**  
 AWS In enthält der ARN Informationen wie accountId, Region, Datenbank und Tabelle für jede Ressource.
+ OpenLineage Das Ereignis für diese Datensätze enthält den Datenbank- und Tabellennamen.
+ Die Region wird in der Facette „Umgebungseigenschaften“ eines Rechenlaufs erfasst. Wenn sie nicht vorhanden ist, verwendet das System die Region aus den Anmeldeinformationen des Anrufers.
+ AccountId wird den Anmeldeinformationen des Anrufers entnommen.

**SourceIdentifier über die darin enthaltenen Vermögenswerte DataZone**  
`AssetCommonDetailForm`hat ein Attribut namens „sourceIdentifier“, das die Kennung des Datensatzes darstellt, den das Asset darstellt. Damit Asset-Herkunftsknoten mit einem Upstream-Datensatz verknüpft werden können, muss das Attribut mit dem Wert gefüllt werden, der mit dem Wert des Datensatzknotens übereinstimmt. `sourceIdentifier` Wenn die Assets von einer Datenquelle importiert werden, wird der Workflow automatisch `sourceIdentifier` als AWS Glue Tabelle ARN/Redshift-Tabelle ARN aufgefüllt, während bei anderen über die `CreateAsset` API erstellten Assets (einschließlich benutzerdefinierter Assets) dieser Wert vom Aufrufer aufgefüllt werden sollte.

### Wie DataZone erstellt Amazon den SourceIdentifier aus dem Event? OpenLineage
<a name="troubleshooting-lineage"></a>

For AWS Glue - und Redshift-Assets `sourceIdentifier` besteht aus Glue und ARNs Redshift. So DataZone konstruiert Amazon es:

#### AWS Glue ARN
<a name="troubleshooting-lineage-constructing-glue-arn"></a>

Das Ziel besteht darin, ein OpenLineage Event zu konstruieren, bei dem der Ausgangs-Lineage-Knoten wie folgt `sourceIdentifier` lautet:

```
arn:aws:glue:us-east-1:123456789012:table/testlfdb/testlftb-1
```

Um festzustellen, ob ein Lauf Daten von verwendet AWS Glue, suchen Sie nach bestimmten Schlüsselwörtern in der `environment-properties` Facette. Insbesondere wenn eines dieser angegebenen Felder vorhanden ist, geht das System davon aus, dass es von `RunEvent` stammt. AWS Glue
+ GLUE\$1VERSION
+ GLUE\$1COMMAND\$1CRITERIA
+ GLUE\$1PYTHON\$1VERSION

```
"run": {
   "runId":"4e3da9e8-6228-4679-b0a2-fa916119fthr",
   "facets":{
      "environment-properties":{
         "_producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/spark",
         "_schemaURL":"https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunFacet",
         "environment-properties":{
            "GLUE_VERSION":"3.0",
            "GLUE_COMMAND_CRITERIA":"glueetl",
            "GLUE_PYTHON_VERSION":"3"
         }
      }
   }
```

Für einen AWS Glue Lauf können Sie den Namen aus der `symlinks` Facette verwenden, um den Datenbank- und Tabellennamen abzurufen, der zur Erstellung des ARN verwendet werden kann.

Sie müssen sicherstellen, dass der Name wie folgt lautet`databaseName.tableName`:

```
"symlinks": {
   "_producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/spark",
   "_schemaURL":"https://openlineage.io/spec/facets/1-0-0/SymlinksDatasetFacet.json#/$defs/SymlinksDatasetFacet",
   "identifiers":[
      {
         "namespace":"s3://object-path",
         "name":"testlfdb.testlftb-1",
         "type":"TABLE"
      }
   ]
}
```

Beispiel für ein ABGESCHLOSSENES Ereignis:

```
{
   "eventTime":"2024-07-01T12:00:00.000000Z",
   "producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/glue",
   "schemaURL":"https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunEvent",
   "eventType":"COMPLETE",
   "run": {
      "runId":"4e3da9e8-6228-4679-b0a2-fa916119fthr",
      "facets":{
         "environment-properties":{
            "_producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/spark",
            "_schemaURL":"https://openlineage.io/spec/2-0-2/OpenLineage.json#/$defs/RunFacet",
            "environment-properties":{
               "GLUE_VERSION":"3.0",
               "GLUE_COMMAND_CRITERIA":"glueetl",
               "GLUE_PYTHON_VERSION":"3"
            }
         }
      }
   },
   "job":{
      "namespace":"namespace",
      "name":"job_name",
      "facets":{
         "jobType":{
            "_producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/glue",
            "_schemaURL":"https://openlineage.io/spec/facets/2-0-2/JobTypeJobFacet.json#/$defs/JobTypeJobFacet",
            "processingType":"BATCH",
            "integration":"glue",
            "jobType":"JOB"
         }
      }
   },
   "inputs":[
      {
         "namespace":"namespace",
         "name":"input_name"
      }
   ],
   "outputs":[
      {
         "namespace":"namespace.output",
         "name":"output_name",
         "facets":{
            "symlinks":{
               "_producer":"https://github.com/OpenLineage/OpenLineage/tree/1.9.1/integration/spark",
               "_schemaURL":"https://openlineage.io/spec/facets/1-0-0/SymlinksDatasetFacet.json#/$defs/SymlinksDatasetFacet",
               "identifiers":[
                  {
                     "namespace":"s3://object-path",
                     "name":"testlfdb.testlftb-1",
                     "type":"TABLE"
                  }
               ]
            }
         }
      }
   ]
}
```

Auf der Grundlage des eingereichten `OpenLineage` Ereignisses wird `sourceIdentifier` der Ausgangs-Abstammungsknoten wie folgt aussehen:

```
arn:aws:glue:us-east-1:123456789012:table/testlfdb/testlftb-1
```

Der Ausgangs-Abstammungsknoten wird mit dem Abstammungsknoten eines Assets verbunden, an dem sich der Vermögenswert wie folgt befindet: `sourceIdentifier`

```
arn:aws:glue:us-east-1:123456789012:table/testlfdb/testlftb-1
```

![\[\]](http://docs.aws.amazon.com/de_de/datazone/latest/userguide/images/troubleshoot-lineage1.png)


![\[\]](http://docs.aws.amazon.com/de_de/datazone/latest/userguide/images/troubleshoot-lineage2.png)


#### Amazon Redshift ARN
<a name="troubleshooting-lineage-constructing-redshift-arn"></a>

Das Ziel besteht darin, ein OpenLineage Event zu konstruieren, bei dem der Ausgangs-Lineage-Knoten wie folgt lautet: `sourceIdentifier`

```
arn:aws:redshift:us-east-1:123456789012:table/workgroup-20240715/tpcds_data/public/dws_tpcds_7
```

Das System bestimmt anhand des Namespace, ob eine Eingabe oder Ausgabe in Redshift gespeichert wird. Insbesondere, wenn der Namespace mit redshift://beginnt oder die Zeichenketten enthält `redshift-serverless.amazonaws.com` oder`redshift.amazonaws.com`, handelt es sich um eine Redshift-Ressource.

```
"outputs": [
    {
        "namespace":"redshift://workgroup-20240715.123456789012.us-east-1.redshift.amazonaws.com:5439",
        "name":"tpcds_data.public.dws_tpcds_7"
    }
]
```

Beachten Sie, dass der Namespace das folgende Format haben muss:

```
provider://{cluster_identifier}.{region_name}:{port}
```

Für `redshift-serverless`:

```
"outputs": [
    {
        "namespace":"redshift://workgroup-20240715.123456789012.us-east-1.redshift-serverless.amazonaws.com:5439",
        "name":"tpcds_data.public.dws_tpcds_7"
    }
]
```

Führt zu folgendem Ergebnis `sourceIdentifier`

```
arn:aws:redshift-serverless:us-east-1:123456789012:table/workgroup-20240715/tpcds_data/public/dws_tpcds_7
```

Auf der Grundlage des übermittelten OpenLineage Ereignisses ist der Abstammungsknoten, der `sourceIdentifier` einem Downstream (d. h. einer Ausgabe des Ereignisses) zugeordnet werden soll, wie folgt:

```
arn:aws:redshift-serverless:us-e:us-east-1:123456789012:table/workgroup-20240715/tpcds_data/public/dws_tpcds_7
```

Mit dieser Zuordnung können Sie die Herkunft eines Assets im Katalog visualisieren.

### Alternativer Ansatz
<a name="troubleshooting-lineage-alternate-approach"></a>

Wenn keine der oben genannten Bedingungen erfüllt ist, verwendet das System den **Namespace**/**name, um Folgendes** zu erstellen: `sourceIdentifier`

```
"inputs": [
  {
     "namespace":"arn:aws:redshift:us-east-1:123456789012:table",
     "name":"workgroup-20240715/tpcds_data/public/dws_tpcds_7"
  }
],
"outputs": [
  {
     "namespace":"arn:aws:glue:us-east-1:123456789012:table",
     "name":"testlfdb/testlftb-1"
  }
]
```

### Behebung eines Fehlens von Upstream für den Asset Lineage Node
<a name="troubleshooting-lineage-upstream"></a>

Wenn Sie den Upstream-Node des Asset Lineage Node nicht sehen, können Sie wie folgt beheben, warum er nicht mit dem Datensatz verknüpft ist:

1. Rufen Sie unter Angabe `GetAsset` von und auf`domainId`: `assetId`

   ```
   aws datazone get-asset --domain-identifier <domain-id> --identifier <asset-id>
   ```

   Die Antwort sieht wie folgt aus:

   ```
   {
       .....
       "formsOutput": [
           ..... 
           {
               "content": "{\"sourceIdentifier\":\"arn:aws:glue:eu-west-1:123456789012:table/testlfdb/testlftb-1\"}",
               "formName": "AssetCommonDetailsForm",
               "typeName": "amazon.datazone.AssetCommonDetailsFormType",
               "typeRevision": "6"
           },
           .....
       ],
       "id": "<asset-id>",
       ....
   }
   ```

1. Rufen Sie `GetLineageNode` auf, um den `sourceIdentifier` Lineage-Node des Datensatzes abzurufen. Da es keine Möglichkeit gibt, den Abstammungsknoten für den entsprechenden Datensatzknoten direkt abzurufen, können Sie bei der Ausführung des Jobs mit `GetLineageNode` folgendem Befehl beginnen:

   ```
   aws datazone get-lineage-node --domain-identifier <domain-id> --identifier <job_namespace>.<job_name>/<run_id>
   
   if you are using the getting started scripts, job name and run ID are printed in the console
   and namespace is "default". Otherwise you can get these values from run event content.
   ```

   Die Beispielantwort sieht wie folgt aus:

   ```
   {
       .....
       "downstreamNodes": [
           {
               "eventTimestamp": "2024-07-24T18:08:55+08:00",
               "id": "afymge5k4v0euf"
           }
       ],
       "formsOutput": [
           <some forms corresponding to run and job>
       ],
       "id": "<system generated node-id for run>",
       "sourceIdentifier": "default.redshift.create/2f41298b-1ee7-3302-a14b-09addffa7580",
       "typeName": "amazon.datazone.JobRunLineageNodeType",
       ....
       "upstreamNodes": [
           {
               "eventTimestamp": "2024-07-24T18:08:55+08:00",
               "id": "6wf2z27c8hghev"
           },
           {
               "eventTimestamp": "2024-07-24T18:08:55+08:00",
               "id": "4tjbcsnre6banb"
           }
       ]
   }
   ```

1. Rufen Sie `GetLineageNode` erneut auf, indem Sie die downstream/upstream Knoten-ID (die Ihrer Meinung nach mit dem Asset-Node verknüpft sein sollte) übergeben, da diese dem Datensatz entspricht:

   Beispielbefehl mit der obigen Beispielantwort:

   ```
   aws datazone get-lineage-node --domain-identifier <domain-id> --identifier afymge5k4v0euf
   ```

   Dies gibt die Details des Abstammungsknotens zurück, die dem Datensatz entsprechen: afymge5k4v0euf

   ```
   {
       .....
       "domainId": "dzd_cklzc5s2jcr7on",
       "downstreamNodes": [],
       "eventTimestamp": "2024-07-24T18:08:55+08:00",
       "formsOutput": [
           .....
       ],
       "id": "afymge5k4v0euf",
       "sourceIdentifier": "arn:aws:redshift:us-east-1:123456789012:table/workgroup-20240715/tpcds_data/public/dws_tpcds_7",
       "typeName": "amazon.datazone.DatasetLineageNodeType",
       "typeRevision": "1",
       ....
       "upstreamNodes": [
           ...
       ]
   }
   ```

1. Vergleichen Sie den Knoten dieses Datensatzes und die Antwort von. `sourceIdentifier` `GetAsset` Wenn sie nicht verknüpft sind, stimmen sie nicht überein und sind daher in der Lineage-Benutzeroberfläche nicht sichtbar.

**Nicht übereinstimmende Szenarien und Abhilfemaßnahmen**  
Im Folgenden sind allgemein bekannte Szenarien aufgeführt, in denen diese nicht übereinstimmen, und die möglichen Abhilfemaßnahmen:

**Hauptursache**: Die Tabellen befinden sich in einem anderen Konto als dem Konto des DataZone Amazon-Domainkontos.

**Schadensbegrenzung**: Sie können den `PostLineageEvent` Vorgang von einem verknüpften Konto aus aufrufen. Da der ARN `accountId` für die Erstellung aus den Anmeldeinformationen des Anrufers ausgewählt wird, können Sie die Rolle von dem Konto aus übernehmen, das die Tabellen enthält, wenn Sie das Getting Started-Skript ausführen oder aufrufen`PostLineageEvent`. Dies hilft dabei, die Knoten ARNs korrekt zu konstruieren und sie mit den Asset-Knoten zu verknüpfen.

**Hauptursache**: Der ARN für Redshift table/views enthält Redshift/Redshift-Serverless, basierend auf den Namespace- und Namensattributen der entsprechenden Datensatzinformationen im Ausführungsereignis. OpenLineage 

**Abwehr**: Da es keine deterministische Methode gibt, um festzustellen, ob der angegebene Name zu einem Cluster oder einer Arbeitsgruppe gehört, verwenden wir die folgende Heuristik:
+ Wenn der dem Datensatz entsprechende „Name“ "enthält, verwenden wir redshift-serverless als Teil des ARN, andernfalls verwenden wir standardmäßig `redshift-serverless.amazonaws.com` „redshift“.
+ Das oben Genannte bedeutet, dass Aliase für Arbeitsgruppennamen nicht funktionieren.

**Hauptursache**: Upstream-Datensätze sind für benutzerdefinierte Assets nicht richtig verknüpft.

**Schadensbegrenzung**: Stellen Sie sicher, dass Sie das Element `sourceIdentifier` auf dem Asset auffüllen, indem Sie`CreateAsset`/aufrufen`CreateAssetRevision`, das mit dem `sourceIdentifier` des Datensatzknotens übereinstimmt (was <namespace><name>für benutzerdefinierte Knoten/wäre).