

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

# Memulai dengan Amazon DataZone
<a name="getting-started"></a>

Informasi di bagian ini membantu Anda mulai menggunakan Amazon DataZone. Jika Anda baru mengenal Amazon DataZone, mulailah dengan menjadi akrab dengan konsep dan terminologi yang disajikan. [DataZone Terminologi dan konsep Amazon](datazone-concepts.md)

Sebelum Anda memulai langkah-langkah di salah satu alur kerja quickstart ini, Anda harus menyelesaikan prosedur yang dijelaskan di bagian [Pengaturan](setting-up.md) panduan ini. Jika Anda menggunakan AWS akun baru, Anda harus [mengonfigurasi izin yang diperlukan untuk menggunakan konsol DataZone manajemen Amazon](create-iam-roles.md). Jika Anda menggunakan AWS akun yang memiliki objek Katalog Data AWS Glue yang ada, Anda juga harus [mengonfigurasi izin Lake Formation ke Amazon DataZone](lake-formation-permissions-for-datazone.md). 

Bagian memulai ini akan membawa Anda melalui alur kerja DataZone quickstart Amazon berikut:

**Topics**
+ [Amazon DataZone mulai cepat dengan data AWS Glue](quickstart-glue.md)
+ [DataZone Mulai cepat Amazon dengan data Amazon Redshift](quickstart-rs.md)
+ [Amazon DataZone mulai cepat dengan skrip sampel](quickstart-apis.md)

# Amazon DataZone mulai cepat dengan data AWS Glue
<a name="quickstart-glue"></a>

Selesaikan langkah-langkah mulai cepat berikut untuk menjalankan alur kerja produsen data dan konsumen data lengkap di Amazon DataZone dengan data AWS Glue sampel. 

**Topics**
+ [Langkah 1 - Buat DataZone domain Amazon dan portal data](#create-domain-gs-glue)
+ [Langkah 2 - Buat proyek penerbitan](#create-publishing-project-gs-glue)
+ [Langkah 3 - Ciptakan lingkungan](#create-environment-gs-glue)
+ [Langkah 4 - Menghasilkan data untuk penerbitan](#produce-data-for-publishing-gs-glue)
+ [Langkah 5 - Kumpulkan metadata dari Glue AWS](#gather-metadata-from-glue-gs-glue)
+ [Langkah 6 - Kurasi dan publikasikan aset data](#curate-data-asset-gs-glue)
+ [Langkah 7 - Buat proyek untuk analisis data](#create-project-for-data-analysis-gs-glue)
+ [Langkah 8 - Buat lingkungan untuk analisis data](#create-environment-gs2-glue)
+ [Langkah 9 - Cari katalog data dan berlangganan data](#search-catalog-subscribe-gs-glue)
+ [Langkah 10 - Menyetujui permintaan berlangganan](#approve-subscription-request-gs-glue)
+ [Langkah 11 - Buat kueri dan analisis data di Amazon Athena](#analyze-data-gs-glue)

## Langkah 1 - Buat DataZone domain Amazon dan portal data
<a name="create-domain-gs-glue"></a>

Bagian ini menjelaskan langkah-langkah membuat DataZone domain Amazon dan portal data untuk alur kerja ini.

Selesaikan prosedur berikut untuk membuat DataZone domain Amazon. Untuk informasi selengkapnya tentang DataZone domain Amazon, lihat[DataZone Terminologi dan konsep Amazon](datazone-concepts.md). 

1. **Arahkan ke DataZone konsol Amazon di [https://console.aws.amazon.com/datazone](https://console.aws.amazon.com/datazone), masuk, lalu pilih Buat domain.** 
**catatan**  
Jika Anda ingin menggunakan DataZone domain Amazon yang ada untuk alur kerja ini, pilih **Lihat domain**, lalu pilih domain yang ingin Anda gunakan, lalu lanjutkan ke Langkah 2 membuat proyek penerbitan.

1. Pada halaman **Buat domain**, berikan nilai untuk bidang berikut: 
   + **Nama** - tentukan nama untuk domain Anda. Untuk keperluan alur kerja ini, Anda dapat menghubungi **pemasaran** domain ini.
   + **Deskripsi** - tentukan deskripsi domain opsional.
   + **Enkripsi data** - data Anda dienkripsi secara default dengan kunci yang AWS memiliki dan mengelola untuk Anda. Untuk kasus penggunaan ini, Anda dapat meninggalkan pengaturan enkripsi data default.

     Untuk informasi selengkapnya tentang menggunakan kunci terkelola pelanggan, lihat[Enkripsi data saat istirahat untuk Amazon DataZone](encryption-rest-datazone.md). Jika Anda menggunakan kunci KMS Anda sendiri untuk enkripsi data, Anda harus menyertakan pernyataan berikut dalam default [AmazonDataZoneDomainExecutionRole](AmazonDataZoneDomainExecutionRole.md) Anda.

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

------
   + **Akses layanan** - biarkan yang dipilih secara default **Gunakan opsi peran default** tidak berubah.
**catatan**  
Jika Anda menggunakan DataZone domain Amazon yang ada untuk alur kerja ini, Anda dapat memilih opsi **Gunakan peran layanan yang ada, lalu pilih peran** yang ada dari menu tarik-turun.
   + Di bawah **Pengaturan cepat**, pilih **Siapkan akun ini untuk konsumsi dan penerbitan data**. Opsi ini memungkinkan DataZone cetak biru Amazon bawaan dari **Data lake dan **gudang Data****, dan mengonfigurasi izin yang diperlukan, sumber daya, proyek default, dan data lake default dan profil lingkungan gudang data untuk akun ini. Untuk informasi selengkapnya tentang DataZone cetak biru Amazon, lihat. [DataZone Terminologi dan konsep Amazon](datazone-concepts.md)
   + Simpan kolom yang tersisa di bawah **Detail izin** tidak berubah. 
**catatan**  
Jika Anda memiliki DataZone domain Amazon yang sudah ada, Anda dapat memilih opsi **Gunakan peran layanan yang ada dan kemudian memilih peran** yang ada dari menu tarik-turun untuk peran **Glue Manage Access, peran** **Redshift Manage Access**, **dan** peran Penyediaan. 
   + Jaga agar bidang di bawah **Tag** tidak berubah.
   + Pilih **Create domain** (Buat domain).

1. Setelah domain berhasil dibuat, pilih domain ini, dan pada halaman ringkasan domain, catat **URL portal data** untuk domain ini. Anda dapat menggunakan URL ini untuk mengakses portal DataZone data Amazon Anda untuk menyelesaikan langkah-langkah lainnya dalam alur kerja ini. Anda juga dapat menavigasi ke portal data dengan memilih **Buka portal data**.

**catatan**  
Dalam rilis Amazon saat ini DataZone, setelah domain dibuat, URL yang dihasilkan untuk portal data tidak dapat dimodifikasi.

Pembuatan domain dapat memakan waktu beberapa menit untuk menyelesaikannya. Tunggu domain memiliki status **Tersedia** sebelum melanjutkan ke langkah berikutnya.

## Langkah 2 - Buat proyek penerbitan
<a name="create-publishing-project-gs-glue"></a>

Bagian ini menjelaskan langkah-langkah yang diperlukan untuk membuat proyek penerbitan untuk alur kerja ini.

1. Setelah Anda menyelesaikan Langkah 1 di atas dan membuat domain, Anda akan melihat **Selamat Datang di Amazon DataZone\$1** jendela. Di jendela ini, pilih **Buat proyek**.

1. **Tentukan nama proyek, misalnya, untuk alur kerja ini, Anda dapat menamainya **SalesDataPublishingProject**, lalu biarkan bidang lainnya tidak berubah, lalu pilih Buat.**

## Langkah 3 - Ciptakan lingkungan
<a name="create-environment-gs-glue"></a>

Bagian ini menjelaskan langkah-langkah yang diperlukan untuk membuat lingkungan untuk alur kerja ini.

1. Setelah Anda menyelesaikan Langkah 2 di atas dan membuat proyek Anda, **Anda akan melihat jendela Proyek Anda siap digunakan**. Di jendela ini, pilih **Buat lingkungan**.

1. Pada halaman **Buat lingkungan**, tentukan yang berikut ini dan kemudian pilih **Buat lingkungan**.

1. Tentukan nilai untuk yang berikut:
   + **Nama** - tentukan nama untuk lingkungan. Untuk panduan ini, Anda bisa menyebutnya. `Default data lake environment`
   + **Deskripsi** - tentukan deskripsi untuk lingkungan.
   + **Profil lingkungan** - pilih profil **DataLakeProfile**lingkungan. Ini memungkinkan Anda menggunakan Amazon DataZone dalam alur kerja ini untuk bekerja dengan data di Amazon S3, AWS Glue Catalog, dan Amazon Athena.
   + Untuk panduan ini, jaga agar bidang lainnya tidak berubah.

1. Pilih **Buat lingkungan**.

## Langkah 4 - Menghasilkan data untuk penerbitan
<a name="produce-data-for-publishing-gs-glue"></a>

Bagian ini menjelaskan langkah-langkah yang diperlukan untuk menghasilkan data untuk penerbitan dalam alur kerja ini.

1. Setelah Anda menyelesaikan langkah 3 di atas, dalam `SalesDataPublishingProject` proyek Anda, di panel sebelah kanan, di bawah **alat Analytics**, pilih **Amazon Athena**. Ini membuka editor kueri Athena menggunakan kredensi proyek Anda untuk otentikasi. Pastikan bahwa lingkungan penerbitan Anda dipilih di dropdown ** DataZone lingkungan Amazon** dan `<environment_name>%_pub_db` database dipilih seperti pada editor kueri.

1. Untuk panduan ini, Anda menggunakan skrip kueri **Create Table as Select** (CTAS) untuk membuat tabel baru yang ingin Anda publikasikan ke Amazon. DataZone Di editor kueri Anda, jalankan skrip CTAS ini untuk membuat `mkt_sls_table` tabel yang dapat Anda publikasikan dan sediakan untuk pencarian dan berlangganan. 

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

   Pastikan tabel **mkt\$1sls\$1table** berhasil dibuat di bagian **Tabel dan tampilan di sisi kiri**. Sekarang Anda memiliki aset data yang dapat dipublikasikan ke dalam DataZone katalog Amazon.

## Langkah 5 - Kumpulkan metadata dari Glue AWS
<a name="gather-metadata-from-glue-gs-glue"></a>

Bagian ini menjelaskan langkah pengumpulan metadata dari AWS Glue untuk alur kerja ini.

1. Setelah Anda menyelesaikan langkah 4 di atas, di portal DataZone data Amazon, pilih `SalesDataPublishingProject` proyek, lalu pilih tab **Data**, lalu pilih **Sumber data** di panel sebelah kiri.

1. Pilih sumber yang dibuat sebagai bagian dari proses pembuatan lingkungan. 

1. Pilih **Run** di sebelah menu dropdown **Action** dan kemudian pilih tombol refresh. Setelah sumber data berjalan selesai, aset ditambahkan ke DataZone inventaris Amazon.

## Langkah 6 - Kurasi dan publikasikan aset data
<a name="curate-data-asset-gs-glue"></a>

Bagian ini menjelaskan langkah-langkah kurasi dan penerbitan aset data dalam alur kerja ini.

1. Setelah Anda menyelesaikan langkah 5 di atas, di portal DataZone data Amazon, pilih `SalesDataPublishingProject` proyek yang Anda buat pada langkah sebelumnya, pilih tab **Data**, pilih **Data inventaris** di panel sebelah kiri, dan temukan tabel. `mkt_sls_table`

1. Buka halaman detail `mkt_sls_table` aset untuk melihat nama bisnis yang dibuat secara otomatis. Pilih ikon **metadata yang dihasilkan secara otomatis** untuk melihat nama aset dan kolom yang dibuat secara otomatis. Anda dapat menerima atau menolak setiap nama satu per satu atau memilih **Terima semua** untuk menerapkan nama yang dihasilkan. Secara opsional, Anda juga dapat menambahkan formulir metadata yang tersedia ke aset Anda dan memilih istilah glosarium untuk mengklasifikasikan data Anda.

1. Pilih **Publikasikan aset** untuk mempublikasikan `mkt_sls_table` aset.

## Langkah 7 - Buat proyek untuk analisis data
<a name="create-project-for-data-analysis-gs-glue"></a>

Bagian ini menjelaskan langkah-langkah pembuatan proyek untuk analisis data. Ini adalah awal dari langkah-langkah konsumen data dari alur kerja ini.

1. Setelah Anda menyelesaikan langkah 6 di atas, di portal DataZone data Amazon, pilih **Buat proyek** dari menu drop-down **Project**.

1. **Pada halaman **Buat proyek**, tentukan nama proyek, misalnya, untuk alur kerja ini, Anda dapat menamainya **MarketingDataAnalysisProject**, lalu biarkan bidang lainnya tidak berubah, lalu pilih Buat.**

## Langkah 8 - Buat lingkungan untuk analisis data
<a name="create-environment-gs2-glue"></a>

Bagian ini menjelaskan langkah-langkah menciptakan lingkungan untuk analisis data.

1. Setelah Anda menyelesaikan langkah 7 di atas, di portal DataZone data Amazon, pilih `MarketingDataAnalysisProject` proyek, lalu pilih tab **Lingkungan**, lalu pilih **Buat lingkungan**.

1. Pada halaman **Buat lingkungan**, tentukan yang berikut ini dan kemudian pilih **Buat lingkungan**.
   + **Nama** - tentukan nama untuk lingkungan. Untuk panduan ini, Anda bisa menyebutnya. `Default data lake environment`
   + **Deskripsi** - tentukan deskripsi untuk lingkungan.
   + **Profil lingkungan** - pilih profil **DataLakeProfile**lingkungan bawaan.
   + Untuk panduan ini, jaga agar bidang lainnya tidak berubah.

## Langkah 9 - Cari katalog data dan berlangganan data
<a name="search-catalog-subscribe-gs-glue"></a>

Bagian ini menjelaskan langkah-langkah mencari katalog data dan berlangganan data.

1. Setelah Anda menyelesaikan langkah 8 di atas, di portal DataZone data Amazon, pilih DataZone ikon Amazon, dan di bidang DataZone **Pencarian** Amazon, cari aset data menggunakan kata kunci (misalnya, 'katalog' atau 'penjualan') di bilah **Pencarian** portal data. 

   Jika perlu, terapkan filter atau penyortiran, dan setelah Anda menemukan aset **Data Penjualan Produk**, Anda dapat memilihnya untuk membuka halaman detail aset.

1. Pada halaman detail aset **Data Penjualan Katalog**, pilih **Berlangganan**.

1. **Dalam dialog **Subscribe**, pilih project **MarketingDataAnalysisProject**konsumen Anda dari dropdown, lalu tentukan alasan permintaan berlangganan Anda, lalu pilih Subscribe.**

## Langkah 10 - Menyetujui permintaan berlangganan
<a name="approve-subscription-request-gs-glue"></a>

Bagian ini menjelaskan langkah-langkah menyetujui permintaan berlangganan.

1. Setelah Anda menyelesaikan langkah 9 di atas, di portal DataZone data Amazon, pilih **SalesDataPublishingProject**proyek yang Anda gunakan untuk menerbitkan aset Anda.

1. Pilih tab **Data**, lalu **Data yang dipublikasikan**, lalu pilih **Permintaan masuk**.

1. Sekarang Anda dapat melihat baris untuk permintaan baru yang membutuhkan persetujuan. Pilih **Lihat permintaan**. Berikan alasan untuk persetujuan dan pilih **Menyetujui**.

## Langkah 11 - Buat kueri dan analisis data di Amazon Athena
<a name="analyze-data-gs-glue"></a>

Sekarang setelah Anda berhasil menerbitkan aset ke DataZone katalog Amazon dan berlangganan, Anda dapat menganalisisnya.

1. Di portal DataZone data Amazon, pilih proyek **MarketingDataAnalysisProject**konsumen Anda dan kemudian, dari panel sebelah kanan, di bawah **alat Analytics**, pilih tautan **Data kueri** dengan Amazon Athena. Ini membuka editor kueri Amazon Athena menggunakan kredensi proyek Anda untuk otentikasi. Pilih lingkungan **MarketingDataAnalysisProject**konsumen dari dropdown **Amazon DataZone Environment** di editor kueri dan kemudian pilih proyek Anda `<environment_name>%sub_db` dari dropdown database.

1. Anda sekarang dapat menjalankan kueri pada tabel berlangganan. Anda dapat memilih **tabel dari Tabel dan Tampilan**, dan kemudian memilih **Pratinjau** untuk memiliki pernyataan pilih di editor layar. Jalankan kueri untuk melihat hasilnya. 

# DataZone Mulai cepat Amazon dengan data Amazon Redshift
<a name="quickstart-rs"></a>

Selesaikan langkah-langkah mulai cepat berikut untuk menjalankan alur kerja produsen data dan konsumen data lengkap di Amazon DataZone dengan contoh data Amazon Redshift. 

**Topics**
+ [Langkah 1 - Buat DataZone domain Amazon dan portal data](#create-domain-gs-rs)
+ [Langkah 2 - Buat proyek penerbitan](#create-publishing-project-gs-rs)
+ [Langkah 3 - Ciptakan lingkungan](#create-environment-gs-rs)
+ [Langkah 4 - Menghasilkan data untuk penerbitan](#produce-data-for-publishing-gs-rs)
+ [Langkah 5 - Kumpulkan metadata dari Amazon Redshift](#gather-metadata-from-glue-gs-rs)
+ [Langkah 6 - Kurasi dan publikasikan aset data](#curate-data-asset-gs-rs)
+ [Langkah 7 - Buat proyek untuk analisis data](#create-project-for-data-analysis-gs-rs)
+ [Langkah 8 - Buat lingkungan untuk analisis data](#create-environment-gs2-rs)
+ [Langkah 9 - Cari katalog data dan berlangganan data](#search-catalog-subscribe-gs-rs)
+ [Langkah 10 - Menyetujui permintaan berlangganan](#approve-subscription-request-gs-rs)
+ [Langkah 11 - Buat kueri dan analisis data di Amazon Redshift](#analyze-data-gs-rs)

## Langkah 1 - Buat DataZone domain Amazon dan portal data
<a name="create-domain-gs-rs"></a>

Selesaikan prosedur berikut untuk membuat DataZone domain Amazon. Untuk informasi selengkapnya tentang DataZone domain Amazon, lihat[DataZone Terminologi dan konsep Amazon](datazone-concepts.md). 

1. **Arahkan ke DataZone konsol Amazon di [https://console.aws.amazon.com/datazone](https://console.aws.amazon.com/datazone), masuk, lalu pilih Buat domain.**
**catatan**  
Jika Anda ingin menggunakan DataZone domain Amazon yang ada untuk alur kerja ini, pilih Lihat domain, lalu pilih domain yang ingin Anda gunakan, lalu lanjutkan ke Langkah 2 membuat proyek penerbitan.

1. Pada halaman **Buat domain**, berikan nilai untuk bidang berikut: 
   + **Nama** - tentukan nama untuk domain Anda. Untuk keperluan alur kerja ini, Anda dapat memanggil domain `Marketing` ini.
   + **Deskripsi** - tentukan deskripsi domain opsional.
   + **Enkripsi data** - data Anda dienkripsi secara default dengan kunci yang AWS memiliki dan mengelola untuk Anda. Untuk panduan ini, Anda dapat meninggalkan pengaturan enkripsi data default.

     Untuk informasi selengkapnya tentang menggunakan kunci terkelola pelanggan, lihat[Enkripsi data saat istirahat untuk Amazon DataZone](encryption-rest-datazone.md). Jika Anda menggunakan kunci KMS Anda sendiri untuk enkripsi data, Anda harus menyertakan pernyataan berikut dalam default [AmazonDataZoneDomainExecutionRole](AmazonDataZoneDomainExecutionRole.md) Anda.

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

------
   + **Akses layanan** - pilih opsi **Gunakan peran layanan khusus** dan kemudian pilih **AmazonDataZoneDomainExecutionRole**dari menu tarik-turun.
   + Di bawah **Pengaturan cepat**, pilih **Siapkan akun ini untuk konsumsi dan penerbitan data**. Opsi ini memungkinkan DataZone cetak biru Amazon bawaan dari **Data lake dan **gudang Data****, dan mengonfigurasi izin dan sumber daya yang diperlukan untuk menyelesaikan langkah-langkah lainnya dalam alur kerja ini. Untuk informasi selengkapnya tentang DataZone cetak biru Amazon, lihat. [DataZone Terminologi dan konsep Amazon](datazone-concepts.md)
   + Simpan kolom yang tersisa di bawah **Detail izin** dan **Tag** tidak berubah, lalu pilih **Buat** domain.

1. Setelah domain berhasil dibuat, pilih domain ini, dan pada halaman ringkasan domain, catat **URL portal data** untuk domain ini. Anda dapat menggunakan URL ini untuk mengakses portal DataZone data Amazon Anda untuk menyelesaikan langkah-langkah lainnya dalam alur kerja ini.

**catatan**  
Dalam rilis Amazon saat ini DataZone, setelah domain dibuat, URL yang dihasilkan untuk portal data tidak dapat dimodifikasi.

Pembuatan domain dapat memakan waktu beberapa menit untuk menyelesaikannya. Tunggu domain memiliki status **Tersedia** sebelum melanjutkan ke langkah berikutnya.

## Langkah 2 - Buat proyek penerbitan
<a name="create-publishing-project-gs-rs"></a>

Bagian berikut menjelaskan langkah-langkah pembuatan proyek penerbitan dalam alur kerja ini.

1. Setelah Anda menyelesaikan Langkah 1, navigasikan ke portal DataZone data Amazon menggunakan URL portal data dan masuk menggunakan kredenal masuk tunggal (SSO) atau AWS IAM Anda. 

1. **Pilih **Buat proyek**, tentukan nama proyek, misalnya, untuk alur kerja ini, Anda dapat menamainya **SalesDataPublishingProject**, lalu biarkan bidang lainnya tidak berubah, lalu pilih Buat.**

## Langkah 3 - Ciptakan lingkungan
<a name="create-environment-gs-rs"></a>

Bagian berikut menjelaskan langkah-langkah menciptakan lingkungan dalam alur kerja ini.

1. Setelah Anda menyelesaikan Langkah 2, di portal DataZone data Amazon, pilih `SalesDataPublishingProject` proyek yang Anda buat pada langkah sebelumnya, lalu pilih tab **Lingkungan**, lalu pilih **Buat lingkungan**.

1. Pada halaman **Buat lingkungan**, tentukan yang berikut ini dan kemudian pilih **Buat lingkungan**.
   + **Nama** - tentukan nama untuk lingkungan. Untuk panduan ini, Anda bisa menyebutnya. `Default data warehouse environment`
   + **Deskripsi** - tentukan deskripsi untuk lingkungan.
   + **Profil lingkungan** - pilih profil **DataWarehouseProfile**lingkungan.
   + Berikan nama cluster Amazon Redshift Anda, nama database, dan ARN rahasia untuk cluster Amazon Redshift tempat data Anda disimpan. 
**catatan**  
Pastikan rahasia Anda di AWS Secrets Manager menyertakan tag berikut (kunci/nilai):  
Untuk cluster Amazon Redshift - datazone.rs.cluster: <cluster\$1name:database name>  
Untuk grup kerja Amazon Redshift Tanpa Server - datazone.rs.workgroup: <workgroup\$1name:database\$1name>
AmazonDataZoneProject: <projectID> 
AmazonDataZoneDomain: <domainID>
Untuk informasi selengkapnya, lihat [Menyimpan kredensi database di AWS Secrets Manager](https://docs.aws.amazon.com//redshift/latest/mgmt/data-api-access.html#data-api-secrets).  
Pengguna database yang Anda berikan di AWS Secrets Manager harus memiliki izin pengguna super.

## Langkah 4 - Menghasilkan data untuk penerbitan
<a name="produce-data-for-publishing-gs-rs"></a>

Bagian berikut menjelaskan langkah-langkah memproduksi data untuk penerbitan dalam alur kerja ini.

1. Setelah Anda menyelesaikan Langkah 3, di portal DataZone data Amazon, pilih `SalesDataPublishingProject` proyek, dan kemudian, di panel sebelah kanan, di bawah **alat Analytics**, pilih **Amazon Redshift**. Ini membuka editor kueri Amazon Redshift menggunakan kredensi proyek Anda untuk autentikasi.

1. Untuk panduan ini, Anda menggunakan skrip kueri **Create Table as Select** (CTAS) untuk membuat tabel baru yang ingin Anda publikasikan ke Amazon. DataZone Di editor kueri Anda, jalankan skrip CTAS ini untuk membuat `mkt_sls_table` tabel yang dapat Anda publikasikan dan sediakan untuk pencarian dan berlangganan. 

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

   Pastikan tabel **mkt\$1sls\$1table berhasil** dibuat. Sekarang Anda memiliki aset data yang dapat dipublikasikan ke dalam DataZone katalog Amazon.

## Langkah 5 - Kumpulkan metadata dari Amazon Redshift
<a name="gather-metadata-from-glue-gs-rs"></a>

Bagian berikut menjelaskan langkah-langkah pengumpulan metadata dari Amazon Redshift.

1. Setelah Anda menyelesaikan Langkah 4, di portal DataZone data Amazon, pilih `SalesDataPublishingProject` proyek, lalu pilih tab **Data**, lalu pilih **Sumber data**.

1. Pilih sumber yang dibuat sebagai bagian dari proses pembuatan lingkungan. 

1. Pilih **Run** di sebelah menu dropdown **Action** dan kemudian pilih tombol refresh. Setelah sumber data berjalan selesai, aset ditambahkan ke DataZone inventaris Amazon.

## Langkah 6 - Kurasi dan publikasikan aset data
<a name="curate-data-asset-gs-rs"></a>

Bagian berikut menjelaskan langkah-langkah kurasi dan penerbitan aset data dalam alur kerja ini.

1. Setelah Anda menyelesaikan langkah 5, di portal DataZone data Amazon, pilih `SalesDataPublishingProject` proyek, lalu pilih tab **Data**, pilih **Data inventaris**, dan temukan `mkt_sls_table` tabel.

1. Buka halaman detail `mkt_sls_table` aset untuk melihat nama bisnis yang dibuat secara otomatis. Pilih ikon **metadata yang dihasilkan secara otomatis** untuk melihat nama aset dan kolom yang dibuat secara otomatis. Anda dapat menerima atau menolak setiap nama satu per satu atau memilih **Terima semua** untuk menerapkan nama yang dihasilkan. Secara opsional, Anda juga dapat menambahkan formulir metadata yang tersedia ke aset Anda dan memilih istilah glosarium untuk mengklasifikasikan data Anda.

1. Pilih **Publikasikan** untuk mempublikasikan `mkt_sls_table` aset.

## Langkah 7 - Buat proyek untuk analisis data
<a name="create-project-for-data-analysis-gs-rs"></a>

Bagian berikut menjelaskan langkah-langkah membuat proyek untuk analisis data dalam alur kerja ini.

1. Setelah Anda menyelesaikan Langkah 6, di portal DataZone data Amazon, pilih **Buat proyek**.

1. **Di halaman **Buat proyek**, tentukan nama proyek, misalnya, untuk alur kerja ini, Anda dapat menamainya **MarketingDataAnalysisProject**, lalu biarkan bidang lainnya tidak berubah, lalu pilih Buat.**

## Langkah 8 - Buat lingkungan untuk analisis data
<a name="create-environment-gs2-rs"></a>

Bagian berikut menjelaskan langkah-langkah menciptakan lingkungan untuk analisis data dalam alur kerja ini.

1. Setelah Anda menyelesaikan Langkah 7, di portal DataZone data Amazon, pilih `MarketingDataAnalysisProject` proyek yang Anda buat pada langkah sebelumnya, lalu pilih tab **Lingkungan**, lalu pilih **Tambahkan lingkungan**.

1. Pada halaman **Buat lingkungan**, tentukan yang berikut ini dan kemudian pilih **Buat lingkungan**.
   + **Nama** - tentukan nama untuk lingkungan. Untuk panduan ini, Anda bisa menyebutnya. `Default data warehouse environment`
   + **Deskripsi** - tentukan deskripsi untuk lingkungan.
   + **Profil lingkungan** - pilih profil **DataWarehouseProfile**lingkungan.
   + Berikan nama cluster Amazon Redshift Anda, nama database, dan ARN rahasia untuk cluster Amazon Redshift tempat data Anda disimpan. 
**catatan**  
Pastikan rahasia Anda di AWS Secrets Manager menyertakan tag berikut (kunci/nilai):  
Untuk cluster Amazon Redshift - datazone.rs.cluster: <cluster\$1name:database name>  
Untuk grup kerja Amazon Redshift Tanpa Server - datazone.rs.workgroup: <workgroup\$1name:database\$1name>
AmazonDataZoneProject: <projectID> 
AmazonDataZoneDomain: <domainID>
Untuk informasi selengkapnya, lihat [Menyimpan kredensi database di AWS Secrets Manager](https://docs.aws.amazon.com//redshift/latest/mgmt/data-api-access.html#data-api-secrets).  
Pengguna database yang Anda berikan di AWS Secrets Manager harus memiliki izin pengguna super.
   + Untuk panduan ini, jaga agar bidang lainnya tidak berubah.

## Langkah 9 - Cari katalog data dan berlangganan data
<a name="search-catalog-subscribe-gs-rs"></a>

Bagian berikut menjelaskan langkah-langkah mencari katalog data dan berlangganan data.

1. Setelah Anda menyelesaikan Langkah 8, di portal DataZone data Amazon, cari aset data menggunakan kata kunci (misalnya, 'katalog' atau 'penjualan') di bilah **Pencarian** portal data. 

   Jika perlu, terapkan filter atau penyortiran, dan setelah Anda menemukan aset Data Penjualan Produk, Anda dapat memilihnya untuk membuka halaman detail aset.

1. Pada halaman detail aset Data Penjualan Produk, pilih **Berlangganan**.

1. **Dalam dialog, pilih proyek konsumen Anda dari dropdown, berikan alasan permintaan akses, lalu pilih Berlangganan.**

## Langkah 10 - Menyetujui permintaan berlangganan
<a name="approve-subscription-request-gs-rs"></a>

Bagian berikut menjelaskan langkah-langkah menyetujui permintaan berlangganan dalam alur kerja ini.

1. Setelah Anda menyelesaikan Langkah 9, di portal DataZone data Amazon, pilih **SalesDataPublishingProject**proyek yang Anda gunakan untuk menerbitkan aset Anda.

1. Pilih tab **Data**, lalu **Data yang dipublikasikan**, lalu **Permintaan masuk**.

1. Pilih tautan permintaan tampilan dan kemudian pilih **Menyetujui**. 

## Langkah 11 - Buat kueri dan analisis data di Amazon Redshift
<a name="analyze-data-gs-rs"></a>

Sekarang setelah Anda berhasil menerbitkan aset ke DataZone katalog Amazon dan berlangganan, Anda dapat menganalisisnya.

1. Di portal DataZone data Amazon, di panel sebelah kanan, klik tautan Amazon Redshift. Ini membuka editor kueri Amazon Redshift menggunakan kredensi proyek untuk otentikasi.

1. Anda sekarang dapat menjalankan kueri (pilih pernyataan) pada tabel berlangganan. Anda dapat mengklik tabel (three-vertical-dots opsi) dan memilih pratinjau untuk memilih pernyataan di layar editor. Jalankan kueri untuk melihat hasilnya. 

# Amazon DataZone mulai cepat dengan skrip sampel
<a name="quickstart-apis"></a>

Anda dapat mengakses Amazon DataZone melalui portal manajemen atau portal DataZone data Amazon, atau secara terprogram dengan menggunakan Amazon DataZone HTTPS API, yang memungkinkan Anda mengeluarkan permintaan HTTPS langsung ke layanan. Bagian ini berisi contoh skrip yang memanggil Amazon DataZone APIs yang dapat Anda gunakan untuk menyelesaikan tugas umum berikut:

**Topics**
+ [Buat DataZone domain Amazon dan portal data](#create-domain-gs-glue-api)
+ [Buat proyek penerbitan](#create-publishing-project-gs-glue-api)
+ [Buat profil lingkungan](#create-environment-profile-gs-glue-api)
+ [Buat lingkungan](#create-environment-gs-glue-api)
+ [Kumpulkan metadata dari Glue AWS](#gather-metadata-from-glue-gs-glue-api)
+ [Kurasi dan publikasikan aset data](#curate-data-asset-gs-glue-api)
+ [Cari katalog data dan berlangganan data](#search-catalog-subscribe-gs-glue-api)
+ [Cari aset di katalog data](#search-catalog-subscribe-gs-glue-api)
+ [Contoh skrip berguna lainnya](#other-useful-scripts-api)

## Buat DataZone domain Amazon dan portal data
<a name="create-domain-gs-glue-api"></a>

Anda dapat menggunakan skrip contoh berikut untuk membuat DataZone domain Amazon. Untuk informasi selengkapnya tentang DataZone domain Amazon, lihat[DataZone Terminologi dan konsep Amazon](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",
    )
```

## Buat proyek penerbitan
<a name="create-publishing-project-gs-glue-api"></a>

Anda dapat menggunakan contoh skrip berikut untuk membuat proyek penerbitan di Amazon DataZone.

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

## Buat profil lingkungan
<a name="create-environment-profile-gs-glue-api"></a>

Anda dapat menggunakan contoh skrip berikut untuk membuat profil lingkungan di Amazon DataZone.

Contoh payload ini digunakan saat `CreateEnvironmentProfile` API dipanggil:

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

Skrip contoh ini memanggil `CreateEnvironmentProfile` API:

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

Ini adalah payload keluaran sampel setelah `CreateEnvironmentProfile` API dipanggil:

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

## Buat lingkungan
<a name="create-environment-gs-glue-api"></a>

Anda dapat menggunakan skrip contoh berikut untuk membuat lingkungan di Amazon 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
```

## Kumpulkan metadata dari Glue AWS
<a name="gather-metadata-from-glue-gs-glue-api"></a>

Anda dapat menggunakan skrip contoh ini untuk mengumpulkan metadata dari Glue AWS . Skrip ini berjalan pada jadwal standar. Anda dapat mengambil parameter dari skrip sampel dan membuatnya global. Ambil proyek, lingkungan, dan ID domain menggunakan fungsi standar. Sumber data AWS Glue dibuat dan dijalankan pada waktu standar yang dapat diperbarui di bagian cron skrip. 

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

## Kurasi dan publikasikan aset data
<a name="curate-data-asset-gs-glue-api"></a>

Anda dapat menggunakan contoh skrip berikut untuk mengkurasi dan mempublikasikan aset data di Amazon. DataZone

Anda dapat menggunakan skrip berikut untuk membuat jenis formulir kustom:

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

Anda dapat menggunakan contoh skrip berikut untuk membuat jenis aset kustom:

```
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,
    )
```

Anda dapat menggunakan contoh skrip berikut untuk membuat aset kustom:

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

Anda dapat menggunakan contoh skrip berikut untuk membuat glosarium:

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

Anda dapat menggunakan contoh skrip berikut untuk membuat istilah glosarium:

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

Anda dapat menggunakan skrip contoh berikut untuk membuat aset menggunakan tipe aset yang ditentukan sistem:

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

Anda dapat menggunakan contoh skrip berikut untuk membuat revisi aset dan melampirkan istilah glosarium:

```
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:>"]
    )
```

Anda dapat menggunakan contoh skrip berikut untuk mempublikasikan aset:

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

## Cari katalog data dan berlangganan data
<a name="search-catalog-subscribe-gs-glue-api"></a>

Anda dapat menggunakan contoh skrip berikut untuk mencari katalog data dan berlangganan data:

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

Anda dapat menggunakan contoh script berikut untuk mendapatkan ID listing untuk aset:

```
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']
```

Anda dapat menggunakan contoh skrip berikut untuk membuat permintaan berlangganan menggunakan ID daftar:

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

Menggunakan `create_subscription_response` hal di atas, dapatkan` subscription_request_id`, dan kemudian accept/approve berlangganan menggunakan skrip contoh berikut: 

```
subscription_request_id = create_subscription_response["id"]

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

## Cari aset di katalog data
<a name="search-catalog-subscribe-gs-glue-api"></a>

Anda dapat menggunakan contoh skrip berikut yang menggunakan pencarian teks gratis untuk mencari aset data yang dipublikasikan (daftar) di katalog Amazon DataZone .
+ Contoh berikut melakukan pencarian kata kunci teks gratis di domain dan mengembalikan semua daftar yang cocok dengan kata kunci yang disediakan 'kredit':

  ```
  aws datazone search-listings \
    --domain-identifier dzd_c1s7uxe71prrtz \
    --search-text "credit"
  ```
+ Anda juga dapat menggabungkan beberapa kata kunci untuk lebih mempersempit ruang lingkup pencarian. Misalnya, jika Anda mencari semua aset data yang dipublikasikan (daftar) yang memiliki data yang terkait dengan penjualan di Meksiko, Anda dapat merumuskan kueri Anda dengan dua kata kunci 'Meksiko' dan 'penjualan'. 

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

Anda juga dapat mencari daftar menggunakan filter. `filters`Parameter dalam SearchListings API memungkinkan Anda untuk mengambil hasil yang difilter dari domain. API mendukung beberapa filter default dan Anda juga dapat menggabungkan dua atau lebih filter dan melakukan operasi DAN/ATAU pada mereka. Klausa filter mengambil dua parameter: attrbibute dan nilai. Atribut filter default yang didukung adalah`typeName`,`owningProjectId`, dan`glossaryTerms`. 
+ Contoh berikut melakukan pencarian semua daftar dalam domain tertentu menggunakan `assetType` filter di mana daftar adalah jenis Tabel Redshift.

  ```
              aws datazone search-listings \
  --domain-identifier dzd_c1s7uxe71prrtz \
  --filters '{"or":[{"filter":{"attribute":"typeName","value":"RedshiftTableAssetType"}} ]}'
  ```
+ Anda juga dapat menggabungkan beberapa filter bersama-sama menggunakan AND/OR operasi. Dalam contoh berikut, Anda menggabungkan `typeName` dan `project` memfilter.

  ```
              aws datazone search-listings \
  --domain-identifier dzd_c1s7uxe71prrtz \
  --filters '{"or":[{"filter":{"attribute":"typeName","value":"RedshiftTableAssetType"}},  {"filter":{"attribute":"owningProjectId","value":"cwrrjch7f5kppj"}} ]}'
  ```
+ Anda bahkan dapat menggabungkan pencarian teks gratis bersama dengan filter untuk menemukan hasil yang tepat dan mengurutkannya lebih lanjut berdasarkan waktu daftar yang creation/last diperbarui seperti yang ditunjukkan pada contoh berikut:

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

## Contoh skrip berguna lainnya
<a name="other-useful-scripts-api"></a>

Anda dapat menggunakan contoh skrip berikut untuk menyelesaikan berbagai tugas saat Anda bekerja dengan data Anda di Amazon DataZone.

Gunakan contoh skrip berikut untuk mencantumkan DataZone domain Amazon yang ada:

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

Gunakan contoh skrip berikut untuk mencantumkan DataZone proyek Amazon yang ada:

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

Gunakan contoh skrip berikut untuk mencantumkan formulir DataZone metadata Amazon yang ada:

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