小编Moh*_*sin的帖子

我想使用 Python (Boto3) 将 DynamoDB 表以 CSV 格式导出到 S3 存储桶

之前在以下链接中已经问过这个问题: How to write dynamodb scan data's in CSV and upload to s3 bucket using python?

我已经按照评论中的建议修改了代码。代码如下所示:

import csv
import boto3
import json
dynamodb = boto3.resource('dynamodb')
db = dynamodb.Table('employee_details')
def lambda_handler(event, context):
    AWS_BUCKET_NAME = 'session5cloudfront'
    s3 = boto3.resource('s3')
    bucket = s3.Bucket(AWS_BUCKET_NAME)
    path = '/tmp/' + 'employees.csv'
    try:
        response = db.scan()
        myFile = open(path, 'w')  

        for i in response['Items']:
            csv.register_dialect('myDialect', delimiter=' ', quoting=csv.QUOTE_NONE)
            with myFile:
                writer = csv.writer(myFile, dialect='myDialect')
                writer.writerows(i)
            print(i)
    except :
        print("error")

    bucket.put_object(
        ACL='public-read',
        ContentType='application/csv',
        Key=path,
        # Body=json.dumps(i),
    ) …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services amazon-dynamodb boto3 aws-lambda

2
推荐指数
1
解决办法
3551
查看次数