S3からa directoryをダウンロードしたい。
a fileが必要な場合、s3管理コンソール(aws Webコンソール)でダウンロードできますが、a directory、次のようにaws-cliを使用する必要があります。
$ aws s3 cp s3://mybucket/mydirectory/ . --recursive
私の質問は次のとおりです。s3uri(s3://mybucket/mydirectory/
)s3管理コンソールから?
URLは使用可能ですが、aws-cliで必要なs3 URIとは少し異なります。 uriを取得するためのメニューが見つかりませんでした。
前もって感謝します!
(自己回答)
そのような方法はなかったようなので、私は one を作成しました:
pip install aws-s3-url2uri
コマンドaws_s3_url2uri
はインストール後に利用可能になります。
このコマンドは、WebコンソールのURLを内部的にS3 URIに変換するため、URLとURIおよびローカルパスで機能します。
aws_s3_url2uri ls "https://console.aws.Amazon.com/s3/home?region=<regionname>#&bucket=mybucket&prefix=mydir/mydir2/"
呼び出します
aws s3 ls s3://mybucket/mydir/mydir2/
内部的に。
いいえ、コンソールには表示されません。ただし、それは単純です:
s3://<bucket-name>/<key>
ディレクトリは、実際にはkey
の一部です。たとえば、images
ディレクトリに格納されているfoo.jpg
は、実際にはimages/foo.jpg
というキー(ファイル名)を持ちます。
キーを選択してをクリックすると、コンソールで適切なkey/fileのS3-URIを取得できます。 Copy path ボタンを押すと、ファイルのs3-URIがクリップボードに配置されます。
ただし、ディレクトリ自体はキーではなく、単にキープレフィックスであるため、これは機能しません。
コンソールに表示されるhttps://s3.us-east-2.amazonaws.com/my-bucket-name/filename
などのS3 URLをS3 URIに変換するには、https://s3.us-east-2.amazonaws.com/
部分を削除し、次のようにs3://
に置き換えます。
s3://my-bucket-name/filename