在处理 AWS Lambda 中的 S3 操作时,使用正确的存储桶名称是非常重要的。如果出现“无效的桶名称错误”,可能是因为指定了错误的存储桶名称,也可能是因为存储桶不存在。
以下示例代码可以帮助解决这个问题:
import boto3
s3 = boto3.resource('s3')
def lambda_handler(event, context):
source_bucket = "source-bucket-name"
destination_bucket = "destination-bucket-name"
try:
copy_source = {
'Bucket': source_bucket,
'Key': 'file.txt'
}
s3.meta.client.copy(copy_source, destination_bucket, 'file.txt')
print("File copied successfully")
except Exception as e:
print("Error: ", e)
在这个例子中,我们首先定义了源存储桶和目标存储桶的名称。然后我们定义了要复制的文件的键名称(“file.txt”)。最后,我们使用 S3 客户端的“copy”方法将文件从源存储桶复制到目标存储桶中。
如果使用正确的存储桶名称并且存储桶存在,此代码应该能够正常工作并在控制台中输出“File copied successfully”。如果出现错误,输出将包含错误信息,帮助您确定出现问题的原因。