我正在尝试实现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部署上都使用它。
答案 0 :(得分:3)
put_object_retention()
是一项相当新的功能。
您需要将boto3
更新到新版本:
sudo pip install boto3 --upgrade
我刚刚升级到v1.9.74,它可以正常工作。