OpenSearch Koneksi layanan - AWS Glue

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

OpenSearch Koneksi layanan

Anda dapat menggunakan AWS Glue for Spark untuk membaca dan menulis ke tabel di OpenSearch Service in AWS Glue 4.0 dan versi yang lebih baru. Anda dapat menentukan apa yang harus dibaca dari OpenSearch Layanan dengan OpenSearch kueri. Anda terhubung ke OpenSearch Layanan menggunakan kredensi otentikasi dasar HTTP yang disimpan melalui koneksi GlueAWS. AWS Secrets Manager Fitur ini tidak kompatibel dengan OpenSearch Layanan tanpa server.

Untuk informasi selengkapnya tentang OpenSearch Layanan Amazon, lihat dokumentasi OpenSearch Layanan Amazon.

Mengkonfigurasi koneksi OpenSearch Layanan

Untuk terhubung ke OpenSearch Layanan dari AWS Glue, Anda harus membuat dan menyimpan kredensi OpenSearch Layanan Anda secara AWS Secrets Manager rahasia, lalu mengaitkan rahasia itu dengan koneksi OpenSearch AWS Glue Layanan.

Prasyarat:

  • Identifikasi titik akhir domain, AoSendPoint dan port, AoSport yang ingin Anda baca, atau buat sumber daya dengan mengikuti petunjuk dalam dokumentasi Layanan Amazon. OpenSearch Untuk informasi selengkapnya tentang membuat domain, lihat Membuat dan mengelola domain OpenSearch Layanan Amazon di dokumentasi OpenSearch Layanan Amazon.

    Titik akhir domain OpenSearch Layanan Amazon akan memiliki formulir default berikut, https://search - domainName -. unstructuredIdContent wilayah .es.amazonaws.com. Untuk informasi selengkapnya tentang mengidentifikasi titik akhir domain Anda, lihat Membuat dan mengelola domain OpenSearch Layanan Amazon di dokumentasi OpenSearch Layanan Amazon.

    Identifikasi atau hasilkan kredensi otentikasi dasar HTTP, AOSuser, dan AOSPassWord untuk domain Anda.

Untuk mengkonfigurasi koneksi ke OpenSearch Layanan:
  1. DiAWS Secrets Manager, buat rahasia menggunakan kredensyal OpenSearch Layanan 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 opensearch.net.http.auth.user dengan nilai AOSUSER.

    • Saat memilih pasangan kunci/nilai, buat pasangan untuk kunci opensearch.net.http.auth.pass dengan nilai AOSPassword.

  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 OpenSearch Layanan.

    • Saat memilih titik akhir Domain, berikan AoSendPoint.

    • Saat memilih port, sediakan AOsport.

    • Saat memilih AWSSecret, berikan secretName.

Setelah membuat koneksi AWS Glue OpenSearch Service, 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 indeks OpenSearch Layanan

Prasyarat:

  • Indeks OpenSearch Layanan yang ingin Anda baca, AOsIndex.

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

Contoh ini membaca indeks dari Amazon OpenSearch Service. Anda harus memberikan pushdown parameternya.

Sebagai contoh:

opensearch_read = glueContext.create_dynamic_frame.from_options( connection_type="opensearch", connection_options={ "connectionName": "connectionName", "opensearch.resource": "aosIndex", "pushdown": "true", } )

Anda juga dapat memberikan string kueri untuk memfilter hasil yang dikembalikan dalam file Anda DynamicFrame. Anda perlu mengkonfigurasiopensearch.query.

opensearch.querydapat mengambil parameter kueri URL string QueryString atau kueri DSL JSON objek QueryObject. Untuk informasi selengkapnya tentang kueri DSL, lihat Kueri DSL di dokumentasi. OpenSearch Untuk menyediakan string parameter kueri URL, tambahkan ?q= ke kueri Anda, seperti yang Anda lakukan di URL yang sepenuhnya memenuhi syarat. Untuk menyediakan objek DSL kueri, string melarikan diri dari objek JSON sebelum menyediakannya.

Sebagai contoh:

queryObject = "{ "query": { "multi_match": { "query": "Sample", "fields": [ "sample" ] } } }" queryString = "?q=queryString" opensearch_read_query = glueContext.create_dynamic_frame.from_options( connection_type="opensearch", connection_options={ "connectionName": "connectionName", "opensearch.resource": "aosIndex", "opensearch.query": queryString, "pushdown": "true", } )

Untuk informasi selengkapnya tentang cara membuat kueri di luar sintaks spesifiknya, lihat sintaks string kueri dalam dokumentasi. OpenSearch

Saat membaca dari OpenSearch koleksi yang berisi data tipe array, Anda harus menentukan bidang mana yang merupakan tipe array dalam panggilan metode Anda menggunakan opensearch.read.field.as.array.include parameter.

Misalnya, saat membaca dokumen berikut, Anda akan menemukan bidang genre dan actor array:

{ "_index": "movies", "_id": "2", "_version": 1, "_seq_no": 0, "_primary_term": 1, "found": true, "_source": { "director": "Frankenheimer, John", "genre": [ "Drama", "Mystery", "Thriller", "Crime" ], "year": 1962, "actor": [ "Lansbury, Angela", "Sinatra, Frank", "Leigh, Janet", "Harvey, Laurence", "Silva, Henry", "Frees, Paul", "Gregory, James", "Bissell, Whit", "McGiver, John", "Parrish, Leslie", "Edwards, James", "Flowers, Bess", "Dhiegh, Khigh", "Payne, Julie", "Kleeb, Helen", "Gray, Joe", "Nalder, Reggie", "Stevens, Bert", "Masters, Michael", "Lowell, Tom" ], "title": "The Manchurian Candidate" } }

Dalam hal ini, Anda akan menyertakan nama-nama bidang tersebut dalam panggilan metode Anda. Sebagai contoh:

"opensearch.read.field.as.array.include": "genre,actor"

Jika bidang array Anda bersarang di dalam struktur dokumen Anda, lihat itu menggunakan notasi titik:. "genre,actor,foo.bar.baz" Ini akan menentukan array yang baz disertakan dalam dokumen sumber Anda melalui dokumen tertanam foo yang berisi dokumen tertanambar.

Menulis ke tabel OpenSearch Layanan

Contoh ini menulis informasi dari DynamicFrame ke OpenSearch Service yang sudah ada DynamicFrame. Jika indeks sudah memiliki informasi, AWS Glue akan menambahkan data dari Anda DynamicFrame. Anda harus memberikan pushdown parameternya.

Prasyarat:

  • Meja OpenSearch layanan yang ingin Anda tulis. Anda akan memerlukan informasi identifikasi untuk tabel. Mari kita sebut ini TableName.

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

Sebagai contoh:

glueContext.write_dynamic_frame.from_options( frame=dynamicFrame, connection_type="opensearch", connection_options={ "connectionName": "connectionName", "opensearch.resource": "aosIndex", }, )

OpenSearch Referensi opsi koneksi layanan

  • connectionName — Diperlukan. Digunakan untuk Baca/Tulis. Nama koneksi AWS Glue OpenSearch Service yang dikonfigurasi untuk memberikan informasi autentikasi dan lokasi jaringan ke metode koneksi Anda.

  • opensearch.resource — Diperlukan. Digunakan untuk Baca/Tulis. Nilai Valid: nama OpenSearch indeks. Nama indeks metode koneksi Anda akan berinteraksi dengan.

  • opensearch.query— Digunakan untuk Baca. Nilai Valid: String lolos dari JSON atau, ketika string ini dimulai dengan?, bagian pencarian URL. OpenSearch Kueri yang memfilter apa yang harus diambil saat membaca. Untuk informasi lebih lanjut tentang penggunaan parameter ini, lihat bagian sebelumnyaMembaca dari indeks OpenSearch Layanan.

  • pushdown— Diperlukan jika. Digunakan untuk Baca. Nilai Valid: boolean. Menginstruksikan Spark untuk meneruskan kueri baca OpenSearch sehingga database hanya mengembalikan dokumen yang relevan.

  • opensearch.read.field.as.array.include— Diperlukan jika membaca data tipe array. Digunakan untuk Baca. Nilai Valid: daftar nama bidang yang dipisahkan koma. Menentukan bidang untuk membaca sebagai array dari OpenSearch dokumen. Untuk informasi lebih lanjut tentang penggunaan parameter ini, lihat bagian sebelumnyaMembaca dari indeks OpenSearch Layanan.