首页 > 解决方案 > AWS Kinesis Lambda DynamoDB 。我正在尝试使用以下代码通过 Lambda 函数从 Kinesis 摄取数据 DynamoDB

问题描述

AWS Kinesis Lambda DynamoDB 。我正在尝试以下代码通过 Lambda 函数从 Kinesis 流中将数据摄取到 DynamoDB。但是数据没有被 DynamoDB 摄取,执行后没有在 lambda 函数中出现异常。Lambda 函数已在 Kinesis Stream 上触发。

任何人都可以请建议。

    import boto3
    import datetime
    import base64
    import json
    
    def lambda_handler(event, context):
        try:
            dynamo_db = boto3.resource('dynamodb')
            table = dynamo_db.Table('table')
            for record in event["Records"]:
                encoded = record["kinesis"]["data"]
                decoded = json.loads(base64.b64decode(encoded).decode("utf-8"))
                for i in decoded:
                    record = i["demo-stream"]
                    for j in record:
                        data = {
                            'timestamp': ["timestamp"],
                            'name': ["name"],
                            'age': ["age"]
                        }
                        # table.put_item(Item=data)  
                        with table.batch_writer() as batch_writer:
                            batch_writer.put_item(Item=data)
        except Exception as e: 
            print(str(e))

标签: amazon-web-servicesaws-lambdaamazon-dynamodbamazon-kinesis

解决方案


推荐阅读