当我尝试测试用 Python 3.7 boto3 AWS SDK 编写的以下 lambda 函数时,我遇到了以下代码行(lambda 代码块中的最后一行)的问题。lambda 函数删除 S3 存储桶中的对象,迭代存储桶中的每个对象。
client.Object(bucket, key).delete()
当我保存并运行代码时,我在上述行中遇到的错误,也是下面 lambda 函数代码块中的最后一行,如下所示。请求帮助。
“errorMessage”:“预期的字符串或类似字节的对象”,“errorType”:“TypeError”
【Lambda函数代码块】
import boto3
import json
import uuid
import csv
def lambda_handler(event, context):
recordId = str(uuid.uuid4())
print (recordId)
client = boto3.resource(
's3',
region_name='us-east-1',
aws_access_key_id='XXXXXXXXXXXXXXX' ,
aws_secret_access_key='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
)
bucket = client.Bucket('my_bucket')
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('my_dynamo')
for obj in bucket.objects.all():
key = obj.key
body = obj.get()['Body'].read()
data = body.decode("utf-8")
data1 = data.split('\n')
client.Object(bucket, key).delete()