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
、以下に示すように:
この処刑に成功するために私を導いてくれませんか?
ありがとう
アウトファイルを提供する必要があるようです。したがって、次のように再実行します。
aws lambda invoke \
--function-name arn:aws:lambda:us-east-1:111111111:function:xxx \
--invocation-type RequestResponse \
outfile.txt
@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
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