пытается выполнить какое-то условное ветвление в SSM: документ автоматизации.
У меня есть лямбда-функция, которая проверяет определенное условие и отправляет параметр в SSM.
Затем я хочу прочитать параметр (используя aws: invokeLambdaFunction) и использовать параметр в качестве переменной для выполнения ветвления (используя aws: branch). Вот как я это делаю
Я полностью застрял, поэтому любая помощь будет принята с благодарностью
"Type": "AWS::SSM::Document",
"Properties": {
"DocumentType": "Automation",
"Content": {
"description": "This automation document triggers Golden AMI creation workflow.",
"schemaVersion": "0.3",
"assumeRole": {
"Fn::GetAtt": [
"AutomationServiceRole",
"Arn"
]
},
"parameters":{
the various parameters
},
"mainSteps": [
{
"name": "testUpdateNeeded",
"action":"aws:invokeLambdaFunction",
"timeoutSeconds":1200,
"maxAttempts":1,
"onFailure":"Abort",
"inputs":{
"FunctionName":"arn:aws:lambda:MY_ARN_CODE"
}
},
{
"name":"assertExecutionParameter",
"action":"aws:executeAwsApi",
"maxAttempts":1,
"onFailure":"Abort",
"inputs":{
"Service":"ssm",
"Api":"GetParameter",
"Name":"ssmExecutionParameter"
},
"outputs":{
"Name":"ExecutionParameter",
"Selector":"$.Parameter.Value",
"Type": "String"
}
},
{
"name":"branch",
"action":"aws:branch",
"inputs":{
"Choices":[
{
"NextStep":"lastStep",
"Variable":"assertExecutionParameter.ExecutionParameter",
"StringEquals":"Dont trigger"
}
],
"Default":"startInstances"
}
},
Я не могу понять, как вывести возвращаемое значение из вызова API. На самом деле, я продолжаю получать следующую ошибку
`JSON not well-formed. at Line: 1, Column: 2669 (Service: AmazonSSM; Status Code: 400; Error Code: InvalidDocumentContent; Request ID: 142a0482-6065-4715-978c-22ceb6685985)`
указывает, что форматирование ему не нравится, но указывает не на ту строку. Если я удалю
"Name":"ExecutionParameter",
"Selector":"$.Parameter.Value",
"Type": "String"
}
затем стек обновляется, но я не могу выполнить шаг ветвления, не имея вывода из предыдущего шага ....