如何在不使用AWS CLI的情况下使用S3专用存储桶下载文件

时间:2020-07-11 02:05:09

标签: amazon-s3 amazon-systems-manager

是否可以在没有AWS CLI的情况下从AWS s3下载文件?在生产服务器中,我需要下载一个S3存储桶中的配置文件。

我当时在考虑让Amazon Systems Manger运行一个脚本,该脚本将从S3下载配置(YAML文件)。但是我们不想在生产机器上安装AWS cli。我该怎么办?

2 个答案:

答案 0 :(得分:2)

您将需要某种程序来调用Amazon S3 API来检索对象。例如,PowerShell脚本(使用AWS Tools for Windows PowerShell)或使用AWS开发工具包的Python脚本。

您可以选择生成Amazon S3 pre-signed URL,这将允许通过常规HTTPS调用(例如curl)从Amazon S3下载私有对象。使用适用于Python的AWS开发工具包可以轻松完成此操作,或者您可以自己编写代码而无需使用库(这有点复杂)。

在上述所有示例中,您都需要为脚本/程序提供一组IAM凭证,以便通过AWS进行身份验证。

答案 1 :(得分:0)

只需为任何 C# 代码爱好者添加注释即可解决 .Net 问题

  1. 首先编写(C#)代码以字符串形式下载私有文件

    function downloadPrivateFile() {
    $.ajax({url: 'DownloadPrivateFileS3?fileName=' + fileName, success: function(result){
            var link = this.document.createElement('a');
            link.download = fileName;
            link.href = "data:application/octet-stream;base64," + result;
            this.document.body.appendChild(link);
            link.click();
            this.document.body.removeChild(link);
      }});
    }
  2. 第二次编写 JQuery 代码以将字符串下载为 Base64

{{1}}

从 HTML/C#/JQuery 的任何地方调用 downloadPrivateFile 方法 -

享受快乐的编码和复杂问题的解决