2016-04-05 5 views
17

create-functionコマンドでラムダ関数を作成しようとしているときに、「関数に定義されたロールを引き継ぐことはできません。関数に定義されているロールはLambdaによって引き継がれません

AWSラムダ
--region米国西部-2
--function名HelloPython
--zip-ファイルFILEB-関数を作成://hello_python.zip
--role ARN: AWS:IAM ::私-ACC-アカウントID:役割/デフォルト
--handler hello_python.my_handler
--runtime python2.7

15 --timeout --memoryサイズ512

+2

エラーとは何ですか?質問は何ですか? – jotik

+0

私はこの同じエラーが発生しています、運は何ですか? –

+2

@ox。以下の新しい回答をご覧ください。私のために数秒待っていた。 – Zanon

答えて

20

このエラーも発生しています。決定的な回答は得られていないが、あなたや他の誰かがこの問題にぶつかるのを助けるかもしれないヒントをいくつか伝えたいと思った。

A)あなたが一緒にあなたのアカウントのIDとロール名を入れてロールARNを構築する場合、私はアカウントIDは、あなただけの役割、そしておそらく追加ポリシーを作成した場合は任意のダッシュ

B)なしにする必要があると思いますそれには、ロールがこのエラーを引き起こす(小さな)時間枠があるようです。ロールの最後の操作とcreate-function呼び出しの間に5〜6秒間スリープすると、問題を回避することができました(ただし、タイミングは可変である可能性があります)。

+13

+1 "スリープ5または6秒"が解決策です。私はJavaScript SDKを使用して同じ問題を抱えていて、私のために固定を待っていました。 Nodeのコード例を自己回答[question](http://stackoverflow.com/q/37503075/1476885)に投稿しました。 – Zanon

+1

@ザノン - Q/Aへのポインタありがとう。私は時間があれば、通常、リソースを準備する時間が必要なときに、公式のフォーラムにこれを渡すことにします。これは、boto3を使用している場合は問い合わせ可能なステータス(さらにboto3を使用している場合はウェイターオブジェクトでもあります)奇妙な(文書化されていないafaik)矛盾のように – FOR

+1

'retrying' pythonパッケージは素早く救助されました - ' @ retrying.retry(wait_exponential_multiplier = 1000、wait_exponential_max = 10000) ' –

26

私はロール "信頼関係"設定ファイルを更新していないので、 "関数に定義されたロールはLambdaによって仮定できません"というエラーが出ました。私はコメント内のリンクされた答えのようにタイムアウトの問題に遭遇しなかった。

上記のコメントのコメントは、次のものを追加する必要があると指摘しました。

  1. ゴーへ 'IAM>役割> YourRoleName'
    • は(注:自分の役割がリストされていない場合、あなたはそれを作成する必要があります。)
  2. の信頼を選択関係タブ
  3. を選択し 『編集信頼関係』

鉱山は、以下のようになってしまいました。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     <your other rules> 
    }, 
    { 
     "Effect": "Allow", 
     "Principal": { 
     "Service": "lambda.amazonaws.com" 
     }, 
     "Action": "sts:AssumeRole" 
    } 
    ] 
} 
+1

ありがとうございました私のために。これは、受け入れられた回答としてマークする必要があります。 – arnold

9

私にとっては、問題の原因は不完全な名前でした。それは

--role arn:aws:iam::000000000000:role/service-role/MyRoleName 

されている必要がありますとき、私は私が

aws iam get-role --role-name MyRoleName 
を実行することにより、これを発見し

(もちろん私のAWS IDは、実際000000000000ではありません)

--role arn:aws:iam::000000000000:role/MyRoleName 

を設定しました

と見ています結果セットの"Arn"プロパティで指定します。私にとって

+0

ありがとう、それは私が行方不明だった。 – apines

1

、問題は私が間違っているデフォルトの地域環境のキーを設定していたということでした。

関連する問題