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:
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.
-
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.query
dapat mengambil parameter kueri URL
Untuk informasi selengkapnya tentang kueri DSL, lihat Kueri DSLstring QueryString
atau kueri DSL JSON objek QueryObject.?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
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.