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.
-
Schema JSON: supportato per configurazioni in formato libero. (convalida AWS AppConfig automaticamente i flag delle funzionalità rispetto a uno schema JSON.)
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 l'uri è una stringa.
{ "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 richiama StartDeployment
le operazioni ValidateConfigurationActivity
e API. 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.
validatori dello schema JSON
Se crei una configurazione in un documento SSM, devi specificare o creare uno schema JSON per la configurazione. Uno schema JSON definisce le proprietà consentite per ogni impostazione di configurazione dell'applicazione. Lo schema JSON funziona come un set di regole per garantire che le impostazioni di configurazione nuove o aggiornate siano conformi alle best practice 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 documento SSM, il sistema verifica automaticamente che la configurazione sia conforme ai requisiti dello schema. In caso contrario, AWS AppConfig restituisce un errore di convalida.
Importante
Nota le seguenti informazioni importanti sui validatori dello schema JSON:
-
I dati di configurazione archiviati nei documenti SSM devono essere convalidati rispetto a uno schema JSON associato prima di poter aggiungere la configurazione al sistema. I parametri SSM non richiedono un metodo di convalida, ma si consiglia di creare un controllo di convalida per le configurazioni dei parametri SSM nuove o aggiornate utilizzando. AWS Lambda
-
Una configurazione in un documento SSM utilizza il tipo di documento.
ApplicationConfiguration
Lo schema JSON corrispondente utilizza il tipo diApplicationConfigurationSchema
documento. -
AWS AppConfig supporta lo schema JSON versione 4.X per lo schema in linea. Se la configurazione dell'applicazione richiede una versione diversa di JSON Schema, devi creare un validatore Lambda.