Tag: amazon s3

从amazon s3流式传输文件

我在尝试从amazon s3流式传输文件时遇到问题。 基本上,我有存储在amazom s3上的文件,我不能提供对这些文件的直接访问,因为用户需要进行身份validation。 我正在尝试找到一种流式传输文件的方法,而无需将每个文件从amazon下载到我的服务器上,然后从我的服务器下载到最终客户端。 我只是希望能够直接传输文件,但似乎.NET中的大多数流读取器类都不是这样做的。 如果我错了,请纠正我。

Amazon S3:如何获取存储桶中的文件夹列表?

所有我发现的,这是这个方法GET Bucket但是我无法理解如何才能获得当前文件夹中的文件夹列表。 我需要使用哪个前缀和分隔符? 这有可能吗?

C#HttpWebRequest日期标题格式

我正在向S3做一个HttpWebRequest,我正在尝试将Date标头设置为这样的: “星期一,2012年7月16日01:16:18 -0000” 这是我尝试过的: string pattern = “ddd, dd MMM yyyy HH:mm:ss -0000”; request.Date = DateTime.ParseExact(“Mon, 16 Jul 2012 01:16:18 -0000”, pattern, null); 但是,当我查看请求的标题时,这是我得到的: request.Headers.Get(“Date”); // “Mon, 16 Jul 2012 07:16:18 GMT” 我相信这可能是请求403的原因。 AWS错误文档提到: 403 Forbidden – 请求时间与服务器时间之间的差异太大。 任何有关将此日期整理出来的建议将不胜感激。 谢谢!

如何在Amazon S3存储桶中列出_all_对象?

S3Client.ListObjects仅返回1000个对象。 如何使用Amazon C#库检索所有现有对象的列表?

在C#Desktop App中存储我的亚马逊凭证

我正在寻找在桌面应用程序中使用Amazon S3和simpleDB。 我遇到的主要问题是我需要在应用程序中存储我的aws凭据或使用其他一些方案。 我猜测将它们存储在应用程序中是不可能的,因为它们很容易被挑选出来。 另一种选择是创建一个创建aws身份validation签名的Web服务,但这有其自身的问题。 签名是否需要上传文件中的所有数据? 如果是这样,我将不得不两次传输所有数据。 然后会出现一个中心故障点,这是使用aws的主要原因之一。 有任何想法吗? 更新: 我需要让我更清楚一点,我想将我的aws凭证存储在分发给他人的应用程序中。 DPAPI或任何其他加密只会阻止人们使用reflection器获取凭据。 使用任何加密仍然需要易于获得的密钥。 更新2 – 2011年9月 亚马逊已经发布了一些有关使用AWS Security Token Service的详细信息,该服务允许在不泄露您的密钥的情况下进行身份validation。 此博客文章中提供了更多详细信息。

如何使用AWS S3 API非递归地浏览目录的内容?

假设我在Amazon S3存储桶中有以下目录和文件(文件以粗体显示 ): bucketname / bucketname /文件夹1 / bucketname / folder1 / foob​​ar.txt bucketname /文件夹1 / subfolder1 / bucketname / folder1 / subfolder1 / hello.txt bucketname /文件夹1 / subfolder2 / bucketname / folder1 / subfolder2 / world.txt bucketname /文件夹1 / subfolder2 / subsubfolder1 / bucketname / folder1 / subfolder2 / subsubfolder1 / file.txt 如何使用.NET AWS […]

使用公共权限上传Amazon S3

我正在使用Amazon C#SDK并尝试上传文件,但默认情况下它具有受限制的权限。 我想公开发布,但我似乎无法找到如何在上传过程中执行此操作。 我的存储桶是公开的,但是当我使用下面的代码上传新文件时,我上传的文件不公开。 以前有人不得不这样做吗? public class S3Uploader { private string awsAccessKeyId; private string awsSecretAccessKey; private string bucketName; private Amazon.S3.Transfer.TransferUtility transferUtility; public S3Uploader(string bucketName) { this.bucketName = bucketName; this.transferUtility = new Amazon.S3.Transfer.TransferUtility(“XXXXXXXXXXXXXXXXXX”, “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”); } public void UploadFile(string filePath, string toPath) { AsyncCallback callback = new AsyncCallback(uploadComplete); transferUtility.BeginUpload(filePath, bucketName, toPath, callback, null); } private void uploadComplete(IAsyncResult […]

部署到IIS Server 8.5后,web.config中的WebConfig与web.config错误中的自定义响应标头

在ASP.NET MVC webconfig文件中添加了以下安全规则。应用程序在部署到Amazon AWS Web Server时会抛出500内部服务器错误,但在Visual Studio内部运行(IIS Express) 任何人都可以帮助如何解决此问题与此安全包括..

Amazon S3 REST API 403错误c#

我正在尝试使用REST API通过C#获取一些代码来从S3获取文件。 我见过其他人做类似的事情,但由于某种原因我不断收到403错误。 我已经尝试使用适用于.Net的AWS SDK做同样的事情并且它可以工作,所以我认为这是我创建授权标头的方式。 有人能够对此有所了解吗? string awsAccessId = “***”; string awsSecretKey = “***”; string bucketName = “thebucket”; string httpDate = DateTime.Now.ToString(“ddd, dd MMM yyyy HH:mm:ss +0000\n”); string canonicalString = “GET\n” + “\n” + “\n” + “x-amz-date:” + httpDate + “\n” + “/” + bucketName + “/readme.txt”; // now encode the canonical string Encoding ae […]

当我设置包含“+”的响应标头覆盖时,为什么我的S3预签名请求无效?

我正在使用Amazon .NET SDK生成预先签名的URL,如下所示: public System.Web.Mvc.ActionResult AsActionResult(string contentType, string contentDisposition) { ResponseHeaderOverrides headerOverrides = new ResponseHeaderOverrides(); headerOverrides.ContentType = contentType; if (!string.IsNullOrWhiteSpace(contentDisposition)) { headerOverrides.ContentDisposition = contentDisposition; } GetPreSignedUrlRequest request = new GetPreSignedUrlRequest() .WithBucketName(bucketName) .WithKey(objectKey) .WithProtocol(Protocol.HTTPS) .WithExpires(DateTime.Now.AddMinutes(6)) .WithResponseHeaderOverrides(headerOverrides); string url = S3Client.GetPreSignedURL(request); return new RedirectResult(url, permanent: false); } 这非常有效,除非我的contentType包含一个+ 。 当我尝试获取SVG文件时会发生这种情况,例如,它获取的内容类型为image/svg+xml 。 在这种情况下,S3会抛出SignatureDoesNotMatch错误。 错误消息显示StringToSign如下所示: GET 1234567890 /blah/blabh/blah.svg?response-content-disposition=filename=”blah.svg”&response-content-type=image/svg xml […]