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 que você incorpore expressões JSONPath em conteúdo estruturado, como strings JSON. Isso é particularmente útil quando você precisa passar valores de tempo de execução em cargas complexas para etapas de ações como ou. ExecuteStateMachine WaitForAction
Para usar a interpolação de strings para variáveis dinâmicas, coloque as expressões JSONPath em colchetes duplos no conteúdo da string. "{{...}}" Somente expressões JSONPath entre chaves duplas são processadas como variáveis. Qualquer expressão JSONPath que não esteja entre colchetes duplos é tratada como conteúdo literal de string.
Sintaxe de variável de fluxo de trabalho dinâmico JSONPath
$.<document structure>.[<step name>.]<variable name>
Os valores das variáveis dinâmicas são representados como seletores JSONPath com nós estruturais que identificam a variável de destino de modo exclusivo. 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 os nós compatíveis de estrutura de documentos de fluxo de trabalho JSONPath.
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, como instanceId.
Cada etapa pode indicar a saída de qualquer ação da etapa anterior com essas variáveis dinâmicas JSONPath. 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 a interpolação de cadeias de caracteres 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 cadeias de caracteres em variáveis dinâmicas
O exemplo a seguir demonstra como as variáveis dinâmicas usam a interpolação de cadeias de caracteres 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 expressões JSONPath agrupadas 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 carimbo de data/hora de compilação atual. Consulte Usar variáveis de sistema do Image Builder para obter uma lista de 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 semelhantes "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 strings de várias linhas usando o operador YAML pipe (). | O requisito de chave curly atua como um mecanismo de escape para distinguir claramente entre variáveis JSONPath 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. Esses são valores somente para leitura que o Image Builder preenche em tempo de execução. Você faz referência a uma variável do sistema com o nó da estrutura do imagebuilder documento, por exemplo$.imagebuilder.platform.
|
Nome da variável |
Description |
Tipo |
Valor de exemplo |
|---|---|---|---|
|
nuvem WatchLogGroup |
O nome do grupo CloudWatch Logs para registros de saída. Formato: |
String |
|
|
nuvem WatchLogStream |
O nome do fluxo de CloudWatch registros para os registros de saída. |
String |
|
|
coletam ImageMetadata |
A configuração que orienta o Image Builder a coletar ou não os metadados da instância. |
Booleano |
|
|
coletam ImageScanFindings |
O valor atual da configuração que permite ao Image Builder coletar resultados de varredura de imagens. |
Booleano |
|
|
imagem BuildNumber |
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 |
|
|
imagem VersionNumber |
O número de versão da imagem. |
String |
|
|
exemplo ProfileName |
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 |
Os IDs do grupo de segurança aplicáveis à criação e ao teste de 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 |
|
|
encerrar InstanceOnFailure |
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 |
|