在boto2上,我们可以使用Key对象的名称作为键来存储对象,并且在头部dict参数内的前提条件(即If-Match,If-None-Match等)将与PUT一起发送请求。
示例:
# 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可以让我们将一个对象放在一个桶中,如:
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&#39s的头参数,前提条件设置在?我试图找到有关boto3 API DOC的信息,但这些先决条件仅针对GET操作设置:https://boto3.readthedocs.io/en/latest/reference/services/s3.html
谢谢!
答案 0 :(得分:0)
S3实际上忽略了PUT请求中的那些参数。