web-dev-qa-db-ja.com

AWSCLIがラムダ関数の問題を実行する

Windows10のAWSCLIからラムダ関数を呼び出そうとしています。以前にAWS configureを使用してクライアントの設定を行いました。

使用されるコマンドは次のとおりです。

aws lambda invoke \
    --function-name arn:aws:lambda:us-east-1:111111111:function:xxx \
    --invocation-type RequestResponse

しかし、私のシステムはエラーを返していますaws: error: too few arguments、以下に示すように:

enter image description here

この処刑に成功するために私を導いてくれませんか?

ありがとう

5

アウトファイルを提供する必要があるようです。したがって、次のように再実行します。

aws lambda invoke \
    --function-name arn:aws:lambda:us-east-1:111111111:function:xxx \
    --invocation-type RequestResponse \
    outfile.txt
13
jarmod

@jarmodの回答に加えて:出力をstdoutに直接送信する場合は、-を使用できます。

aws lambda invoke --function-name my_function --invocation-type RequestResponse --log-type Tail - | grep "LogResult"| awk -F'"' '{print $4}' | base64 --decode

またはあなたが持っている場合 jq

aws lambda invoke --function-name my_function --invocation-type RequestResponse --log-type Tail - | jq '.LogResult' -r | base64 --decode

7
Putnik

Jenkins(Windows)と統合していて、Lambdaプラグインを使用したくない場合。 Lambdaプラグインは、どういうわけか、jenkinsバインディングで設定した資格情報を取得していません。

最初にペイロードを準備します。ユーザーからパラメーターを取得しました。

@echo off
@echo {> payload.json
@echo  "type": "RequestType",>> payload.json
@echo  "siteCode": "%SiteCode%",>> payload.json
@echo  "siteDesc": "%SiteDesc%",>> payload.json
@echo }>> payload.json

Awscliを使用してラムダを呼び出します。

aws lambda invoke --function-name "FuntionName" --invocation-type RequestResponse --region us-zone-id --log-type Tail --payload file://payload.json response.json

Typeコマンドを使用して応答を出力できます。

type response.json
0
Prakash Boda