As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Use variáveis dinâmicas em seu documento de fluxo de trabalho
Você pode usar variáveis dinâmicas em seus documentos de fluxo de trabalho para representar valores que variam em runtime para seu processo de criação de imagem. A interpolação de strings para variáveis dinâmicas permite incorporar JSONPath expressões em conteúdo estruturado, como cadeias de caracteres JSON. Isso é particularmente útil quando você precisa passar valores de tempo de execução em cargas complexas para ações escalonadas como ou. ExecuteStateMachine WaitForAction
Para usar a interpolação de strings para variáveis dinâmicas, coloque JSONPath expressões em colchetes duplos "{{...}}" dentro do conteúdo da string. Somente JSONPath expressões agrupadas em chaves duplas são processadas como variáveis. Qualquer JSONPath expressão que não esteja entre colchetes duplos é tratada como conteúdo literal de seqüência de caracteres.
JSONPath sintaxe variável de fluxo de trabalho dinâmico
$.<document structure>.[<step name>.]<variable name>
Os valores das variáveis dinâmicas são representados como JSONPath seletores com nós estruturais que identificam exclusivamente a variável alvo. O primeiro nó após a raiz ($) se refere à estrutura do documento do fluxo de trabalho, como stepOutputs, ou no caso das variáveis de sistema do Image Builder, a imageBuilder. A lista a seguir contém nós de estrutura JSONPath de documentos de fluxo de trabalho compatíveis.
Nós de estrutura do documento
-
parameters: os parâmetros do fluxo de trabalho
-
stepOutputs: saídas de uma etapa no mesmo documento de fluxo de trabalho
-
workflowOutputs: saídas de um documento de fluxo de trabalho que já foi executado
-
imagebuilder: variáveis de sistema do Image Builder
Os nós da estrutura de documento parameters e stepOutputs incluem um nó opcional para o nome da etapa. Isso ajuda a garantir nomes exclusivos de variáveis em todas as etapas.
O nó final no JSONPath é o nome da variável de destino, comoinstanceId.
Cada etapa pode se referir à saída de qualquer ação da etapa anterior com essas variáveis JSONPath dinâmicas. Isso também é conhecido como encadeamento ou referência. Você pode usar a variável dinâmica a seguir para fazer referência à saída de uma ação da etapa anterior.
$.stepOutputs.step-name.output-name
Importante
Quando um parâmetro de entrada se refere a uma variável dinâmica, o indicador de encadeamento (.$) deve ser anexado ao final do nome do parâmetro.
Exemplo 1: indicador de encadeamento de parâmetros de entrada
O exemplo a seguir mostra um parâmetro de entrada que usa interpolação de strings para resolver uma variável dinâmica no valor do parâmetro em tempo de execução.
- name: ApplyTestComponents action: ExecuteComponents onFailure: Abort inputs: instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
Exemplo 2: interpolação de strings em variáveis dinâmicas
O exemplo a seguir demonstra como as variáveis dinâmicas usam a interpolação de strings para determinar valores em tempo de execução.
- 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 }}" }
Neste exemplo, as JSONPath expressões encapsuladas em chaves duplas são resolvidas em tempo de execução:
-
{{ $.stepOutputs.CreateImageFromInstance.imageId }}- Resolve para o ID real da imagem a partir da etapa CreateImageFromInstance -
{{ $.imagebuilder.dateTime }}- Resolve para o timestamp de compilação atual. Consulte Usar variáveis de sistema do Image Builder para obter uma lista das variáveis de sistema do Image Builder que você pode usar. -
{{ $.stepOutputs.LaunchStep.instanceType }}- Resolve para o tipo de instância usado no LaunchStep
As sequências literais, como por exemplo, "region": "us-east-1" permanecem inalteradas.
nota
A interpolação de strings funciona com qualquer conteúdo de string em seu documento de fluxo de trabalho, incluindo cadeias de caracteres de várias linhas usando o operador YAML pipe (). | O requisito de colchete curvo atua como um mecanismo de escape para distinguir claramente entre JSONPath variáveis e conteúdo de texto literal.
Usar variáveis de sistema do Image Builder
O Image Builder fornece as seguintes variáveis de sistema que você pode usar em seu documento de fluxo de trabalho:
|
Nome da variável |
Description |
Tipo |
Valor de exemplo |
|---|---|---|---|
|
cloudWatchLogGrupo |
O nome do grupo CloudWatch Logs para registros de saída. Formato: |
String |
|
|
cloudWatchLogTransmitir |
O nome do fluxo de CloudWatch registros para registros de saída. |
String |
|
|
collectImageMetadata |
A configuração que orienta o Image Builder a coletar ou não os metadados da instância. |
Booleano |
|
|
collectImageScanConclusões |
O valor atual da configuração que permite ao Image Builder coletar resultados de varredura de imagens. |
Booleano |
|
|
imageBuildNumber |
O número de versão da compilação da imagem. |
Inteiro |
|
|
imageId |
O ID da AMI da imagem de base. |
String |
|
|
imageName |
O nome da imagem. |
String |
|
|
imageType |
O tipo de saída da imagem. |
String |
|
|
imageVersionNumber |
O número de versão da imagem. |
String |
|
|
instanceProfileName |
O nome da função do perfil de instância que o Image Builder usa para iniciar, criar e testar instâncias. |
String |
|
|
platform |
A plataforma do sistema operacional da imagem que foi compilada. |
String |
|
|
s3Logs |
Um objeto JSON que contém a configuração dos logs do S3 que o Image Builder grava. |
Objeto JSON |
{'S3Logs': {'s3 BucketName ':' ', 's3 |
|
securityGroups |
O grupo de segurança IDs que se aplica para criar e testar instâncias. |
List [String] |
|
|
sourceImageARN |
O nome do recurso da Amazon (ARN) do recurso de imagem do Image Builder que o fluxo de trabalho usa para os estágios de compilação e teste. |
String |
arn: aws:imagebuilder: ::image// |
|
subnetId |
O ID da sub-rede na qual inicializar as instâncias de compilação e teste. |
String |
|
|
terminateInstanceOnFalha |
O valor atual da configuração que direciona o Image Builder a encerrar a instância em caso de falha ou mantê-la para solução de problemas. |
Booleano |
|
|
workflowPhase |
O estágio atual inicializado para a execução do fluxo de trabalho. |
String |
|
|
workingDirectory |
O caminho para o diretório de trabalho. |
String |
|