gpt4 book ai didi

amazon-web-services - 在 cloudformation 模板内的 Step 函数中使用 Ref for Resource

转载 作者:行者123 更新时间:2023-12-03 07:13:00 25 4
gpt4 key购买 nike

我在cloudformation中有一个step函数。 cloudformation 堆栈还创建 Lambda,我将在步骤函数中将其用作资源。我有类似的东西

TestLambda:
Type: "AWS::Lambda::Function"
Properties:
Handler: "test_lambda.lambda_handler"
Role: "arn:aws:iam::1234342334:role/Lambda"
Code:
ZipFile: !Sub |
from __future__ import print_function
import boto3
def lambda_handler(event, context):
print(event)
Runtime: "python2.7"

....

TestStateMachine:
Type: AWS::StepFunctions::StateMachine
Properties:
StateMachineName: "Test"
DefinitionString: |-
{
"StartAt": "State1",
"States": {
"State1" : {
"Type" : "Task",
"Resource" : "${!GetAtt TestLambda.Arn}",
"Next": "State2?"
},
...
...

所有内容都在一个 cloudformation 模板内。

"SCHEMA_VALIDATION_FAILED: Value is not a valid resource ARN"

我也尝试过!GetAtt TestLambda.Arn,但没有成功。我想要在单个 cloudformation 模板内创建 lambda 和 stepfunction。如果有更好、更简洁的方法,请告诉我。

谢谢

最佳答案

您应该使用Fn::Sub功能:

TestStateMachine:
Type: AWS::StepFunctions::StateMachine
Properties:
StateMachineName: "Test"
DefinitionString:
Fn::Sub:
|-
{
"StartAt": "State1",
"States": {
"State1" : {
"Type" : "Task",
"Resource" : "${TestLambda.Arn}",
"Next": "State2?"
},

关于amazon-web-services - 在 cloudformation 模板内的 Step 函数中使用 Ref for Resource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51793888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com