Python 使用boto3设置键内容时的先决条件
在boto2上,我们可以使用Key object的名称作为Key存储一个对象,并在将与PUT请求一起发送的headers dict参数中存储前提条件(即If Match、If None Match等) 例如:Python 使用boto3设置键内容时的先决条件,python,amazon-s3,boto3,preconditions,Python,Amazon S3,Boto3,Preconditions,在boto2上,我们可以使用Key object的名称作为Key存储一个对象,并在将与PUT请求一起发送的headers dict参数中存储前提条件(即If Match、If None Match等) 例如: # assume both bucket and key are created beforehand fp_a = FakeWriteFile(file_size, 'A') key.set_content_from_file(fp_a, headers={'If-Match': '*'
# assume both bucket and key are created beforehand
fp_a = FakeWriteFile(file_size, 'A')
key.set_content_from_file(fp_a, headers={'If-Match': '*'})
现在,对于boto3,至少有两个API可以让我们将对象放入一个bucket中,例如:
fp_a = FakeWriteFile(file_size, 'A')
bucket.Object('foo').put(Body=fp_a)
或者,使用低级S3客户端:
bucket.put_object(Key='foo', Body=fp_a)
对于boto3上的上述两种情况,我需要在哪里添加前提条件以确保这些PUT请求在满足所有条件的情况下通过,类似于在中设置了前提条件的boto2的headers参数?我试图查找有关boto3 API文档的信息,但这些前提条件仅为GET操作设置:
谢谢 S3实际上会忽略PUT请求中的这些参数