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 Layanan di AWS Glue 4.0 dan versi yang lebih baru. Anda dapat menentukan apa yang akan dibaca dari OpenSearch Layanan dengan OpenSearch kueri. Anda terhubung ke OpenSearch Layanan menggunakan kredentif otentikasi dasar HTTP yang disimpan AWS Secrets Manager melalui koneksi AWS Glue. 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 Service from AWS Glue, Anda harus membuat dan menyimpan kredenSIAL OpenSearch Layanan Anda secara AWS Secrets Manager rahasia, lalu mengaitkan rahasia itu dengan koneksi OpenSearch Service AWS Glue.
Prasyarat:
-
Identifikasi titik akhir domain,
aosEndpointdan port, tempataosPortAnda ingin membaca, atau buat sumber daya dengan mengikuti petunjuk dalam dokumentasi OpenSearch Layanan Amazon. 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.region.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 buat kredentif otentikasi dasar HTTP,
aosUserdanaosPassworduntuk domain Anda.
Untuk mengkonfigurasi koneksi ke OpenSearch Layanan:
Di AWS Secrets Manager, buat rahasia menggunakan kredenSIAL 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,
secretNameuntuk langkah selanjutnya.-
Saat memilih Key/value pasangan, buat pasangan untuk kunci
USERNAMEdengan nilaiaosUser. -
Saat memilih Key/value pasangan, buat pasangan untuk kunci
PASSWORDdengan nilainyaaosPassword.
-
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 OpenSearch Layanan.
Saat memilih titik akhir Domain, berikan
aosEndpoint.Saat memilih port, berikan
aosPort.Saat memilih AWS Rahasia, berikan
secretName.
Setelah membuat koneksi OpenSearch Layanan AWS Glue, 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
connectionNamesebagai koneksi jaringan tambahan.
Membaca dari indeks OpenSearch Layanan
Prasyarat:
-
Indeks OpenSearch Layanan yang ingin Anda baca,
aosIndex. -
Kon AWS eksi OpenSearch Layanan Glue dikonfigurasi untuk memberikan informasi lokasi autentikasi dan jaringan. Untuk memperoleh ini, selesaikan langkah-langkah dalam prosedur sebelumnya, Untuk mengkonfigurasi koneksi ke OpenSearch Layanan. Anda akan membutuhkan nama koneksi AWS Glue,
connectionName.
Contoh ini membaca indeks dari Amazon OpenSearch Service. Anda harus memberikan pushdown parameter.
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 di DynamicFrame. Anda perlu mengkonfigurasiopensearch.query.
opensearch.querydapat mengambil string parameter kueri URL queryString atau objek queryObject DSL JSON query. Untuk informasi selengkapnya tentang kueri DSL, lihat Query DSL ?q= Anda, seperti yang Anda lakukan di URL yang memenuhi syarat. Untuk menyediakan objek DSL query, string keluar dari objek JSON sebelum menyediakannya.
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 actor array genre dan:
{ "_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. Contoh:
"opensearch.read.field.as.array.include": "genre,actor"
Jika bidang array Anda bersarang di dalam struktur dokumen Anda, rujuknya menggunakan notasi titik:"genre,actor,foo.bar.baz". Ini akan menentukan array yang diser baz takan dalam dokumen sumber Anda melalui dokumen tertanam foo yang berisi dokumen yang disematkanbar.
Menulis ke tabel OpenSearch Layanan
Contoh ini menulis informasi dari yang sudah ada DynamicFrame, dynamicFrame ke OpenSearch Layanan. Jika indeks sudah memiliki informasi, AWS Glue akan menambahkan data dari Anda DynamicFrame. Anda harus memberikan pushdown parameter.
Prasyarat:
-
Me OpenSearch ja Layanan yang ingin Anda tulis. Anda akan memerlukan informasi identifikasi untuk tabel. Mari kita sebut ini
tableName. -
Kon AWS eksi OpenSearch Layanan Glue dikonfigurasi untuk memberikan informasi lokasi autentikasi dan jaringan. Untuk memperoleh ini, selesaikan langkah-langkah dalam prosedur sebelumnya, Untuk mengkonfigurasi koneksi ke OpenSearch Layanan. Anda akan membutuhkan nama koneksi AWS Glue,
connectionName.
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 Read/Write. Nama koneksi Glue OpenSearch Service yang AWS dikonfigurasi untuk memberikan informasi lokasi autentikasi dan jaringan ke metode koneksi Anda. -
opensearch.resource— Diperlukan. Digunakan untuk Read/Write. Nilai Valid: nama OpenSearch indeks. Nama indeks yang akan berinteraksi dengan metode koneksi Anda. -
opensearch.query— Digunakan untuk membaca. Nilai Valid: String lolos dari JSON atau, ketika string ini dimulai dengan?, bagian pencarian dari URL. Ku OpenSearch eri yang menyaring 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 membaca. Nilai yang Valid: boolean. Menginstruksikan Spark untuk meneruskan kueri baca ke bawah OpenSearch sehingga database hanya mengembalikan dokumen yang relevan. -
opensearch.read.field.as.array.include- Diperlukan jika membaca data tipe array. Digunakan untuk membaca. Nilai Valid: daftar nama bidang yang dipisahkan koma. Menentukan bidang untuk dibaca sebagai array dari OpenSearch dokumen. Untuk informasi lebih lanjut tentang penggunaan parameter ini, lihat bagian sebelumnyaMembaca dari indeks OpenSearch Layanan.