Amazon s3 如何在没有AWS cli的情况下使用s3专用存储桶下载文件
是否可以在不使用AWS cli的情况下从AWS s3下载文件?在我的生产服务器中,我需要下载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下载私有对象。这
我想让Amazon Systems Manager运行一个脚本,从S3下载配置(YAML文件)。但我们不希望在生产机器上安装AWS cli。我该怎么做呢?您需要某种程序来调用AmazonS3API来检索对象。例如,PowerShell脚本(使用)或使用AWS SDK的Python脚本 您也可以生成一个,它允许通过正常的HTTPS调用(例如
curl
)从AmazonS3下载私有对象。这可以使用AWS SDK for Python轻松完成,也可以自己编写代码而不使用库(这有点复杂)
在上面的所有示例中,您都需要为脚本/程序提供一组IAM凭据,以便使用AWS进行身份验证。只需为任何C代码爱好者添加注释即可解决.Net的问题
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 "";
}
}
函数下载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(链接);
}});
}
如果答案没有提供足够的详细信息,请随意编辑您的问题以添加更多信息(例如,您使用的是哪种操作系统,您受到的限制)。