gpt4 book ai didi

python - 在 python 中从 Lambda 调用 AWS Step 函数

转载 作者:太空狗 更新时间:2023-10-30 01:11:58 26 4
gpt4 key购买 nike

因此,我尝试调用一个我在 Python 中使用 Lambda 编写的简单步骤函数。为此,我正在使用 boto3

client = boto3.client('stepfunctions')
response = client.start_execution(
stateMachineArn='aws:states:.......',
name='dev-hassan-pipeline-sf',
input= json.dumps(returnVal)
)

并且我创建了一个具有“AWSStepFunctionsFullAccess”策略的 IAM 角色

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "states:*",
"Resource": "*"
}
]
}

我将这个角色分配给我的 Lambda,但是当我运行 lambda 时,出现以下错误

An error occurred (AccessDeniedException) when calling the StartExecution operation: User: arn:aws:sts::xxxxxxxx:assumed-role/dev-hassan-role1/dev-hassan-pipeline-lambda is not authorized to access this resource: ClientError

dev-hassan-pipeline-lambda 是我的 Lambda 名称,dev-hassan-role1 是我的角色名称

有人可以帮我解决这个问题吗,我做错了什么,为什么我不能从 Lambda 调用 step 函数,因为我已经给了它所需的权限

最佳答案

所以,我发现了错误,我使用了错误的 ARN。我使用的 ARN 用于特定执行步骤函数要使用的正确 ARN 是

arn:aws:states:us-east-1:xxxxxxxx:stateMachine:dev-hassan-pipeline-sf

我真的很惊讶,我在 web ui 上找不到状态机的 ARN。在查看一些示例代码时,我发现了我的错误,我意识到我的 ARN 在其中执行,而不是状态机。

我刚刚意识到,我什至没有在这个问题中发布整个 ARN

关于python - 在 python 中从 Lambda 调用 AWS Step 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45790568/

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