this tutorialの後に、作成したAmazon ElasticSearchサービスクラスタにすべてのDynamoDBストリームが自動的にインデックスされます。Amazon ESクラスタのデータのインデックス作成中にクラウドログのエラーが発生しました
私はこれを順を追って実行し、すべてのアクセス許可ポリシーを作成しました。
しかし、私がテストしているとき、私のAmazon ESクラスタでは何も索引付けされていません。 CloudWatchを確認すると、次のログが表示されます。
('ERROR: ', 'Traceback (most recent call last):
File "/var/task/lambda_function.py", line 123, in lambda_handler
return _lambda_handler(event, context)
File "/var/task/lambda_function.py", line 219, in _lambda_handler
post_to_es(es_payload) # post to ES with exponential backoff
File "/var/task/lambda_function.py", line 86, in post_to_es
es_ret_str = post_data_to_es(payload, es_region, creds, es_endpoint, \'/_bulk\')
File "/var/task/lambda_function.py", line 53, in post_data_to_es
req = botocore.awsrequest.create_request_object(params)
File "/var/runtime/botocore/awsrequest.py", line 314, in create_request_object
request_object.context.update(r[\'context\'])
KeyError: \'context\'
')
私はこの問題を理解していません。私の知っているラムダ関数は、それぞれのDynamoDBストリームを正常にトリガーし、CloudWatchにログを送信できますが、Amazon ESでこれらのデータをインデックスに登録することはできません。
誰かがこの問題を解決するのに手伝ってください。
エラーは自明ですが、あなたの 'r' dictには' context'キーがありません –