2017-04-21 11 views
2

AWS Lamba関数を呼び出すようにパイプラインを設定しました。 10分のランタイムた後、これは私が取得エラーです:AWS CodePipelineからAWSラムダ関数を呼び出すときにアクセスが拒否されました

アクションの実行がaddAMIToAutoScalingLC が結果を返すことができなかったAWSラムダ関数を失敗しました。関数で、PutJobSuccessResultアクションを呼び出すためのアクセス許可が であることを確認し、PutJobSuccessResultに 呼び出しを行ったことを確認します。

ログ自体には関連情報が含まれていません。

は、私は私のIAM権限がセットアップされ、適切だと思う: AWSLambdaFullAccessAWSCodePipelineFullAccess

  • ラムダ関数が持つ役割で実行されます。 AWSLambdaFullAccess

を私は、スクリプトをテストするとき、私はExecution result: succeededを得るために私のスクリプトがPutJobSuccessResultに呼び出しを行うことを考える:

  • CodePipelineは私が持っている役割AWS-CodePipeline-Serviceで実行さだと思います。

    私のスクリプトにはパラメータが必要ないため、CodePipelineにユーザーパラメータを指定していません。

    さらに調査するにはどうすればよいですか?

  • +1

    コードのこのブロックは、問題(パイソン)を解きますか? IAMまたはリソースベース? – kosa

    +0

    IAMを使用しています(私はルールを記述しました) – Nicorr

    答えて

    2

    答えを見つけました。問題は許可されたものではなく、むしろPutJobSuccessResultへの呼び出しがないことから来ています。 パイプラインはラムダ機能が完了したことを知らず、タイムアウトまで待っていました。ここで使用している認証のどのような

    def lambda_handler(event, context): 
    
        # stuff 
    
        response = pipeline.put_job_success_result(
         jobId=event['CodePipeline.job']['id'] 
        ) 
        return response 
    
    関連する問題