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.
Uso de variables dinámicas en el documento de flujos de trabajo
Puede utilizar variables dinámicas en los documentos de flujos de trabajo para representar valores que varían en tiempo de ejecución para el proceso de creación de imágenes. La interpolación de cadenas para variables dinámicas te permite incrustar expresiones de JSONPath en contenido estructurado, como cadenas JSON. Esto es especialmente útil cuando necesitas pasar valores de tiempo de ejecución dentro de cargas útiles complejas a acciones escalonadas como o. ExecuteStateMachine WaitForAction
Para usar la interpolación de cadenas para variables dinámicas, coloca las expresiones de JSONPath entre corchetes dobles dentro del contenido de la cadena. "{{...}}" Solo las expresiones de JSONPath envueltas entre corchetes dobles se procesan como variables. Todas las expresiones de JSONPath que no estén entre corchetes dobles se tratan como contenido de cadena literal.
Sintaxis de variables de flujo de trabajo dinámico de JSONPath
$.<document structure>.[<step name>.]<variable name>
Los valores de las variables dinámicas se representan como selectores JSONPath con nodos estructurales que identifican de forma exclusiva la variable de destino. El primer nodo después de la raíz ($) hace referencia a la estructura del documento de flujos de trabajo; por ejemplo, stepOutputs o, en el caso de las variables del sistema de Generador de imágenes, imageBuilder. En la siguiente lista se incluyen los nodos de estructura de documentos de flujos de trabajo de JSONPath admitidos.
Nodos de estructura de documentos
-
parameters: parámetros del flujo de trabajo
-
stepOutputs: salidas de un paso del mismo documento de flujos de trabajo
-
workflowOutputs: salidas de un documento de flujos de trabajo que ya se ha ejecutado
-
imagebuilder: variables del sistema de Generador de imágenes
Los nodos parameters y stepOutputs de estructura de documentos incluyen un nodo opcional para el nombre del paso. Esto ayuda a garantizar que los nombres de las variables sean únicos en todos los pasos.
El último nodo de JSONPath es el nombre de la variable de destino; por ejemplo, instanceId.
Cada paso puede hacer referencia a la salida de cualquier acción de paso anterior con estas variables dinámicas JSONPath. Esto también se conoce como encadenamiento o referencia. Para hacer referencia a la salida de una acción de paso anterior, puede utilizar la siguiente variable dinámica.
$.stepOutputs.step-name.output-name
importante
Cuando un parámetro de entrada hace referencia a una variable dinámica, el indicador de encadenamiento (.$) debe adjuntarse al final del nombre del parámetro.
Ejemplo 1: indicador de encadenamiento de parámetros de entrada
El siguiente ejemplo muestra un parámetro de entrada que utiliza la interpolación de cadenas para resolver una variable dinámica en el valor del parámetro en tiempo de ejecución.
- name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
Ejemplo 2: interpolación de cadenas en variables dinámicas
El siguiente ejemplo demuestra cómo las variables dinámicas utilizan la interpolación de cadenas para determinar los valores en tiempo de ejecución.
- name: ValidateImageConfiguration action: ExecuteStateMachine inputs: stateMachineArn: arn:aws:states:us-east-1:111122223333:stateMachine:ImageValidation input: | { "imageId": "{{ $.stepOutputs.CreateImageFromInstance.imageId }}", "region": "us-east-1", "buildDate": "{{ $.imagebuilder.dateTime }}", "instanceType": "{{ $.stepOutputs.LaunchStep.instanceType }}" }
En este ejemplo, las expresiones de JSONPath envueltas entre corchetes dobles se resuelven en tiempo de ejecución:
-
{{ $.stepOutputs.CreateImageFromInstance.imageId }}- Se resuelve con el ID de imagen real del paso CreateImageFromInstance -
{{ $.imagebuilder.dateTime }}- Se resuelve con la marca de tiempo de compilación actual. Consulte Uso de variables del sistema de Generador de imágenes para obtener una lista de las variables del sistema de Image Builder que puede usar. -
{{ $.stepOutputs.LaunchStep.instanceType }}- Se resuelve según el tipo de instancia utilizado en LaunchStep
Las cadenas literales, como, "region": "us-east-1" permanecen inalteradas.
nota
La interpolación de cadenas funciona con cualquier contenido de cadena del documento de flujo de trabajo, incluidas las cadenas de líneas múltiples que utilizan el operador YAML pipe (). | El requisito del corchete ondulado actúa como un mecanismo de escape para distinguir claramente entre las variables de JSONPath y el contenido de texto literal.
Uso de variables del sistema de Generador de imágenes
Image Builder proporciona las siguientes variables de sistema que puede usar en su documento de flujo de trabajo. Estos son valores de solo lectura que Image Builder rellena durante el tiempo de ejecución. Se hace referencia a una variable del sistema con el nodo de estructura del imagebuilder documento, por ejemplo. $.imagebuilder.platform
|
Nombre de variable |
Description (Descripción) |
Tipo |
Ejemplo de valor |
|---|---|---|---|
|
nube WatchLogGroup |
El nombre del grupo de CloudWatch registros para los registros de salida. Formato: |
Cadena |
|
|
nube WatchLogStream |
El nombre de la secuencia de CloudWatch registros para los registros de salida. |
Cadena |
|
|
recopilar ImageMetadata |
Configuración que indica a Generador de imágenes si debe recopilar metadatos de la instancia. |
Booleano |
|
|
coleccionar ImageScanFindings |
Valor actual de la configuración que permite a Generador de imágenes recopilar los resultados del análisis de imágenes. |
Booleano |
|
|
imagen BuildNumber |
Número de versión de creación de la imagen. |
Entero |
|
|
imageId |
ID de AMI de la imagen base. |
Cadena |
|
|
imageName |
El nombre de la imagen. |
Cadena |
|
|
imageType |
Tipo de salida de la imagen. |
Cadena |
|
|
imagen VersionNumber |
Número de versión de la imagen. |
Cadena |
|
|
instancia ProfileName |
Nombre del rol de perfil de instancia que Generador de imágenes utiliza para lanzar instancias de creación y prueba. |
Cadena |
|
|
platform |
Plataforma del sistema operativo de la imagen que se crea. |
Cadena |
|
|
s3Logs |
Objeto JSON que contiene la configuración de los registros de S3 que escribe Generador de imágenes. |
Objeto JSON |
{'S3logs': {'s3 BucketName ':' ', 's3 |
|
securityGroups |
ID de los grupos de seguridad que se aplican a las instancias de creación y prueba. |
Lista [cadena] |
|
|
sourceImageARN |
Nombre de recurso de Amazon (ARN) del recurso de imagen de Generador de imágenes que el flujo de trabajo utiliza para las etapas de creación y prueba. |
Cadena |
arn:aws:imagebuilder: ::image// |
|
subnetId |
ID de la subred en la que se lanzan las instancias de creación y prueba. |
Cadena |
|
|
terminar InstanceOnFailure |
Valor actual de la configuración que indica a Generador de imágenes que termine la instancia en caso de error o que la conserve para la solución de problemas. |
Booleano |
|
|
workflowPhase |
Etapa actual que se ejecuta para la ejecución del flujo de trabajo. |
Cadena |
|
|
workingDirectory |
Ruta al directorio de trabajo. |
Cadena |
|