调用CopyObject操作时为NoSuchBucket

2024-04-26 18:50:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试从s3中的旧文件还原文件,但前提是该文件不存在。 我现在的代码是:

import botocore
import os

s3 = boto3.resource('s3')

def checkFile(filename, buckett="selfmarkett"):
    try:
        s3.Object(buckett, filename).load()
    except botocore.exceptions.ClientError as e:
        if e.response['Error']['Code'] == "404":
            try:
                _filename, _extension = os.path.splitext(filename)
                oldFilename = _filename + ".p_up" + _extension
                s3.Object(buckett, filename).copy_from(CopySource=oldFilename)
            except Exception as error:
                print("Error2:", error)

我的问题是,当脚本尝试使用函数copy\u from时,返回以下错误:

NoSuchBucket: An error occurred (NoSuchBucket) when calling the CopyObject operation: The specified bucket does not exist

bucket已经在object中指定了,如何修复此错误?你知道吗


Tags: 文件importobjects3osasextensionerror