S3 ディレクトリから Amazon ElasticSearch サービスにデータをコピーしたいと考えています。ガイドに従ってみましたが、残念ながら探している部分がありません。ラムダ関数自体がどのように見えるべきかわかりません (ガイドのこれに関するすべての情報は、「アプリケーションのソース コードを eslambda フォルダーに配置します。」)。ES にファイルの自動インデックスを付けてもらいたいです。
現在、私は試しています
for record in event['Records']:
bucket = record['s3']['bucket']['name']
key = urllib.unquote_plus(record['s3']['object']['key'])
index_name = event.get('index_name', key.split('/')[0])
object = s3_client.Object(bucket, key)
data = object.get()['Body'].read()
helpers.bulk(es, data, chunk_size=100)
しかし、私は大規模なエラーのようになります
elasticsearch.exceptions.RequestError: TransportError(400, u'action_request_validation_exception', u'Validation Failed: 1: index is missing;2: type is missing;3: index is missing;4: type is missing;5: index is missing;6: type is missing;7: ...
データが S3 から ES に移動され、自動マッピングおよび自動インデックス作成されるように設定するにはどうすればよいですか? 参照hereおよびhereに記載されているように、明らかに可能です。