该问题通常是由于您的 AWS Firehose 传送到端点的数据格式与端点所需的数据格式不匹配而引起的。这可能是由于您没有正确设置 Firehose,或者您的端点无法处理接收到的数据。
为了解决该问题,您可以确保以下几点:
以下是一个示例代码,可以帮助您检查 AWS Firehose 的传输设置并将数据格式转换为端点所需的格式:
import json
def lambda_handler(event, context):
records = event['records']
output = []
for record in records:
payload = base64.b64decode(record['data']).decode('utf-8')
payload_dict = json.loads(payload)
# Convert data to endpoint format
converted_payload = convert_to_endpoint_format(payload_dict)
# Create output record
output_record = {
'recordId': record['recordId'],
'result': 'Ok',
'data': base64.b64encode(json.dumps(converted_payload).encode('utf-8')).decode('utf-8')
}
output.append(output_record)
return {'records': output}
def convert_to_endpoint_format(data):
# Convert data to endpoint format
endpoint_data = {
'attribute1': data['attributeA'],
'attribute2': data['attributeB']
}
return endpoint_data
上一篇:AWSFIFOSQS:当消息卡在DLQ中时,SQS如何在组中维护顺序?
下一篇:AWSFirehose传输错误:DynamicPartitioning.MetadataExtractionFailed