38

s3cmd put contentfile S3://test_bucket/test_file を使用して、S3cmd ツールを使用して、資格情報を使用して一部のコンテンツを S3 バケットにプッシュできます。

質問は、s3cmd がインストールされていないが、wget がインストールされている他のコンピューターで、このバケットからコンテンツをダウンロードする必要があるということです。

wget を使用してバケットからコンテンツをダウンロードしようとすると、次のようになります。

 https://s3.amazonaws.com/test_bucket/test_file
--2013-08-14 18:17:40--  `https`://s3.amazonaws.com/test_bucket/test_file
Resolving s3.amazonaws.com (s3.amazonaws.com)... [ip_here]
Connecting to s3.amazonaws.com (s3.amazonaws.com)|ip_here|:port... connected.
HTTP request sent, awaiting response... 403 Forbidden
`2013`-08-14 18:17:40 ERROR 403: Forbidden.

このバケットは、Amazon AWS Web コンソールを介して手動で公開しました。

質問: wget を使用して S3 バケットからコンテンツをダウンロードするにはどうすればよいですか? txtローカルファイルに?

4

10 に答える 10

32
  1. S3 コンソールに移動

  2. オブジェクトを選択

  3. [オブジェクト アクション] をクリックします。

  4. 「名前を付けてダウンロード」を選択

  5. マウスを右クリックして「リンク アドレスをコピー」します。

  6. 次に、次のコマンドを使用します。

    wget --no-check-certificate --no-proxy 'http://your_bucket.s3.amazonaws.com/your-copied-link-address.jpg'

于 2015-05-18T16:23:39.040 に答える
8

わかりました... --acl public フラグを指定して S3CMD を使用して S3 バケットにファイルをアップロードすると、wget を使用して S3 からファイルを簡単にダウンロードできます...

結論: wget でダウンロードするには、まず S3 にコンテンツをアップロードする必要があります。s3cmd put --acl public --guess-mime-type <test_file> s3://test_bucket/test_file

または、次を試すことができます:

s3cmd setacl --acl-public --guess-mime-type s3://test_bucket/test_file

上記の setacl フラグに注意してください。これにより、一般にアクセス可能なs3にファイルが設定され、実行できますwget http://s3.amazonaws.com/test_bucket/test_file

于 2013-08-16T21:47:43.893 に答える
6

私は同じ状況を数回経験しました。CLI を使用して AWS から任意のファイルをダウンロードする最も速くて簡単な方法は、次のコマンドです。

aws s3 cp s3://bucket/dump.zip dump.zip

少なくとも米国外にいる場合は、wget 経由よりもはるかに高速にファイルをダウンロードできます。

于 2020-04-14T07:52:29.237 に答える
1

読み取り許可が正しく与えられていることを確認してください。

アカウント/パスワードを入力せず、パスワードなしで wget コマンドだけを使用する場合は、次の設定に示すようにアクセス許可を確認してください。

By Amazon S3 -> Buckets -> Permisions - Edit "Everyone (public access)" のオブジェクトをチェックし、変更を保存します。このような権限設定 - スクリーンショット

または、オブジェクトを選択して「アクション」->「公開する」に移動すると、パーミッション設定で同じことが行われます。

于 2021-06-10T07:24:05.083 に答える
0

バケットを公開したので、オブジェクトも公開する必要があります。また、wget コマンドは S3:// アドレスでは機能しません。AWS Web コンソールでオブジェクトの URL を見つける必要があります。

于 2021-06-10T08:38:15.297 に答える