Memahami aturan bendera fitur multi-varian - AWS AppConfig

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

Memahami aturan bendera fitur multi-varian

Saat Anda membuat varian bendera fitur, Anda menentukan aturan untuk itu. Aturan adalah ekspresi yang mengambil nilai konteks sebagai input dan menghasilkan hasil boolean sebagai output. Misalnya, Anda dapat menentukan aturan untuk memilih varian bendera untuk pengguna beta, yang diidentifikasi oleh ID akun mereka, menguji penyegaran antarmuka pengguna. Untuk skenario ini, Anda melakukan hal berikut:

  1. Buat profil konfigurasi bendera fitur baru yang disebut UI Refresh.

  2. Buat flag fitur baru yang disebut ui_refresh.

  3. Edit bendera fitur setelah Anda membuatnya untuk menambahkan varian.

  4. Buat dan aktifkan varian baru yang disebut BetaUsers.

  5. Tentukan aturan untuk BetaUsersmemilih varian jika ID akun dari konteks permintaan ada dalam daftar akun yang IDs disetujui untuk melihat pengalaman beta baru.

  6. Konfirmasikan bahwa status varian default disetel ke dinonaktifkan.

catatan

Varian dievaluasi sebagai daftar berurutan berdasarkan urutan yang ditentukan di konsol. Varian di bagian atas daftar dievaluasi terlebih dahulu. Jika tidak ada aturan yang cocok dengan konteks yang disediakan, AWS AppConfig mengembalikan varian Default.

Saat AWS AppConfig memproses permintaan flag fitur, ia membandingkan konteks yang disediakan, yang menyertakan accountID (untuk contoh ini) dengan varian terlebih dahulu. BetaUsers Jika konteksnya cocok dengan aturan untuk BetaUsers, AWS AppConfig mengembalikan data konfigurasi untuk pengalaman beta. Jika konteks tidak menyertakan ID akun atau jika ID akun berakhir dengan apa pun selain 123, AWS AppConfig mengembalikan data konfigurasi untuk aturan Default, yang berarti pengguna melihat pengalaman saat ini dalam produksi.

Mendefinisikan aturan

Aturan varian adalah ekspresi yang terdiri dari satu atau lebih operan dan operator. Operan adalah nilai spesifik yang digunakan selama evaluasi aturan. Nilai operan dapat berupa statis, seperti angka literal atau string, atau variabel, seperti nilai yang ditemukan dalam konteks atau hasil ekspresi lain. Operator, seperti “lebih besar dari”, adalah tes atau tindakan yang diterapkan pada operannya yang menghasilkan nilai. Ekspresi aturan varian harus menghasilkan “true” atau “false” agar valid.

Operan

Tipe Deskripsi Contoh

String

Urutan UTF -8 karakter, terlampir dalam tanda kutip ganda.

"apple", "Ḽơᶉëᶆ ȋṕšᶙṁ"

Bilangan Bulat

Nilai integer 64-bit.

-7, 42

Desimal

Nilai IEEE floating-point 64-bit -754.

3.14, 1.234e-5

Stempel Waktu

Momen tertentu dalam waktu seperti yang dijelaskan oleh catatan W3C pada format tanggal dan waktu.

2012-03-04T05:06:07-08:00, 2024-01

Boolean

Nilai benar atau salah.

true, false

Nilai konteks

Nilai parameterisasi dalam bentuk $key yang diambil dari konteks selama evaluasi aturan.

$country, $userId

Operator perbandingan

Operator Deskripsi Contoh

persamaan

Menentukan apakah nilai konteks sama dengan nilai yang diberikan.

(eq $state "Virginia")

gt

Menentukan apakah nilai konteks lebih besar dari nilai yang diberikan.

(gt $age 65)

gte

Menentukan apakah nilai konteks lebih besar dari atau sama dengan nilai yang diberikan.

(gte $age 65)

lt

Menentukan apakah nilai konteks kurang dari nilai yang diberikan.

(lt $age 65)

lte

Menentukan apakah nilai konteks kurang dari atau sama dengan nilai yang diberikan.

(lte $age 65)

Operator logis

Operator Deskripsi Contoh

and

Menentukan apakah kedua operan benar.

(and (eq $state "Virginia") (gt $age 65) )

atau

Menentukan apakah setidaknya salah satu operan benar.

(or (eq $state "Virginia") (gt $age 65) )

tidak

Membalikkan nilai ekspresi.

(not (eq $state "Virginia"))

Operator kustom

Operator Deskripsi Contoh

mulai_dengan

Menentukan apakah nilai konteks dimulai dengan awalan yang diberikan.

(begins_with $state "A")

berakhir_dengan

Menentukan apakah nilai konteks berakhir dengan awalan yang diberikan.

(ends_with $email "amazon.com")

mengandung

Menentukan apakah nilai konteks berisi substring yang diberikan.

(contains $promoCode "WIN")

in

Menentukan apakah nilai konteks terkandung dalam daftar konstanta.

(in $userId ["123", "456"])

korek api

Menentukan apakah nilai konteks cocok dengan pola regex yang diberikan.

(matches in::$greeting pattern::"h.*y")

exists

Menentukan apakah ada nilai yang disediakan untuk kunci konteks.

(exists key:"country")

terbelah

Mengevaluasi ke true untuk persentase lalu lintas tertentu berdasarkan hash yang konsisten dari nilai konteks yang disediakan.

(split pct::10 by::$userId seed::"abc")