Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 如何在没有AWS cli的情况下使用s3专用存储桶下载文件_Amazon S3_Amazon Systems Manager - Fatal编程技术网

Amazon s3 如何在没有AWS cli的情况下使用s3专用存储桶下载文件

Amazon s3 如何在没有AWS cli的情况下使用s3专用存储桶下载文件,amazon-s3,amazon-systems-manager,Amazon S3,Amazon Systems Manager,是否可以在不使用AWS cli的情况下从AWS s3下载文件?在我的生产服务器中,我需要下载S3存储桶中的配置文件 我想让Amazon Systems Manager运行一个脚本,从S3下载配置(YAML文件)。但我们不希望在生产机器上安装AWS cli。我该怎么做呢?您需要某种程序来调用AmazonS3API来检索对象。例如,PowerShell脚本(使用)或使用AWS SDK的Python脚本 您也可以生成一个,它允许通过正常的HTTPS调用(例如curl)从AmazonS3下载私有对象。这

是否可以在不使用AWS cli的情况下从AWS s3下载文件?在我的生产服务器中,我需要下载S3存储桶中的配置文件


我想让Amazon Systems Manager运行一个脚本,从S3下载配置(YAML文件)。但我们不希望在生产机器上安装AWS cli。我该怎么做呢?

您需要某种程序来调用AmazonS3API来检索对象。例如,PowerShell脚本(使用)或使用AWS SDK的Python脚本

您也可以生成一个,它允许通过正常的HTTPS调用(例如
curl
)从AmazonS3下载私有对象。这可以使用AWS SDK for Python轻松完成,也可以自己编写代码而不使用库(这有点复杂)


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

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

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

     public string DownloadPrivateFileS3(string fileKey)
     {
         string accessKey = "YOURVALUE";
         string accessSecret = "YOURVALUE";;
         string bucket = "YOURVALUE";;
         using (s3Client = new AmazonS3Client(accessKey, accessSecret, "YOURVALUE"))
         {
                 var folderPath = "AppData/Websites/Cases";
                 var fileTransferUtility = new TransferUtility(s3Client);
                 Stream stream = fileTransferUtility.OpenStream(bucket, folderPath + "/" + fileKey);
                 using (var memoryStream = new MemoryStream())
                 {
                      stream.CopyTo(memoryStream);
                     var response = memoryStream.ToArray();
                     return Convert.ToBase64String(response);
                 }
    
                 return "";
        }
    }
    
  • 第二步编写JQuery代码,将字符串作为Base64下载

  • 函数下载privatefile(){
    $.ajax({url:'DownloadPrivateFileS3?fileName='+fileName,success:function(result){
    var link=this.document.createElement('a');
    link.download=文件名;
    link.href=“数据:应用程序/八位字节流;base64,”+结果;
    this.document.body.appendChild(链接);
    link.click();
    this.document.body.removeChild(链接);
    }});
    
    }
    如果答案没有提供足够的详细信息,请随意编辑您的问题以添加更多信息(例如,您使用的是哪种操作系统,您受到的限制)。