View a markdown version of this page

Koneksi Azure Cosmos DB - AWS Lem

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

Koneksi Azure Cosmos DB

Anda dapat menggunakan AWS Glue for Spark untuk membaca dan menulis ke wadah yang ada di Azure Cosmos DB menggunakan API NoSQL di AWS Glue 4.0 dan versi yang lebih baru. Anda dapat menentukan apa yang akan dibaca dari Azure Cosmos DB dengan kueri SQL. Anda terhubung ke Azure Cosmos DB menggunakan Azure Cosmos DB Key yang disimpan AWS Secrets Manager melalui koneksi AWS Glue.

Untuk informasi selengkapnya tentang Azure Cosmos DB untuk NoSQL, lihat dokument https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/ asi Azure.

Mengkonfigurasi koneksi Azure Cosmos DB

Untuk terhubung ke Azure Cosmos DB dari AWS Glue, Anda harus membuat dan menyimpan Azure Cosmos DB Key Anda secara AWS Secrets Manager rahasia, lalu mengaitkan rahasia itu dengan koneksi Azure Cosmos DB AWS Glue.

Prasyarat:

  • Di Azure, Anda perlu mengidentifikasi atau membuat Azure Cosmos DB Key untuk digunakan oleh AWS Glue,cosmosKey. Untuk informasi selengkapnya, lihat Akses aman ke data di Azure Cosmos DB di dokumentasi Azure.

Untuk mengkonfigurasi koneksi ke Azure Cosmos DB:
  1. Di AWS Secrets Manager, buat rahasia menggunakan Azure Cosmos DB Key Anda. Untuk membuat rahasia di Secrets Manager, ikuti tutorial yang tersedia di Buat AWS Secrets Manager rahasia dalam AWS Secrets Manager dokumentasi. Setelah membuat rahasia, simpan nama Rahasia, secretName untuk langkah selanjutnya.

    • Saat memilih Key/value pasangan, buat pasangan untuk kunci spark.cosmos.accountKey dengan nilaicosmosKey.

  2. Di konsol AWS Glue, buat koneksi dengan mengikuti langkah-langkah diMenambahkan AWS Glue koneksi. Setelah membuat koneksi, simpan nama koneksi,connectionName, untuk digunakan di masa mendatang di AWS Glue.

    • Saat memilih jenis koneksi, pilih Azure Cosmos DB.

    • Saat memilih AWS Rahasia, berikansecretName.

Setelah membuat koneksi AWS Glue Azure Cosmos DB, Anda harus melakukan langkah-langkah berikut sebelum menjalankan pekerjaan AWS Glue Anda:

  • Berikan peran IAM yang terkait dengan izin pekerjaan AWS Glue Anda untuk membacasecretName.

  • Dalam konfigurasi pekerjaan AWS Glue Anda, berikan connectionName sebagai koneksi jaringan tambahan.

Membaca dari Azure Cosmos DB untuk wadah NoSQL

Prasyarat:

  • Azure Cosmos DB untuk wadah NoSQL yang ingin Anda baca. Anda akan memerlukan informasi identifikasi untuk wadah.

    Kontainer Azure Cosmos untuk NoSQL diidentifikasi oleh database dan wadahnya. Anda harus memberikan nama database,cosmosDBName, dan wadahcosmosContainerName, saat menghubungkan ke Azure Cosmos for NoSQL API.

  • Koneksi AWS Glue Azure Cosmos DB dikonfigurasi untuk memberikan informasi lokasi autentikasi dan jaringan. Untuk mendapatkannya, selesaikan langkah-langkah dalam prosedur sebelumnya, Untuk mengkonfigurasi koneksi ke Azure Cosmos DB. Anda akan membutuhkan nama koneksi AWS Glue,connectionName.

Contoh:

azurecosmos_read = glueContext.create_dynamic_frame.from_options( connection_type="azurecosmos", connection_options={ "connectionName": connectionName, "spark.cosmos.database": cosmosDBName, "spark.cosmos.container": cosmosContainerName, } )

Anda juga dapat memberikan kueri SELECT SQL, untuk memfilter hasil yang dikembalikan ke Anda DynamicFrame. Anda perlu mengkonfigurasiquery.

Contoh:

azurecosmos_read_query = glueContext.create_dynamic_frame.from_options( connection_type="azurecosmos", connection_options={ "connectionName": "connectionName", "spark.cosmos.database": cosmosDBName, "spark.cosmos.container": cosmosContainerName, "spark.cosmos.read.customQuery": "query" } )

Menulis ke Azure Cosmos DB untuk wadah NoSQL

Contoh ini menulis informasi dari yang sudah ada DynamicFrame, dynamicFrame ke Azure Cosmos DB. Jika wadah sudah memiliki informasi, AWS Glue akan menambahkan data dari Anda DynamicFrame. Jika informasi dalam wadah memiliki skema yang berbeda dari informasi yang Anda tulis, Anda akan mengalami kesalahan.

Prasyarat:

  • Tabel Azure Cosmos DB yang ingin Anda tulis. Anda akan memerlukan informasi identifikasi untuk wadah. Anda harus membuat wadah sebelum memanggil metode koneksi.

    Kontainer Azure Cosmos untuk NoSQL diidentifikasi oleh database dan wadahnya. Anda harus memberikan nama database,cosmosDBName, dan wadahcosmosContainerName, saat menghubungkan ke Azure Cosmos for NoSQL API.

  • Koneksi AWS Glue Azure Cosmos DB dikonfigurasi untuk memberikan informasi lokasi autentikasi dan jaringan. Untuk mendapatkannya, selesaikan langkah-langkah dalam prosedur sebelumnya, Untuk mengkonfigurasi koneksi ke Azure Cosmos DB. Anda akan membutuhkan nama koneksi AWS Glue,connectionName.

Contoh:

azurecosmos_write = glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type="azurecosmos", connection_options={ "connectionName": connectionName, "spark.cosmos.database": cosmosDBName, "spark.cosmos.container": cosmosContainerName )

Referensi opsi koneksi Azure Cosmos DB

  • connectionName — Diperlukan. Digunakan untuk Read/Write. Nama koneksi AWS Glue Azure Cosmos DB dikonfigurasi untuk memberikan informasi lokasi autentikasi dan jaringan ke metode koneksi Anda.

  • spark.cosmos.database — Diperlukan. Digunakan untuk Read/Write. Nilai Valid: nama database. Azure Cosmos DB untuk nama database NoSQL.

  • spark.cosmos.container — Diperlukan. Digunakan untuk Read/Write. Nilai Valid: nama wadah. Azure Cosmos DB untuk nama wadah NoSQL.

  • spark.cosmos.read.customQuery— Digunakan untuk membaca. Nilai yang Valid: PILIH kueri SQL. Kueri khusus untuk memilih dokumen yang akan dibaca.