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. Botoを使用してPythonでS3に接続する
- 3. Pythonでbotoライブラリを使ってAmazon SQSでメッセージを受け取る方法は?
- 4. 秘密鍵を使用してgit repoをクローンする方法
- 5. Amazon S3でpythonを使用してディレクトリを作成する、boto3
- 6. S3でbotoライブラリを使用する
- 7. botoを使ってs3にアップロード中にgzipする方法
- 8. SDKおよびUploadifyを使用してAmazon S3にファイルをアップロードすると正しく表示されない
- 9. php webserviceを使用してAmazon S3に画像をアップロードする方法は?
- 10. Mavenを使用してAmazon S3に案件を配備する方法は?
- 11. BOTO Pythonを使用してAWSでインスタンスのパブリックDNSを取得する方法
- 12. Amazon S3 Python Pythonによるバルクファイル転送
- 13. Javaを使用してs3スタイルのアクセス/秘密鍵を生成する方法
- 14. Python Boto WindowsへのS3サブディレクトリをダウンロード
- 15. botoを使用してAmazon SQSから生のメッセージを読む
- 16. Amazon S3、datanucleus、JDOおよび埋め込みオブジェクト
- 17. Hive、S3、EMR、およびRecover Partitionを使用したデータのロード
- 18. AWS S3はbotoを使用してバケット/プレフィックスを変更します
- 19. botoを使ってs3にzipファイルをアップロードするには?
- 20. DropboxのようなストレージとしてAmazon S3を使用してユーザーストレージクォータを実装する方法
- 21. Amazon S3にscpする方法は?
- 22. Zeppelinを使用してaws spark-ec2クラスタおよびs3バケットにアクセスする方法
- 23. botoライブラリを使用してAmazon S3にファイルをアップロードするための一時URLを生成するにはどうすればよいですか?
- 24. CおよびC++用のGSOAPを使用してAmazon AWS S3にアクセスするにはどうすればよいですか?
- 25. Python 2.xおよび3.xでdoctestを使用して例外をテストする方法は?
- 26. Amazon S3とAmazon RDSを併用する
- 27. PythonでAmazon S3を使って画像を安全に表示
- 28. jQueryとRESTを使用してAmazon S3バケットを作成する
- 29. Amazon S3Clientを使用してS3にファイルをアップロードする。
- 30. プログラムでAmazon S3の権限をbotoで確認するにはどうすればよいですか?
ヘルプ: 'コピー(自己、dst_bucket、dst_key、メタデータ=なし、reduced_redundancy =偽、偽= preserve_acl、ENCRYPT_KEY =偽)のbotoの'メソッド。 s3.key.Keyインスタンス この鍵を別のバケットにコピーします。 –