Consider example (source)
# State machine for testing Athena Runner
AthenaRunnerTestETLOrchestrator:
Type: "AWS::StepFunctions::StateMachine"
Properties:
StateMachineName: AthenaRunnerTestETLOrchestrator
DefinitionString:
Fn::Sub:
- |-
{
"StartAt": "Configure Athena Query",
"States": {
"Configure Athena Query":{
"Type": "Pass",
"Result": "{ \"AthenaQueryString\" : \"SELECT * FROM ${GlueTableName} limit 10;\", \"AthenaDatabase\": \"${GlueDatabaseName}\", \"AthenaResultOutputLocation\": \"${AthenaResultOutputLocation}\", \"AthenaResultEncryptionOption\": \"${AthenaResultEncryptionOption}\"}",
"Next": "Execute Athena Query"
},
"Execute Athena Query":{
"Type": "Task",
"Resource": "${AthenaRunnerActivityArn}",
"End": true
}
}
}
- {
GlueDatabaseName: !Ref MarketingAndSalesDatabaseName,
GlueTableName: !Ref MarketingTableName,
AthenaRunnerActivityArn: !Ref AthenaRunnerActivity,
AthenaResultOutputLocation: !Sub "s3://${SourceDataBucketName}/athena-runner-output/",
AthenaResultEncryptionOption: "SSE_S3"
}
RoleArn: !GetAtt StateExecutionRole.Arn
Function Sub
should received array of params: source
and replacements
, ut why |-
is passed here? Is it yaml
or aws Sub
function feature?