当使用AWS Lambda的put_object
方法向S3存储桶中上传对象时,如果参数Body
的类型无效,可能是由于传递的类型不正确导致的。以下是解决此问题的示例代码:
import boto3
def lambda_handler(event, context):
s3 = boto3.client('s3')
bucket_name = 'your_bucket_name'
object_key = 'your_object_key'
# 读取本地文件作为对象的内容
file_path = '/path/to/your/file'
with open(file_path, 'rb') as file:
file_content = file.read()
# 将文件内容作为参数传递给S3的put_object方法
response = s3.put_object(
Body=file_content,
Bucket=bucket_name,
Key=object_key
)
return response
在上面的代码中,我们先打开本地文件并读取其内容,然后将文件内容作为Body
参数传递给put_object
方法。确保替换bucket_name
、object_key
和file_path
为您实际使用的值。
这样,put_object
方法将能够正确接收有效的Body
参数并将文件上传到S3存储桶中。