Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Descripción de los validadores
Cuando crea un perfil de configuración, puede especificar hasta dos validadores. Un validador garantiza que los datos de configuración sean sintáctica y semánticamente correctos. Si piensa utilizar un validador, debe crearlo antes de crear el perfil de configuración. AWS AppConfig admite los siguientes tipos de validadores:
-
AWS Lambda funciones: compatible con indicadores de características y configuraciones de formato libre.
-
Esquema JSON: compatible con configuraciones de formulario libre. (valida AWS AppConfig automáticamente los indicadores de funciones comparándolos con un esquema JSON).
AWS Lambda validadores de funciones
Los validadores de funciones de Lambda deben configurarse con el siguiente esquema de eventos. AWS AppConfig utiliza este esquema para invocar la función de Lambda. El contenido es una cadena codificada en base64 y el URI es una cadena.
{ "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 que el encabezado X-Amz-Function-Error
Lambda esté establecido en la respuesta. Lambda establece este encabezado si la función arroja una excepción. Para obtener más información acerca de X-Amz-Function-Error
, consulte Tratamiento de errores y reintentos automáticos en AWS Lambda en la Guía del desarrollador de AWS Lambda .
Aquí se incluye un ejemplo simple de un código de respuesta de Lambda para una validación satisfactoria.
import json def handler(event, context): #Add your validation logic here print("We passed!")
Aquí se incluye un ejemplo simple de un código de respuesta de Lambda para una validación incorrecta.
def handler(event, context): #Add your validation logic here raise Exception("Failure!")
Aquí hay otro ejemplo que se valida solo si el parámetro de configuración es un número 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 llama a su Lambda de validación al llamar a las operaciones StartDeployment
y ValidateConfigurationActivity
API. Debe proporcionar permisos de appconfig.amazonaws.com
para invocar su Lambda. Para obtener más información, consulte Cómo conceder acceso a las funciones a los AWS servicios. AWS AppConfig limita el tiempo de ejecución de la validación de Lambda a 15 segundos, incluida la latencia de inicio.
Validadores de esquemas JSON
Si crea una configuración en un documento SSM, debe especificar o crear un esquema JSON para esa configuración. Un esquema JSON define las propiedades permitidas para cada ajuste de configuración de la aplicación. Este esquema JSON funciona como un conjunto de reglas para garantizar que los ajustes de configuración nuevos o actualizados se ajusten a las prácticas recomendadas requeridas por su aplicación. A continuación se muestra un ejemplo.
{ "$schema": "http://json-schema.org/draft-04/schema#", "title": "$id$", "description": "BasicFeatureToggle-1", "type": "object", "additionalProperties": false, "patternProperties": { "[^\\s]+$": { "type": "boolean" } }, "minProperties": 1 }
Al crear una configuración a partir de un documento SSM, el sistema verifica automáticamente que la configuración se ajusta a los requisitos del esquema. Si no es así, AWS AppConfig devuelve un error de validación.
importante
Tenga en cuenta la siguiente información importante sobre los validadores de esquemas JSON:
-
Los datos de configuración almacenados en documentos de SSM deben validarse con un esquema JSON asociado para poder agregar la configuración al sistema. Los parámetros de SSM no requieren un método de validación, pero le recomendamos que cree una comprobación de validación para las configuraciones de parámetros de SSM nuevas o actualizadas mediante él. AWS Lambda
-
La configuración de un documento SSM utiliza el tipo de documento
ApplicationConfiguration
. El esquema JSON correspondiente utiliza el tipo de documentoApplicationConfigurationSchema
. -
AWS AppConfig es compatible con la versión 4.X de JSON Schema para esquemas en línea. Si la configuración de la aplicación requiere una versión diferente de JSON Schema, debe crear un validador de Lambda.