S3バケットのキーにファイルが含まれています。私は同じファイルを含む新しい鍵を作成したい。そのファイルをダウンロードせずに行うことはできますか? 私はPython(そして、できればbotoライブラリ)のソリューションを探しています。Python(およびboto)を使用してAmazon S3で鍵をクローンする方法は?
答えて
S3では、オブジェクトコピーによってオブジェクトを許可します。 CopyObject操作では、ソースオブジェクトのキーとバケット、およびターゲット先のキーとバケットを指定すると、オブジェクトのコピーが作成されます。 botoにコンパクトな実装があるかどうかは不明です。
botoのソースコードを参照すると、Keyオブジェクトに「コピー」メソッドがあることがわかりました。 CopyObject操作に関するご意見ありがとうございます。誰も尋ねませんが、私はsimples3
でこれを行う方法を示すために、関連するかもしれないと思った
bucket.copy_key(new_key,source_bucket,source_key)
>>> b.copy("my_bucket/file.txt", "file_copy.txt", acl="public")
私はわからないんだけど何Botoはここにありますが、アクセス許可(ACL)がでないことに注意してください。はS3によってコピーされます。それ以外の指定がない場合は、「プライベート」にリセットされます。 ACLをコピーするには、まずACLを要求する必要があります。
これは実際にキーを読み取り、それを新しいバケットに入れます。これはあなたが望むものではありません。ごめんなさい。 –
これは正確だとは思わない。これは最高の答えIMOです。 'copy_key'メソッドはPUTリクエストに' x-amz-copy-source'ヘッダを渡します。これは、あなたのマシンにダウンロードすることなくS3が地域から地域に直接コピーするように指示します。 – sergiopereira
ここにそれらがありますdocs:http://boto.cloudhackers.com/en/latest/ref/s3.html#boto.s3.bucket.Bucket.copy_key – creimers
:バケットは先のバケットである
私はこのアクセス権に関するコメントを(バグが発生した後に) 'dest_bucket .copy_key(key.name、src_bucket_name、key.name、preserve_acl = True) ' – nsof
Keyオブジェクトの 'copy'メソッドには、送信元のACLを宛先オブジェクトにコピーする「preserve_acl」パラメータ(デフォルトではFalse)があります。モジュールboto.s3.keyのメソッドコピー上
from boto.s3.key import Key
#Get source key from bucket by name
source_key = source_bucket.get_key(source_key_name)
#Copy source key to a new bucket with a new key name (can be the same as source)
#Note: source_key is Key
source_key.copy(dest_bucket_name,dest_key_name)
#The signature of boto's Key class:
def copy(self, dst_bucket, dst_key, metadata=None,
reduced_redundancy=False, preserve_acl=False,
encrypt_key=False, validate_dst_bucket=True)
#set preserve_acl=True to copy the acl from the source key
- 1. python botoを使用してローカルマシンからAmazon S3にコピーする
- 2. Python Amazon Boto S3 ongoing_restore bug
- 3. Botoを使用してPythonでS3に接続する
- 4. Pythonでbotoライブラリを使ってAmazon SQSでメッセージを受け取る方法は?
- 5. 秘密鍵を使用してgit repoをクローンする方法
- 6. CNAME、およびAmazon S3のバケットサブドメイン
- 7. Amazon AWS Athena S3およびGlacier Mixed Bucket
- 8. python botoを使用してS3フォルダにファイルをアップロード
- 9. S3でbotoライブラリを使用する
- 10. Amazon S3でpythonを使用してディレクトリを作成する、boto3
- 11. Amazon S3 ResponseStreamを使用してFileResultを返す方法は?
- 12. botoを使ってs3にアップロード中にgzipする方法
- 13. SDKおよびUploadifyを使用してAmazon S3にファイルをアップロードすると正しく表示されない
- 14. Mavenを使用してAmazon S3に案件を配備する方法は?
- 15. php webserviceを使用してAmazon S3に画像をアップロードする方法は?
- 16. BOTO Pythonを使用してAWSでインスタンスのパブリックDNSを取得する方法
- 17. Amazon AWS boto S3ファイルの内容を変更する
- 18. BOTOを使用してS3に接続できません
- 19. メッセージングアプリケーションでAmazon S3を安全に使用する方法
- 20. anglejsファクトリを使用してgetおよびsetを使用する方法は?
- 21. Javaを使用してs3スタイルのアクセス/秘密鍵を生成する方法
- 22. jQuery.each()を使用してjQueryスライダをクローン化および初期化する方法
- 23. botoを使用してAmazon SQSから生のメッセージを読む
- 24. Amazon S3 Python Pythonによるバルクファイル転送
- 25. python boto get_contents_to_filenameとs3 cpの違いは?
- 26. Python Boto WindowsへのS3サブディレクトリをダウンロード
- 27. botoを使用してAmazon SQSに接続
- 28. Amazon S3、datanucleus、JDOおよび埋め込みオブジェクト
- 29. Hive、S3、EMR、およびRecover Partitionを使用したデータのロード
- 30. AWS S3はbotoを使用してバケット/プレフィックスを変更します
ヘルプ: 'コピー(自己、dst_bucket、dst_key、メタデータ=なし、reduced_redundancy =偽、偽= preserve_acl、ENCRYPT_KEY =偽)のbotoの'メソッド。 s3.key.Keyインスタンス この鍵を別のバケットにコピーします。 –