复制同一桶中的S3对象不工作



我正在尝试编写一个Lambda函数,读取Excel文件,将其转换为CSV,然后将源Excel文件(.xlsx)放在名为ARCHIVE的文件夹/密钥中

我在Lambda函数中使用Boto3

我的代码是:
try:
print("Bucket: ", s3bucket)
print("Key: ", s3Key)
copy_source = {
'Bucket': s3bucket,
'Key': s3Key
}
bucket = s3_resource.Bucket(s3bucket)
bucket.copy(copy_source, destination_s3_loc)
print("ARCHIVE copy done")
except Exception as ex:
print("Error Copying to ARCHIVE: {0}".format(ex))

以上代码输出如下内容:

Bucket:  adl-dl-data-raw-ue1-dev
Key:  SUPPLY_CHAIN/SOURCE/TXT_3PL - Jan 28.xlsx
ARCHIVE copy done

目标路径如下所示:

destination_s3_loc = "s3://adl-dl-data-raw-ue1-dev/SUPPLY_CHAIN/SOURCE/ARCHIVE/TXT_3PL - Jan 28.xlsx"

代码没有抛出任何错误或异常。

我错过了什么吗?

修改如下:

destination_s3_loc = "s3://adl-dl-data-raw-ue1-dev/SUPPLY_CHAIN/SOURCE/ARCHIVE/TXT_3PL - Jan 28.xlsx"

:

destination_s3_loc = "SUPPLY_CHAIN/SOURCE/ARCHIVE/TXT_3PL - Jan 28.xlsx"

copy方法期望目标是一个S3对象键(在同一桶内),而不是一个完全限定的S3对象URI。

最新更新