Memahami validator - AWS AppConfig

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

Memahami validator

Saat Anda membuat profil konfigurasi, Anda memiliki opsi untuk menentukan hingga dua validator. Validator memastikan bahwa data konfigurasi Anda benar secara sintaksis dan semantik. Jika Anda berencana untuk menggunakan validator, Anda harus membuatnya sebelum Anda membuat profil konfigurasi. AWS AppConfig mendukung jenis validator berikut:

  • AWS Lambda fungsi: Didukung untuk bendera fitur dan konfigurasi formulir gratis.

  • JSONSkema: Didukung untuk konfigurasi formulir gratis. (AWS AppConfig secara otomatis memvalidasi flag fitur terhadap JSON Skema.)

AWS Lambda validator fungsi

Validator fungsi Lambda harus dikonfigurasi dengan skema acara berikut. AWS AppConfig menggunakan skema ini untuk memanggil fungsi Lambda. Konten adalah string yang dikodekan base64, dan adalah URI string.

{ "applicationId": "The application ID of the configuration profile being validated", "configurationProfileId": "The ID of the configuration profile being validated", "configurationVersion": "The version of the configuration profile being validated", "content": "Base64EncodedByteString", "uri": "The configuration uri" }

AWS AppConfig memverifikasi bahwa header X-Amz-Function-Error Lambda diatur dalam respons. Lambda menetapkan header ini jika fungsi melempar pengecualian. Untuk informasi selengkapnyaX-Amz-Function-Error, lihat Penanganan Kesalahan dan Percobaan Ulang Otomatis AWS Lambda di Panduan AWS Lambda Pengembang.

Berikut adalah contoh sederhana dari kode respons Lambda untuk validasi yang berhasil.

import json def handler(event, context): #Add your validation logic here print("We passed!")

Berikut adalah contoh sederhana dari kode respons Lambda untuk validasi yang gagal.

def handler(event, context): #Add your validation logic here raise Exception("Failure!")

Berikut adalah contoh lain yang memvalidasi hanya jika parameter konfigurasi adalah bilangan prima.

function isPrime(value) { if (value < 2) { return false; } for (i = 2; i < value; i++) { if (value % i === 0) { return false; } } return true; } exports.handler = async function(event, context) { console.log('EVENT: ' + JSON.stringify(event, null, 2)); const input = parseInt(Buffer.from(event.content, 'base64').toString('ascii')); const prime = isPrime(input); console.log('RESULT: ' + input + (prime ? ' is' : ' is not') + ' prime'); if (!prime) { throw input + "is not prime"; } }

AWS AppConfig memanggil Lambda validasi Anda saat memanggil dan operasiStartDeployment. ValidateConfigurationActivity API Anda harus memberikan appconfig.amazonaws.com izin untuk memanggil Lambda Anda. Untuk informasi selengkapnya, lihat Memberikan Akses Fungsi ke AWS Layanan. AWS AppConfig membatasi validasi waktu berjalan Lambda hingga 15 detik, termasuk latensi start-up.

JSONValidator skema

Jika Anda membuat konfigurasi dalam SSM dokumen, maka Anda harus menentukan atau membuat JSON Skema untuk konfigurasi itu. JSONSkema mendefinisikan properti yang diijinkan untuk setiap pengaturan konfigurasi aplikasi. JSONSkema berfungsi seperti seperangkat aturan untuk memastikan bahwa pengaturan konfigurasi baru atau yang diperbarui sesuai dengan praktik terbaik yang diperlukan oleh aplikasi Anda. Inilah contohnya.

{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "$id$", "description": "BasicFeatureToggle-1", "type": "object", "additionalProperties": false, "patternProperties": { "[^\\s]+$": { "type": "boolean" } }, "minProperties": 1 }

Saat Anda membuat konfigurasi dari SSM dokumen, sistem secara otomatis memverifikasi bahwa konfigurasi sesuai dengan persyaratan skema. Jika tidak, AWS AppConfig mengembalikan kesalahan validasi.

penting

Perhatikan informasi penting berikut tentang JSON validator Skema:

  • Data konfigurasi yang disimpan dalam SSM dokumen harus divalidasi terhadap JSON Skema terkait sebelum Anda dapat menambahkan konfigurasi ke sistem. SSMparameter tidak memerlukan metode validasi, tetapi kami menyarankan Anda membuat pemeriksaan validasi untuk konfigurasi SSM parameter baru atau yang diperbarui dengan menggunakan. AWS Lambda

  • Konfigurasi dalam SSM dokumen menggunakan jenis ApplicationConfiguration dokumen. JSONSkema yang sesuai, menggunakan jenis ApplicationConfigurationSchema dokumen.

  • AWS AppConfig mendukung JSON Skema versi 4.X untuk skema inline. Jika konfigurasi aplikasi Anda memerlukan versi JSON Skema yang berbeda, maka Anda harus membuat validator Lambda.