Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用boto3设置键内容时的先决条件_Python_Amazon S3_Boto3_Preconditions - Fatal编程技术网

Python 使用boto3设置键内容时的先决条件

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': '*'

在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': '*'})
现在,对于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请求中的这些参数