Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Comprendere i validatori
Quando crei un profilo di configurazione, hai la possibilità di specificare fino a due validatori. Un validatore assicura che i dati di configurazione siano sintatticamente e semanticamente corretti. Se prevedi di utilizzare un validatore, devi crearlo prima di creare il profilo di configurazione. AWS AppConfig supporta i seguenti tipi di validatori:
-
AWS Lambda funzioni: supportate per i contrassegni delle funzionalità e le configurazioni in formato libero.
-
JSONSchema: supportato per configurazioni in formato libero. (convalida AWS AppConfig automaticamente i flag delle funzionalità rispetto a uno JSON schema.)
AWS Lambda validatori di funzioni
I validatori delle funzioni Lambda devono essere configurati con il seguente schema di eventi. AWS AppConfig utilizza questo schema per richiamare la funzione Lambda. Il contenuto è una stringa con codifica Base64 e la è una stringa. URI
{ "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 verifica che l'intestazione X-Amz-Function-Error
Lambda sia impostata nella risposta. Lambda imposta questa intestazione se la funzione genera un'eccezione. Per ulteriori informazioni in meritoX-Amz-Function-Error
, consulta la sezione Gestione degli errori e tentativi automatici AWS Lambda nella Guida per gli sviluppatori.AWS Lambda
Ecco un semplice esempio di codice di risposta Lambda per una convalida corretta.
import json def handler(event, context): #Add your validation logic here print("We passed!")
Ecco un semplice esempio di codice di risposta Lambda per una convalida non riuscita.
def handler(event, context): #Add your validation logic here raise Exception("Failure!")
Ecco un altro esempio che convalida solo se il parametro di configurazione è un numero primo.
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 chiama la tua Lambda di convalida quando chiami StartDeployment
le ValidateConfigurationActivity
API operazioni and. Devi fornire appconfig.amazonaws.com
le autorizzazioni per richiamare la tua Lambda. Per ulteriori informazioni, consulta Concessione dell'accesso alle funzioni ai servizi. AWS AWS AppConfig limita il tempo di esecuzione Lambda di convalida a 15 secondi, inclusa la latenza di avvio.
JSONvalidatori di schemi
Se si crea una configurazione in un SSM documento, è necessario specificare o creare uno JSON schema per tale configurazione. Uno JSON schema definisce le proprietà consentite per ogni impostazione di configurazione dell'applicazione. Lo JSON schema funziona come un insieme di regole per garantire che le impostazioni di configurazione nuove o aggiornate siano conformi alle migliori pratiche richieste dall'applicazione. Ecco un esempio.
{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "$id$", "description": "BasicFeatureToggle-1", "type": "object", "additionalProperties": false, "patternProperties": { "[^\\s]+$": { "type": "boolean" } }, "minProperties": 1 }
Quando si crea una configurazione da un SSM documento, il sistema verifica automaticamente che la configurazione sia conforme ai requisiti dello schema. In caso contrario, AWS AppConfig restituisce un errore di convalida.
Importante
Notate le seguenti importanti informazioni sui validatori JSON dello schema:
-
I dati di configurazione memorizzati nei SSM documenti devono essere convalidati rispetto a JSON uno schema associato prima di poter aggiungere la configurazione al sistema. SSMi parametri non richiedono un metodo di convalida, ma si consiglia di creare un controllo di convalida per configurazioni di SSM parametri nuove o aggiornate utilizzando. AWS Lambda
-
Una configurazione in un SSM documento utilizza il tipo di documento.
ApplicationConfiguration
JSONLo schema corrispondente utilizza il tipo diApplicationConfigurationSchema
documento. -
AWS AppConfig supporta la versione 4.X di Schema per JSON lo schema in linea. Se la configurazione dell'applicazione richiede una versione diversa di JSON Schema, devi creare un validatore Lambda.