Mengambil flag fitur dasar dan multi-varian - AWS AppConfig

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

Mengambil flag fitur dasar dan multi-varian

Untuk konfigurasi flag fitur (konfigurasi tipeAWS.AppConfig.FeatureFlags), AWS AppConfig Agen memungkinkan Anda untuk mengambil satu flag atau subset flag dalam konfigurasi. Mengambil satu atau dua flag berguna jika kasus penggunaan Anda hanya perlu menggunakan beberapa flag dari profil konfigurasi. Contoh berikut menggunakan Python.

catatan

Kemampuan untuk memanggil flag fitur tunggal atau subset flag dalam konfigurasi hanya tersedia di AWS AppConfig Agent versi 2.0.45 dan yang lebih tinggi.

Anda dapat mengambil data AWS AppConfig konfigurasi dari titik HTTP akhir lokal. Untuk mengakses bendera tertentu atau daftar bendera, gunakan parameter ?flag=flag_name kueri untuk profil AWS AppConfig konfigurasi.

Untuk mengambil bendera tunggal dan atributnya

curl "http://localhost:2772/applications/APPLICATION_NAME/environments/ENVIRONMENT_NAME/configurations/CONFIGURATION_NAME?flag=FLAG_NAME"

Untuk mengambil beberapa bendera dan atributnya

curl "http://localhost:2772/applications/APPLICATION_NAME/environments/ENVIRONMENT_NAME/configurations/CONFIGURATION_NAME?flag=FLAG_NAME_ONE&flag=FLAG_NAME_TWO"

Untuk mengambil varian bendera fitur berdasarkan konteks pemanggil

Contoh Python berikut menunjukkan cara mengambil varian flag fitur berdasarkan konteks pemanggil. Untuk mengilustrasikan cara melakukan panggilan ini dengan sebaik-baiknya, bagian ini menggunakan contoh panggilan berdasarkan skenario di mana pelanggan membuat varian berikut:

Contoh tangkapan layar dari bendera fitur dengan varian.
catatan

Untuk mengambil varian flag, Anda harus menggunakan AWS AppConfig Agent versi terbaru di lingkungan komputasi Anda. Untuk informasi selengkapnya, lihat topik berikut yang menjelaskan cara memperbarui, menginstal, atau menambahkan agen untuk setiap lingkungan komputasi berikut:

Untuk mengambil data bendera menggunakan konteks pemanggil jane_doe@example.org (yang belum memilih program beta):

curl http://localhost:2772/applications/UIRefresh/environments/Production/configurations/Features \ -H "Context: email=jane_doe@example.org" \ -H "Context: opted_in_to_beta=false" { "ui_refresh": {"_variant":"QA","dark_mode_support":true,"enabled":true} }

Untuk mengambil data bendera menggunakan konteks pemanggil jane_doe@example.org (yang telah memilih program beta):

curl http://localhost:2772/applications/UIRefresh/environments/Production/configurations/Features \ -H "Context: email=jane_doe@example.org" \ -H "Context: opted_in_to_beta=true" { "ui_refresh": {"_variant":"QA","dark_mode_support":true,"enabled":true} }

Untuk mengambil data bendera menggunakan konteks pemanggil jane_doe@qa-testers.example.org (yang merupakan penguji jaminan kualitas di Organisasi Contoh):

curl http://localhost:2772/applications/UIRefresh/environments/Production/configurations/Features \ -H "Context: email=jane_doe@qa-testers.example.org" { "ui_refresh": {"_variant":"QA","dark_mode_support":true,"enabled":true} }

Untuk mengambil data bendera tanpa konteks pemanggil (yang mengembalikan varian Default)

curl http://localhost:2772/applications/UIRefresh/environments/Production/configurations/Features { "ui_refresh": {"_variant":"Default Variant","enabled":false} }

Untuk mengambil data bendera untuk skenario pemisahan lalu lintas untuk menentukan apakah 1 dari 10 penelepon acak menerima varian 'populasi sampel'

for i in {0..9} do ; \ curl http://localhost:2772/applications/UIRefresh/environments/Production/configurations/Features \ -H "Context: email=$i@example.org" { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Sample Population","dark_mode_support":false,"enabled":true} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} } { "ui_refresh": {"_variant":"Default Variant","enabled":false} }