Koneksi Azure Cosmos DB - AWS Glue

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 NoSQL API di Glue 4.0 dan versi yang lebih baru. AWS Anda dapat menentukan apa yang harus dibaca dari Azure Cosmos DB dengan kueri SQL. Anda terhubung ke Azure Cosmos DB menggunakan Azure Cosmos DB Key yang disimpan melalui AWS Secrets Manager koneksi Glue. AWS

Untuk informasi selengkapnya tentang Azure Cosmos DB untuk NoSQL, lihat dokumentasi Azure.

Mengkonfigurasi koneksi Azure Cosmos DB

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

Prasyarat:

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

Untuk mengonfigurasi koneksi ke Azure Cosmos DB:
  1. DiAWS 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 pasangan kunci/nilai, buat pasangan untuk kunci spark.cosmos.accountKey dengan nilai CosmosKey.

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

    • Saat memilih jenis Koneksi, pilih Azure Cosmos DB.

    • Saat memilih AWSSecret, berikan secretName.

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 membaca secretName.

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

    Sebuah Azure Cosmos untuk wadah NoSQL diidentifikasi oleh database dan wadahnya. Anda harus memberikan nama database, CosmosDBName, dan container cosmosContainerName, saat menghubungkan ke Azure Cosmos for NoSQL API.

  • Koneksi AWS Glue Azure Cosmos DB yang dikonfigurasi untuk memberikan informasi autentikasi dan lokasi jaringan. Untuk mendapatkan ini, selesaikan langkah-langkah dalam prosedur sebelumnya, Untuk mengkonfigurasi koneksi ke Azure Cosmos DB. Anda akan memerlukan nama koneksi AWS Glue, ConnectionName.

Misalnya:

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.

Misalnya:

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 DynamicFrame yang sudah ada 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.

    Sebuah Azure Cosmos untuk wadah NoSQL diidentifikasi oleh database dan wadahnya. Anda harus memberikan nama database, CosmosDBName, dan container cosmosContainerName, saat menghubungkan ke Azure Cosmos for NoSQL API.

  • Koneksi AWS Glue Azure Cosmos DB yang dikonfigurasi untuk memberikan informasi autentikasi dan lokasi jaringan. Untuk mendapatkan ini, selesaikan langkah-langkah dalam prosedur sebelumnya, Untuk mengkonfigurasi koneksi ke Azure Cosmos DB. Anda akan memerlukan nama koneksi AWS Glue, ConnectionName.

Misalnya:

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 Baca/tulis Nama koneksi AWS Glue Azure Cosmos DB yang dikonfigurasi untuk memberikan informasi autentikasi dan lokasi jaringan ke metode koneksi Anda.

  • spark.cosmos.database — Diperlukan. Digunakan untuk Baca/tulis Nilai yang Valid: nama database. Azure Cosmos DB untuk nama database NoSQL.

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

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