Menggunakan kebijakan siklus hidup data dengan Amazon Serverless OpenSearch - OpenSearch Layanan Amazon

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

Menggunakan kebijakan siklus hidup data dengan Amazon Serverless OpenSearch

Kebijakan siklus hidup data untuk pengumpulan deret waktu Amazon OpenSearch Tanpa Server menentukan masa pakai data dalam pengumpulan tersebut. OpenSearch Tanpa server menyimpan data selama periode waktu yang Anda konfigurasikan.

Anda dapat mengonfigurasi kebijakan siklus hidup data terpisah untuk setiap indeks dari setiap pengumpulan deret waktu di Anda. Akun AWS OpenSearch Tanpa server menyimpan dokumen dalam indeks untuk, setidaknya, periode penyimpanan yang Anda konfigurasikan dalam kebijakan. Kemudian secara otomatis menghapusnya dengan upaya terbaik, biasanya dalam 48 jam atau 10% dari periode retensi, mana yang lebih lama.

Hanya koleksi deret waktu yang mendukung kebijakan siklus hidup data. Mereka tidak didukung oleh pencarian atau koleksi pencarian vektor.

Kebijakan siklus hidup data

Dalam kebijakan siklus hidup data, Anda menentukan serangkaian aturan. Kebijakan siklus hidup data memungkinkan Anda mengelola periode penyimpanan data yang terkait dengan indeks atau koleksi yang cocok dengan aturan ini. Aturan-aturan ini menentukan periode retensi untuk data dalam indeks atau kelompok indeks. Setiap aturan terdiri dari tipe sumber daya (index), periode retensi, dan daftar sumber daya (indeks) yang berlaku untuk periode retensi.

Anda menentukan periode retensi dengan salah satu format berikut:

  • "MinIndexRetention": "24h"— OpenSearch Tanpa server menyimpan data indeks untuk periode yang ditentukan dalam jam atau hari. Anda dapat mengatur periode ini menjadi dari 24h ke3650d.

  • "NoMinIndexRetention": true— OpenSearch Tanpa server mempertahankan data indeks tanpa batas waktu.

Dalam kebijakan sampel berikut, aturan pertama menetapkan periode retensi 15 hari untuk semua indeks dalam koleksi. marketing Aturan kedua menetapkan bahwa semua nama indeks yang dimulai dengan log finance koleksi tidak memiliki periode retensi yang ditetapkan dan akan dipertahankan tanpa batas waktu.

{ "lifeCyclePolicyDetail": { "type": "retention", "name": "my-policy", "policyVersion": "MTY4ODI0NTM2OTk1N18x", "policy": { "Rules": [ { "ResourceType":"index", "Resource":[ "index/marketing/*" ], "MinIndexRetention": "15d" }, { "ResourceType":"index", "Resource":[ "index/finance/log*" ], "NoMinIndexRetention": true } ] }, "createdDate": 1688245369957, "lastModifiedDate": 1688245369957 } }

Dalam aturan kebijakan contoh berikut, OpenSearch Tanpa Server menyimpan data di semua indeks untuk semua koleksi dalam akun tanpa batas waktu.

{ "Rules": [ { "ResourceType": "index", "Resource": [ "index/*/*" ] } ], "NoMinIndexRetention": true }

Izin diperlukan

Kebijakan siklus hidup untuk OpenSearch Tanpa Server menggunakan izin AWS Identity and Access Management (IAM) berikut. Anda dapat menentukan kondisi IAM untuk membatasi pengguna ke kebijakan siklus hidup data yang terkait dengan koleksi dan indeks tertentu.

  • aoss:CreateLifecyclePolicy— Buat kebijakan siklus hidup data.

  • aoss:ListLifecyclePolicies— Buat daftar semua kebijakan siklus hidup data di akun saat ini.

  • aoss:BatchGetLifecyclePolicy— Melihat kebijakan siklus hidup data yang terkait dengan akun atau nama kebijakan.

  • aoss:BatchGetEffectiveLifecyclePolicy— Melihat kebijakan siklus hidup data untuk sumber daya tertentu (indexadalah satu-satunya sumber daya yang didukung).

  • aoss:UpdateLifecyclePolicy— Ubah kebijakan siklus hidup data tertentu, dan ubah setelan retensi atau sumber dayanya.

  • aoss:DeleteLifecyclePolicy— Hapus kebijakan siklus hidup data.

Kebijakan akses berbasis identitas berikut memungkinkan pengguna untuk melihat semua kebijakan siklus hidup data, dan memperbarui kebijakan dengan pola sumber daya: collection/application-logs

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aoss:UpdateLifecyclePolicy" ], "Resource": "*", "Condition": { "StringEquals": { "aoss:collection": "application-logs" } } }, { "Effect": "Allow", "Action": [ "aoss:ListLifecyclePolicies", "aoss:BatchGetLifecyclePolicy" ], "Resource": "*" } ] }

Prioritas kebijakan

Mungkin ada situasi di mana aturan kebijakan siklus hidup data tumpang tindih, di dalam atau di seluruh kebijakan. Ketika ini terjadi, aturan dengan nama sumber daya yang lebih spesifik atau pola untuk indeks mengesampingkan aturan dengan nama sumber daya yang lebih umum atau pola untuk setiap indeks yang umum untuk kedua aturan.

Misalnya, dalam kebijakan berikut, dua aturan berlaku untuk indeksindex/sales/logstash. Dalam situasi ini, aturan kedua diutamakan karena index/sales/log* merupakan pertandingan terpanjang. index/sales/logstash Oleh karena itu, OpenSearch Tanpa Server tidak menetapkan periode retensi untuk indeks.

{ "Rules":[ { "ResourceType":"index", "Resource":[ "index/sales/*", ], "MinIndexRetention": "15d" }, { "ResourceType":"index", "Resource":[ "index/sales/log*", ], "NoMinIndexRetention": true } ] }

Sintaks kebijakan

Berikan satu atau lebih aturan. Aturan ini menentukan setelan siklus hidup data untuk indeks Tanpa OpenSearch Server Anda.

Setiap aturan berisi elemen-elemen berikut. Anda dapat memberikan MinIndexRetention atau NoMinIndexRetention dalam setiap aturan, tetapi tidak keduanya.

Elemen Deskripsi
Jenis sumber daya Jenis sumber daya yang berlaku untuk aturan tersebut. Satu-satunya opsi yang didukung untuk kebijakan siklus hidup data adalah. index
Sumber Daftar nama dan/atau pola sumber daya. Pola terdiri dari awalan dan wildcard (*), yang memungkinkan izin terkait diterapkan ke beberapa sumber daya. Sebagai contoh, index/<collection-name|pattern>/<index-name|pattern>.
MinIndexRetention Periode minimum, dalam hari (d) atau jam (h), untuk menyimpan dokumen dalam indeks. Batas bawah adalah 24h dan batas atas adalah3650d.
NoMinIndexRetention Jikatrue, OpenSearch Tanpa Server menyimpan dokumen tanpa batas waktu.

Berikut ini adalah beberapa contoh:

{ "Rules": [ { "ResourceType": "index", "Resource": [ "index/autoparts-inventory/*" ], "MinIndexRetention": "20d" }, { "ResourceType": "index", "Resource": [ "index/auto*/gear" ], "MinIndexRetention": "24h" }, { "ResourceType": "index", "Resource": [ "index/autoparts-inventory/tires" ], "NoMinIndexRetention": true } ] }

Membuat kebijakan siklus hidup data () AWS CLI

Untuk membuat kebijakan siklus hidup data menggunakan operasi API OpenSearch Tanpa Server, gunakan perintah. CreateLifecyclePolicy Perintah ini menerima kebijakan inline dan file.json. Kebijakan sebaris harus dikodekan sebagai string lolos JSON.

Permintaan berikut membuat kebijakan siklus hidup data:

aws opensearchserverless create-lifecycle-policy \ --name my-policy \ --type retention \ --policy "{\"Rules\":[{\"ResourceType\":\"index\",\"Resource\":[\"index/autoparts-inventory/*\"],\"MinIndexRetention\": \"81d\"},{\"ResourceType\":\"index\",\"Resource\":[\"index/sales/orders*\"],\"NoMinIndexRetention\":true}]}"

Untuk menyediakan kebijakan dalam file JSON, gunakan format --policy file://my-policy.json

Melihat kebijakan siklus hidup data

Sebelum membuat koleksi, Anda mungkin ingin melihat pratinjau kebijakan siklus hidup data yang ada di akun Anda untuk melihat mana yang memiliki pola sumber daya yang cocok dengan nama koleksi Anda. ListLifecyclePoliciesPermintaan berikut mencantumkan semua kebijakan siklus hidup data di akun Anda:

aws opensearchserverless list-lifecycle-policies --type retention

Permintaan mengembalikan informasi tentang semua kebijakan siklus hidup data yang dikonfigurasi. Untuk melihat aturan pola yang ditentukan dalam satu kebijakan tertentu, cari informasi kebijakan dalam konten lifecyclePolicySummaries elemen dalam respons. Perhatikan name dan type kebijakan ini dan gunakan properti ini dalam BatchGetLifecyclePolicypermintaan untuk menerima tanggapan dengan rincian kebijakan berikut:

{ "lifecyclePolicySummaries": [ { "type": "retention", "name": "my-policy", "policyVersion": "MTY2MzY5MTY1MDA3Ml8x", "createdDate": 1663691650072, "lastModifiedDate": 1663691650072 } ] }

Untuk membatasi hasil pada kebijakan yang berisi koleksi atau indeks tertentu, Anda dapat menyertakan filter sumber daya:

aws opensearchserverless list-lifecycle-policies --type retention --resources "index/autoparts-inventory/*"

Untuk melihat informasi terperinci tentang kebijakan tertentu, gunakan BatchGetLifecyclePolicyperintah.

Memperbarui kebijakan siklus hidup data

Saat Anda mengubah kebijakan siklus hidup data, semua koleksi terkait akan terpengaruh. Untuk memperbarui kebijakan siklus hidup data di konsol OpenSearch Tanpa Server, perluas kebijakan siklus hidup data, pilih kebijakan yang akan diubah, lalu pilih Edit. Buat perubahan dan pilih Simpan.

Untuk memperbarui kebijakan siklus hidup data menggunakan API OpenSearch Tanpa Server, gunakan perintah. UpdateLifecyclePolicy Anda harus menyertakan versi kebijakan dalam permintaan. Anda dapat mengambil versi kebijakan dengan menggunakan BatchGetLifecyclePolicy perintah ListLifecyclePolicies atau. Menyertakan versi kebijakan terbaru memastikan bahwa Anda tidak secara tidak sengaja mengesampingkan perubahan yang dilakukan oleh orang lain.

Permintaan berikut memperbarui kebijakan siklus hidup data dengan dokumen JSON kebijakan baru:

aws opensearchserverless update-lifecycle-policy \ --name my-policy \ --type retention \ --policy-version MTY2MzY5MTY1MDA3Ml8x \ --policy file://my-new-policy.json

Mungkin ada jeda waktu beberapa menit antara saat Anda memperbarui kebijakan dan saat periode retensi baru diberlakukan.

Menghapus kebijakan siklus hidup data

Saat Anda menghapus kebijakan siklus hidup data, kebijakan tersebut tidak lagi berlaku untuk indeks yang cocok. Untuk menghapus kebijakan di konsol OpenSearch Tanpa Server, pilih kebijakan dan pilih Hapus.

Anda juga dapat menggunakan DeleteLifecyclePolicyperintah:

aws opensearchserverless delete-lifecycle-policy --name my-policy --type retention