PM> Install-Package AWSSDK
string accessKey = "LASKDJFHGQPWOEIRUTY"; string secretKey = "laksdjfhgqpwoeirutyzmxncbv";
private void btnGetBucket_Click(object sender, EventArgs e) { using (var client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretKey)) { var list = client.ListBuckets(); foreach (var bucket in list.Buckets) { lbBuckets.Items.Add(bucket.BucketName); } } }
private void btnGetList_Click(object sender, EventArgs e) { using (var client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretKey)) { if(lbBuckets.SelectedIndex < 0) return; var list = client.ListObjects( new ListObjectsRequest() { BucketName = lbBuckets.SelectedItem.ToString() }); foreach (var file in list.S3Objects) { lbFiles.Items.Add(file.Key); } } }
<?xml version="1.0" encoding="utf-16"?> <ListObjectsResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <RequestId>Id</RequestId> <AmazonId2>Id</AmazonId2> <Name>Name</Name> <Prefix /> <S3Objects> <Key>FileName</Key> <BucketName>BucketName</BucketName> <LastModified>, 20 2012 13:00:33 GMT</LastModified> <ETag>"tag"</ETag> <Size>0</Size> <Owner> <Id>OwnerId</Id> <DisplayName>OwnerName</DisplayName> </Owner> <StorageClass>STANDARD</StorageClass> </S3Objects> <MaxKeys>1000</MaxKeys> <IsTruncated>false</IsTruncated> </ListObjectsResponse>
private void btnUpload_Click(object sender, EventArgs e) { var dlg = new OpenFileDialog(); if(dlg.ShowDialog() == DialogResult.OK) { var stream = new FileStream(dlg.FileName, FileMode.Open); using (var client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretKey)) { var request = new PutObjectRequest(); if (lbBuckets.SelectedIndex < 0) return; request .WithBucketName(lbBuckets.SelectedItem.ToString()) .WithCannedACL(S3CannedACL.PublicRead) .WithKey(Path.GetFileName(dlg.FileName)) .InputStream = stream; client.PutObject(request); } } }
private void btnDelete_Click(object sender, EventArgs e) { using (var client = Amazon.AWSClientFactory.CreateAmazonS3Client(accessKey, secretKey)) { if (lbFiles.SelectedIndex < 0) return; new DeleteObjectRequest() .WithBucketName(lbBuckets.SelectedItem.ToString()) .WithKey(lbFiles.SelectedItem.ToString()); } }
Source: https://habr.com/ru/post/146223/
All Articles