Loading [MathJax]/extensions/MathMenu.js

2013-10-22

C#: Amazon S3を操作する(put,get,delete,list)

AmazonのストレージサービスであるAmazon S3に対するオブジェクト(ファイル)の基本操作についてです。いろいろオプション設定する項目はあるようです。

登録(put)
string endpoint = "s3.amazonaws.com";
AmazonS3Config config = new AmazonS3Config { ServiceURL = endpoint };
AmazonS3 s3=AWSClientFactory.CreateAmazonS3Client(config);
TransferUtility transferUtility = new TransferUtility(s3);
TransferUtilityUploadRequest request = new TransferUtilityUploadRequest()
.WithBucketName("XXXXXXXXXXX")//バケットの指定
.WithKey("p1.png") //S3上でのオブジェクトの名前
.WithFilePath("C:\\temp\\" + "1.png");//アップするファイルの場所と名前
transferUtility.Upload(request);
Debug.WriteLine("Upload Complete");
view raw s3ObjectPut.cs hosted with ❤ by GitHub
検索(get)
string endpoint = "s3.amazonaws.com";
AmazonS3Config config = new AmazonS3Config { ServiceURL = endpoint };
AmazonS3 s3 = AWSClientFactory.CreateAmazonS3Client(config);
TransferUtility transferUtility = new TransferUtility(s3);
TransferUtilityDownloadRequest request = new TransferUtilityDownloadRequest()
.WithBucketName("XXXXXXXXXXXX")//バケットの指定
.WithKey("p1.png") //S3上でのオブジェクトの名前
.WithFilePath("C:\\temp\\" + "new1.png");//ダウンロードしたファイルを保存する場所と名前
transferUtility.Download(request);
view raw s3ObjectGet.cs hosted with ❤ by GitHub
削除(delete)
string endpoint = "s3.amazonaws.com";
AmazonS3Config config = new AmazonS3Config { ServiceURL = endpoint };
AmazonS3 s3 = AWSClientFactory.CreateAmazonS3Client(config);
DeleteObjectRequest request = new Amazon.S3.Model.DeleteObjectRequest()
.WithBucketName("XXXXXXXXXXXXXX")
.WithKey("p1.png");
s3.DeleteObject(request);
リスト(list)
string endpoint = "s3.amazonaws.com";
AmazonS3Config config = new AmazonS3Config { ServiceURL = endpoint };
AmazonS3 s3=AWSClientFactory.CreateAmazonS3Client(config);
var listObjectRequest = new ListObjectsRequest();
listObjectRequest.BucketName = "XXXXXXXXX";
var response = s3.ListObjects(listObjectRequest);
foreach (var item in response.S3Objects) {
Debug.WriteLine("Object Name: " + item.Key);
}
view raw s3ListObject.cs hosted with ❤ by GitHub


1 件のコメント: