gpt4 book ai didi

amazon-web-services - 从 AWS CodePipeline 调用 AWS Lambda 函数时权限被拒绝

转载 作者:行者123 更新时间:2023-12-03 20:21:37 25 4
gpt4 key购买 nike

我已将管道设置为调用 AWS Lamba 函数。运行 10 分钟后,这是我得到的错误:

Action execution failed The AWS Lambda function addAMIToAutoScalingLC failed to return a result. Check the function to verify that it has permission to call the PutJobSuccessResult action and that it made a call to PutJobSuccessResult.



日志本身不包含相关信息。

我认为我的 IAM 权限设置正确:
  • Lambda 函数使用以下角色运行:AWSLambdaFullAccess , AWSCodePipelineFullAccess .
  • 我认为 CodePipeline 与角色 AWS-CodePipeline-Service 一起运行有:AWSLambdaFullAccess

  • 我认为我的脚本调用了 PutJobSuccessResult因为当我测试脚本时,我得到一个 Execution result: succeeded .

    我的脚本不需要任何参数,所以我没有在 CodePipeline 中提供任何用户参数。

    我应该怎么做才能进一步调查?

    最佳答案

    找到了答案。问题不是来自许可,而是来自没有调用 PutJobSuccessResult :
    管道不知道 lambda 函数已经完成,所以一直等到超时。

    这段代码解决了这个问题(Python):

    import boto3
    pipeline = boto3.client('codepipeline')

    def lambda_handler(event, context):

    # stuff

    response = pipeline.put_job_success_result(
    jobId=event['CodePipeline.job']['id']
    )
    return response

    关于amazon-web-services - 从 AWS CodePipeline 调用 AWS Lambda 函数时权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43547240/

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