0
私はSQSメッセージ処理のためにPython2.7ランタイムを使って2つの基本的なラムダを動かそうとしています。 1つのラムダはSQSを呼び出し、コンテキストを介して別のラムダにデータを渡します。私は他のラムダを呼び出すことができますが、ユーザコンテキストは空です。別のラムダ非同期を呼び出し、そのコンテキストにコンテキストを渡す方法は?
import boto3
import base64
import json
import logging
messageDict = {'queue_url': 'queue_url',
'receipt_handle': 'receipt_handle',
'body': 'messageBody'}
ctx = {
'custom': messageDict,
'client': 'SQS_READER_LAMBDA',
'env': {'test': 'test'},
}
payload = json.dumps(ctx)
payloadBase64 = base64.b64encode(payload)
client = boto3.client('lambda')
client.invoke(
FunctionName='LambdaWorker',
InvocationType='Event',
LogType='None',
ClientContext=payloadBase64,
Payload=payload
)
そして、これは私が内部のコンテキスト変数の内容を検査し、印刷しようとしている方法であるラムダを呼び出したので、私はCloudWatchの中にログをチェックできます:これはSQSリーダーラムダの私のコードです
memberList = inspect.getmembers(context)
for a in memberList:
logging.error(a)
を
問題は何もありませんが動作し、CloudWatchのは、ユーザーコンテキストが空であることを示している:私が試した
('client_context', None)
example1、example2、example3、example4