我搜索了boto3 doc,但沒有找到相關信息。在這種link,應提到的是它可以使用如何使用boto3寫入S3標準不經常訪問?
k.storage_class='STANDARD_IA'
有人可以在這裏分享一個完整的代碼片段來完成?非常感謝。
我搜索了boto3 doc,但沒有找到相關信息。在這種link,應提到的是它可以使用如何使用boto3寫入S3標準不經常訪問?
k.storage_class='STANDARD_IA'
有人可以在這裏分享一個完整的代碼片段來完成?非常感謝。
從boto3 Storing Data例子,它看起來像把對象boto3
的標準方法是
s3.Object('mybucket', 'hello.txt').put(Body=open('/tmp/hello.txt', 'rb'))
但設置存儲類,S3.Object.Put表明,我們想使用參數:
StorageClass='STANDARD_IA'
所以結合兩者,我們有:
import boto3
s3 = boto3.resource('s3')
s3.Object('mybucket', 'hello.txt').put(Body=open('/tmp/hello.txt', 'rb'), StorageClass='STANDARD_IA')
希望幫助
新文件
import boto3
client = boto3.client('s3')
client.upload_file(
Filename = '/tmp/foo.txt',
Bucket = 'my-bucket',
Key = 'foo.txt',
ExtraArgs = {
'StorageClass': 'STANDARD_IA'
}
)
現有文件
從How to change storage class of existing key via boto3:
import boto3
s3 = boto3.client('s3')
copy_source = {
'Bucket': 'mybucket',
'Key': 'mykey'
}
s3.copy(
CopySource = copy_source,
Bucket = 'target-bucket',
Key = 'target-key',
ExtraArgs = {
'StorageClass': 'STANDARD_IA',
'MetadataDirective': 'COPY'
}
)
是否要設置存儲類的時候,對象是創建,還是創建後? –
你能告訴我兩種方法嗎? – nos