Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan pipa Ing OpenSearch estion dengan AWS Lambda
Gunakan AWS Lambda prosesor
catatan
Batas ukuran payload untuk satu peristiwa yang diproses oleh prosesor Lambda adalah 5 MB. Selain itu, prosesor Lambda hanya mendukung respons dalam format array JSON.
Prasyarat
Sebelum Anda membuat pipeline dengan prosesor Lambda, buat sumber daya berikut:
-
AWS Lambda Fungsi yang memperkaya dan mengubah data sumber Anda. Untuk petunjuk, lihat Membuat fungsi Lambda pertama Anda.
-
Domain OpenSearch Layanan atau koleksi OpenSearch Tanpa Server yang akan menjadi sink pipeline. Untuk informasi selengkapnya, lihat Membuat domain OpenSearch Layanan dan Membuat koleksi.
-
Peran pipeline yang menyertakan izin untuk menulis ke domain atau sink koleksi. Untuk informasi selengkapnya, lihat Peran pipa.
Peran pipeline juga memerlukan kebijakan izin terlampir yang memungkinkannya untuk memanggil fungsi Lambda yang ditentukan dalam konfigurasi pipeline. Contoh:
Membuat jalur
Untuk digunakan AWS Lambda sebagai prosesor, konfigurasikan pipeline Ing OpenSearch estion dan tent aws_lambda ukan sebagai prosesor. Anda juga dapat menggunakan cetak biru pengayaan AWS Lambda
khusus untuk membuat pipeline. Untuk informasi selengkapnya, lihat Bekerja dengan cetak biru.
Contoh pipeline berikut menerima data dari sumber HTTP, memperkayanya menggunakan pengolah tanggal dan AWS Lambda prosesor, dan mencerna data yang OpenSearch diproses ke domain.
version: "2" lambda-processor-pipeline: source: http: path: "/${pipelineName}/logs" processor: - date: destination: "@timestamp" from_time_received: true - aws_lambda: function_name: "my-lambda-function" tags_on_failure: ["lambda_failure"] batch: key_name: "events" aws: region:regionsink: - opensearch: hosts: [ "https://search-mydomain.us-east-1es.amazonaws.com" ] index: "table-index" aws: region: "region" serverless: false
AWS Lambda Fungsi contoh berikut mengubah data masuk dengan menambahkan pasangan kunci-nilai baru ("transformed": "true") ke setiap elemen dalam array peristiwa yang disediakan, dan kemudian mengirimkan kembali versi yang dimodifikasi.
import json def lambda_handler(event, context): input_array = event.get('events', []) output = [] for input in input_array: input["transformed"] = "true"; output.append(input) return output
Batching
Pipeline mengirim peristiwa berkelompok ke prosesor Lambda, dan secara dinamis menyesuaikan ukuran batch untuk memastikannya tetap di bawah batas 5 MB.
Berikut ini adalah contoh batch pipeline:
batch: key_name: "events" input_arrary = event.get('events', [])
catatan
Saat Anda membuat pipeline, pastikan key_name opsi dalam konfigurasi prosesor Lambda cocok dengan kunci peristiwa di handler Lambda.
Penyaringan bersyarat
Pemfilteran bersyarat memungkinkan Anda untuk mengontrol kapan AWS Lambda prosesor Anda memanggil fungsi Lambda berdasarkan kondisi tertentu dalam data peristiwa. Ini sangat berguna ketika Anda ingin secara selektif memproses jenis peristiwa tertentu sambil mengabaikan yang lain.
Contoh konfigurasi berikut menggunakan pemfilteran bersyarat:
processors: - aws_lambda: function_name: "my-lambda-function" aws: region: "region" lambda_when: "/sourceIp == 10.10.10.10"