2016-06-30 11 views
1

AWSを初めて使い、rubyを使ってラムダ関数を呼び出す方法を理解しようとしています。 NilClass:コードを試した後、私はゼロのため、次のエラールビーコードでAWSラムダ関数を呼び出す

未定義のメソッド `マッチ」を取得しています:誰かが私ルビーに

おかげ

編集1を使用してAWSのラムダ関数を呼び出すためのサンプルコードを提供することができますここで

は私のコードです:

require 'aws/decider' 
require 'aws-sdk' 

class U_Act 
extend AWS::Flow::Activities 
activity :b_u do 
    { 
     version: "1.0" 
    } 
end 

def b_u(c_id) 
    lambda=Aws::Lambda::Client.new(
    access_key_id: “XxXXXXXXXXX”, 
    secret_access_key: “XXXXXXXXXX” 
     ) 
     resp = lambda.invoke(
    function_name: “s_u_1” # required 
    ) 
     print "#{resp}" 
end 

エンド

+0

AWS Ruby SDKのドキュメントはありますか? 'invoke()'メソッドのマニュアルで提供されている例が不十分ですか? http://docs.aws.amazon.com/sdkforruby/api/Aws/Lambda/Client.html#invoke-instance_method –

+0

私はドキュメントを調べました。しかし、私はクライアントが何であるか、クライアントを定義する方法を理解できませんでした。クライアントはラムダと同じですか(ページの上部に定義されています)? –

答えて

2

aws-sdkを使用してラムダ関数を呼び出す方法は、関数のラムダ呼び出し許可が添付されたIAMロールがあるインスタンスで実行している場合は、access_key_id/secret_access_keyを指定する必要はありません。

require 'aws-sdk' 

lambda = Aws::Lambda::Client.new(
    region: 'eu-west-1', 
    access_key_id: 'access_key_id' 
    secret_access_key: 'secret_access_key' 
) 
#=> #<Aws::Lambda::Client> 

resp = lambda.invoke(function_name: 'function_name') 
#=> #<struct Aws::Lambda::Types::InvocationResponse status_code=200, function_error=nil, log_result=nil, payload=#<StringIO:0x00000000000>> 
+0

あなたのコードを試した後、 "undefined method' match 'for nil:NilClass "というエラーが出ます。ここに私のコードは、 'AWS-SDK' クラスを必要と 'AWS /サイダー' を必要としますU_Act \t延長AWS ::流れ::活動 \tアクティビティ:b_u行う \t \t { \t \t \t版: "1.0" \t \t} \t端 \t DEF b_u(C_ID) \t \tラムダ= AWS ::ラムダ:: Client.new( \t \t access_key_id:「XxXXXXXXXXX」、 \t \t secret_access_key:「XXXXXXXXXX」 \t \t \t) \t \t \t RESP = lambda.invoke( \t \t FUNCTION_NAME:「s_u_1」#が必要 \t \t) \t \t \t印刷"#{resp}" \t end end –

+0

stacktraceとは何ですか?私はあなたがおそらくエラーを起こしている理由であなたが領域(クライアントのコンストラクタでeu-west-1のような)を指定するのを見ることはありません。 –

+0

返信いただきありがとうございます。私は地域を追加し、それは働いた。しかし私は新しい問題に直面しています。理由:\tアクティビティが32768文字を超えるデータを含む応答を送信できません。応答のサイズを制限してください。 "なぜ私はエラーに直面する可能性がある任意のアイデア? –

関連する問題