

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Memecahkan Masalah Amazon DataZone
<a name="troubleshooting-datazone"></a>

Jika Anda mengalami masalah yang ditolak akses atau kesulitan serupa saat bekerja dengan Amazon, DataZone lihat topik di bagian ini.

## Memecahkan masalah izin AWS Lake Formation untuk Amazon DataZone
<a name="troubleshooting-lake-formation-permissions"></a>

Bagian ini berisi petunjuk pemecahan masalah untuk masalah yang mungkin Anda temui saat Anda. [Konfigurasikan izin Lake Formation untuk Amazon DataZone](lake-formation-permissions-for-datazone.md) 


| Pesan galat di Portal Data | Resolusi | 
| --- | --- | 
| Tidak dapat mengasumsikan Peran Akses Data.  | Kesalahan ini ditampilkan ketika Amazon DataZone tidak dapat mengasumsikan **AmazonDataZoneGlueDataAccessRole**bahwa Anda digunakan untuk mengaktifkan **DefaultDataLakeBlueprint**di akun Anda. Untuk memperbaiki masalah ini, buka konsol AWS IAM di akun tempat aset data Anda ada dan pastikan bahwa mereka **AmazonDataZoneGlueDataAccessRole**memiliki hubungan kepercayaan yang tepat dengan prinsipal DataZone layanan Amazon. Untuk informasi selengkapnya, lihat [AmazonDataZoneGlueAccess- <region>- <domainId>](glue-manage-access-role.md)  | 
| Peran Akses Data tidak memiliki izin yang diperlukan untuk membaca metadata aset yang Anda coba berlangganan.  | Kesalahan ini ditampilkan ketika Amazon DataZone berhasil mengambil **AmazonDataZoneGlueDataAccessRole**peran, tetapi peran tersebut tidak memiliki izin yang diperlukan. Untuk memperbaiki masalah ini, buka konsol AWS IAM di akun tempat aset data Anda ada dan pastikan peran tersebut telah **AmazonDataZoneGlueManageAccessRolePolicy**dilampirkan. Untuk informasi selengkapnya, lihat [AmazonDataZoneGlueAccess- <region>- <domainId>](glue-manage-access-role.md). | 
| Aset adalah tautan sumber daya. Amazon DataZone tidak mendukung langganan ke tautan sumber daya. | Kesalahan ini ditampilkan ketika aset yang Anda coba publikasikan ke Amazon DataZone adalah tautan sumber daya ke tabel AWS Glue.  | 
| Aset tidak dikelola oleh AWS Lake Formation. | Kesalahan ini menunjukkan bahwa izin AWS Lake Formation tidak diberlakukan pada aset yang ingin Anda publikasikan. Ini bisa terjadi dalam kasus-kasus berikut.[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/datazone/latest/userguide/troubleshooting-datazone.html) | 
| Peran Akses Data tidak memiliki izin Lake Formation yang diperlukan untuk memberikan akses ke aset ini. | Kesalahan ini menunjukkan **AmazonDataZoneGlueDataAccessRole**bahwa yang Anda gunakan untuk mengaktifkan **DefaultDataLakeBlueprint**di akun Anda tidak memiliki izin yang diperlukan bagi Amazon DataZone untuk mengelola izin pada aset yang dipublikasikan. Anda dapat menyelesaikan masalah dengan menambahkan **AmazonDataZoneGlueDataAccessRole**sebagai administrator AWS Lake Formation atau dengan memberikan izin berikut ke **AmazonDataZoneGlueDataAccessRole**aset yang ingin Anda publikasikan.[See the AWS documentation website for more details](http://docs.aws.amazon.com/id_id/datazone/latest/userguide/troubleshooting-datazone.html) | 

## Memecahkan masalah penautan aset DataZone garis keturunan Amazon dengan kumpulan data hulu
<a name="troubleshooting-lineage"></a>

Bagian ini berisi petunjuk pemecahan masalah untuk masalah yang mungkin Anda temui dengan garis keturunan Amazon DataZone . Untuk beberapa peristiwa open lineage run terkait Amazon RedShift, Anda mungkin melihat bahwa garis keturunan aset tidak ditautkan ke kumpulan data hulu. AWS Glue Topik ini menjelaskan skenario dan beberapa pendekatan untuk mengurangi masalah. Untuk informasi lebih lanjut tentang garis keturunan, lihat. [Garis keturunan data di Amazon DataZone](datazone-data-lineage.md)

### SourceIdentifier pada simpul garis keturunan
<a name="troubleshooting-lineage-source-identifier"></a>

`sourceIdentifier`Atribut dalam simpul garis keturunan mewakili peristiwa yang terjadi pada kumpulan data. Untuk informasi selengkapnya, lihat [Atribut kunci di node garis keturunan](https://docs.aws.amazon.com/datazone/latest/userguide/datazone-data-lineage.html#datazone-data-lineage-key-attributes).

Simpul garis keturunan mewakili semua peristiwa yang terjadi pada kumpulan data atau pekerjaan yang sesuai. Simpul garis keturunan berisi atribut “sourceIdentifier” yang berisi pengenal dari dataset/job yang sesuai. Saat kami mendukung peristiwa garis keturunan terbuka, `sourceIdentifier` nilainya secara default diisi sebagai kombinasi “namespace” dan “name” untuk kumpulan data, pekerjaan, dan pekerjaan yang berjalan.

Untuk AWS sumber daya seperti AWS Glue dan Amazon Redshift, tabel AWS Glue ARN dan tabel ARNs Redshift tempat DataZone Amazon akan membuat run-event dan detail lainnya sebagai berikut: `sourceIdentifier`

**catatan**  
 Dalam AWS, ARN berisi informasi seperti accountID, wilayah, database, dan tabel untuk setiap sumber daya.
+ OpenLineage event untuk dataset ini berisi database dan nama tabel.
+ Wilayah ditangkap dalam aspek “properti lingkungan” dari lari. Jika tidak ada, sistem menggunakan wilayah dari kredenal pemanggil.
+ AccountId diambil dari kredensi penelepon.

**SourceIdentifier pada aset di dalam DataZone**  
`AssetCommonDetailForm`memiliki atribut yang disebut “sourceIdentifier” yang mewakili pengidentifikasi dataset yang diwakili oleh aset. Agar node garis keturunan aset ditautkan dengan dataset hulu, atribut harus diisi dengan nilai yang cocok dengan node dataset. `sourceIdentifier` Jika aset diimpor oleh sumber data, alur kerja terisi sebagai `sourceIdentifier` tabel ARN/Redshift tabel AWS Glue ARN secara otomatis sementara aset lain (termasuk aset kustom) yang dibuat melalui `CreateAsset` API harus memiliki nilai tersebut diisi oleh pemanggil.

### Bagaimana Amazon DataZone membangun SourceIdentifier dari Event? OpenLineage
<a name="troubleshooting-lineage"></a>

Aset For AWS Glue dan Redshift, dibuat dari `sourceIdentifier` Glue dan Redshift. ARNs Inilah cara Amazon DataZone membangunnya:

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

Tujuannya adalah untuk membangun sebuah OpenLineage Event di mana node garis keturunan keluaran adalah: `sourceIdentifier`

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

Untuk menentukan apakah suatu run menggunakan data dari AWS Glue, cari keberadaan kata kunci tertentu di `environment-properties` faset tersebut. Secara khusus, jika salah satu bidang yang ditunjuk ini ada, sistem mengasumsikan `RunEvent` asalnya. AWS Glue
+ GLUE\_VERSION
+ GLUE\_COMMAND\_CRITERIA
+ GLUE\_PYTHON\_VERSION

```
"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"
         }
      }
   }
```

Untuk AWS Glue menjalankan, Anda dapat menggunakan nama dari `symlinks` segi untuk mendapatkan database dan nama tabel, yang dapat digunakan untuk membangun ARN.

Perlu memastikan namanya adalah`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"
      }
   ]
}
```

Contoh Acara LENGKAP:

```
{
   "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"
                  }
               ]
            }
         }
      }
   ]
}
```

Berdasarkan `OpenLineage` acara yang `sourceIdentifier` dikirimkan, node garis keturunan keluaran adalah:

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

Node garis keturunan keluaran akan terhubung ke simpul garis keturunan aset di mana aset tersebut berada: `sourceIdentifier`

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

![Screen shot menunjukkan pengenal sumber aset.](http://docs.aws.amazon.com/id_id/datazone/latest/userguide/images/troubleshoot-lineage1.png)


![Screen shot menunjukkan pengenal sumber aset.](http://docs.aws.amazon.com/id_id/datazone/latest/userguide/images/troubleshoot-lineage2.png)


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

Tujuannya adalah untuk membangun sebuah OpenLineage Event di mana node garis keturunan keluaran adalah: `sourceIdentifier`

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

Sistem menentukan apakah input atau output disimpan dalam Redshift berdasarkan namespace. Secara khusus, jika namespace dimulai dengan redshift://atau berisi string `redshift-serverless.amazonaws.com` atau, `redshift.amazonaws.com` itu adalah sumber daya Redshift.

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

Perhatikan bahwa namespace harus dalam format berikut:

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

Untuk `redshift-serverless`:

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

Hasil dalam hal berikut `sourceIdentifier`

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

Berdasarkan OpenLineage peristiwa yang dikirimkan, `sourceIdentifier` simpul garis keturunan yang akan dipetakan ke hilir (yaitu, output dari acara) adalah:

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

Ini adalah pemetaan yang membantu Anda memvisualisasikan garis keturunan aset dalam katalog.

### Pendekatan alternatif
<a name="troubleshooting-lineage-alternate-approach"></a>

Ketika tidak ada kondisi di atas yang terpenuhi, sistem menggunakan ****namespace/name**** untuk membangun: `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"
  }
]
```

### Memecahkan masalah kekurangan hulu untuk node garis keturunan aset
<a name="troubleshooting-lineage-upstream"></a>

Jika Anda tidak melihat hulu node garis keturunan aset, Anda dapat melakukan hal berikut untuk memecahkan masalah mengapa node tersebut tidak ditautkan dengan kumpulan data:

1. Memanggil `GetAsset` sambil memberikan `domainId` dan`assetId`:

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

   Responsnya muncul sebagai berikut:

   ```
   {
       .....
       "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. Memanggil `GetLineageNode` untuk mendapatkan node `sourceIdentifier` garis keturunan dataset. Karena tidak ada cara untuk mendapatkan simpul garis keturunan untuk node kumpulan data yang sesuai secara langsung, Anda dapat memulai dengan menjalankan `GetLineageNode` pekerjaan:

   ```
   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.
   ```

   Respons sampel terlihat seperti berikut:

   ```
   {
       .....
       "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. Panggil `GetLineageNode` lagi dengan meneruskan pengidentifikasi downstream/upstream simpul (yang menurut Anda harus ditautkan ke node aset) karena ini sesuai dengan kumpulan data:

   Contoh perintah menggunakan contoh respon di atas:

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

   Ini mengembalikan detail simpul garis keturunan yang sesuai dengan kumpulan data: 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. Bandingkan `sourceIdentifier` node dataset ini dan respons dari`GetAsset`. Jika tidak ditautkan, ini tidak akan cocok, dan karenanya tidak akan terlihat di UI garis keturunan.

**Skenario dan mitigasi yang tidak cocok**  
Berikut ini adalah skenario yang umum diketahui di mana ini tidak akan cocok dan kemungkinan mitigasi:

**Akar penyebab**: Tabel hadir di akun yang berbeda dari akun DataZone domain Amazon.

**Mitigasi**: Anda dapat menjalankan `PostLineageEvent` operasi dari akun terkait. Karena `accountId` untuk membangun ARN diambil dari kredenal pemanggil, Anda dapat mengambil peran dari akun yang berisi tabel saat menjalankan skrip atau pemanggilan memulai. `PostLineageEvent` Melakukannya akan membantu dalam membangun ARNs dengan benar dan menghubungkan dengan node aset.

**Akar penyebab**: ARN untuk Redshift table/views berisi RedShift/RedShift-Serverless berdasarkan namespace dan atribut nama dari informasi kumpulan data yang sesuai dalam acara run. OpenLineage 

**Mitigasi**: Karena tidak ada cara deterministik untuk mengetahui apakah nama yang diberikan milik cluster atau workgroup, kami menggunakan heuristik berikut:
+ Jika “nama” yang sesuai dengan kumpulan data berisi "`redshift-serverless.amazonaws.com`“, kami menggunakan redshift-serverless sebagai bagian dari ARN, jika tidak default ke “pergeseran merah”.
+ Di atas berarti alias pada nama workgroup tidak akan berfungsi.

**Akar penyebab**: Kumpulan data hulu tidak ditautkan dengan benar untuk aset khusus.

**Mitigasi**<name>: Pastikan untuk mengisi aset dengan memanggil`CreateAsset`/`CreateAssetRevision`yang cocok dengan node dataset (`sourceIdentifier`yang akan menjadi<namespace>/untuk node khusus). `sourceIdentifier`