[心得] 使用C#从AWS S3上下载档案

楼主: KK2653 (赖打)   2016-06-06 22:33:58
各位好,在下由于工作的关系,小小研究了一下Amazon Web Service的S3
在研究的时候发现很多google到的资料或是官方API写的都是英文
找很久才找到需要的东西,
(↑其实英文不够好所以看得很吃力..(汗))
今天小小整理了一下分享给大家,
非图文并茂版:http://kssiegeroad.blogspot.tw/2016/06/awscaws-s3.html
以下假设是已经申请好帐号并且已经在开发的阶段喔!
虽然AWS官方本身就有提供.NET的套件可以直接在VS新增专案的时候套用,
但是我这边需要用到的是另外放在Form里面执行
所以一开始是用临时性的认证方式去宣告+连接
//宣告IAM用户临时安全证书
SessionAWSCredentials sessionCredentials =
this.GetTemporaryCredentials(pAccessKey, pSecretKey);
//连接AmazonS3Client
AmazonS3Client s3Client =
   new AmazonS3Client(sessionCredentials, Amazon.RegionEndpoint.GetBySystemName(pRegionName));
连接成功后再来using AmazonS3Client
using(s3Client) {
//取得物件的request
GetObjectRequest request = new GetObjectRequest {
//BucketName
BucketName = pBucketName,
//放在S3上的资料夹+档案名称(包含附档名ex.firstFolder/secondFolder/filename.txt)
Key = pKeyName
};
//取得物件的response
GetObjectResponse response1 = s3Client.GetObject(request);
//下载档案到pDest <<绝对路径
response1.WriteResponseStreamToFile(pDest);
}
在GetObjectRequest里面放入参数 BucketName及在S3要下载档案的路径
再使用GetObjectResponse来接收
最后再使用WriteResponseStreamToFile下载下来
pDest:存在档案的绝对路径 ex.D:\Folder
这样就下载下来囉!
作者: anumis (阿努米斯)   2016-06-07 00:03:00
给个赞
作者: DrumMania (Rock'n'Roll)   2016-06-07 08:47:00
推分享
作者: ocean0120 (鳖仔)   2016-06-07 19:45:00

Links booklink

Contact Us: admin [ a t ] ucptt.com