'S3'对象没有属性'put_object_retention'

时间:2019-01-05 07:18:55

标签: python amazon-web-services amazon-s3 deployment boto3

我正在尝试实现AWS s3最近引入的对象锁定功能。当我在本地运行该代码时,它可以完美运行。但是,一旦我将其部署到亚马逊上,它就会崩溃并给我错误。我尝试使用zappa,ECS以及纯lambda进行部署。亚马逊的python软件包似乎没有最新的boto3。这是我要使工作的代码:

    s3_client = boto3.client('s3', aws_access_key_id=access_key, aws_secret_access_key=secret_key)
response = s3_client.put_object_retention(
    Bucket=bucket,
    Key='docker.docx',
    Retention={
        'Mode': 'COMPLIANCE',
        'RetainUntilDate': datetime.datetime(2019, 1, 6)
    },
    VersionId='xN7ixBbDRaUoO99rpUzO6R8E30xox2Ng'
)

我的最终目标是将其部署在flask应用程序中。但是我目前很困,因为我什至无法在任何AWS部署上都使用它。

1 个答案:

答案 0 :(得分:3)

put_object_retention()是一项相当新的功能。

您需要将boto3更新到新版本:

sudo pip install boto3 --upgrade

我刚刚升级到v1.9.74,它可以正常工作。