Bec*_*cks 26 https amazon wget amazon-s3 s3cmd
我可以使用我的凭据通过S3cmd工具将一些内容推送到S3存储桶,使用s3cmd put contentfile S3:// test_bucket/test_file
问题是,我需要在没有安装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.
Run Code Online (Sandbox Code Playgroud)
我已通过Amazon AWS Web控制台手动将此存储桶公开.
问题是:如何使用wget从S3存储桶下载内容?进入txt本地文件?
Ama*_*mar 25
您应该能够从创建的URL访问它,如下所示:
http://{bucket-name}.s3.amazonaws.com/<path-to-file>
现在,说你的s3文件路径是:
s3://test-bucket/test-folder/test-file.txt
您应该可以使用以下URL来获取此文件:
http://test-bucket.s3.amazonaws.com/test-folder/test-file.txt
小智 23
您可以使用以下命令:
wget --no-check-certificate --no-proxy 'http://your_bucket.s3.amazonaws.com/my-file.jpg'
Run Code Online (Sandbox Code Playgroud)
得到它...如果您使用带有--acl公共标志的S3CMD在S3存储桶中上传文件,则可以轻松地从S3下载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
Run Code Online (Sandbox Code Playgroud)
注意上面的setacl标志.这将设置s3中的文件可公开访问,然后您可以执行wget http://s3.amazonaws.com/test_bucket/test_file
小智 8
AWS cli有一个'presign'命令,可以用来获取私有s3资源的临时公共URL.
aws s3 presign s3://private_resource
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用wget使用预签名URL下载资源.
我也遇到过几次同样的情况。使用 CLI 从 AWS 下载任何文件的最快、最简单的方法是下一个命令:
\n\naws s3 cp s3://bucket/dump.zip dump.zip\nRun Code Online (Sandbox Code Playgroud)\n\n文件下载速度比通过 wget 快得多,至少如果您在美国境外的话。
\n| 归档时间: |
|
| 查看次数: |
73211 次 |
| 最近记录: |