1.安装指定的包
Install-Package AWSSDK.S3 -Version 3.3.104.10
2.使用帮助类
using System;
using System.Collections.Generic;
using System.Text;
using Amazon;
using Amazon.Runtime;
using Amazon.S3;
using Amazon.S3.Model;
using System.IO;
using System.Threading.Tasks;
namespace xx.xx.xx.Helper
{
public class AwsS3Helper
{
/// <summary>
/// 地区是亚太香港
/// </summary>
readonly RegionEndpoint bucketRegion = RegionEndpoint.GetBySystemName("xx");
/// <summary>
/// 要向 Amazon S3 上传数据(照片、视频、文档等),
/// 您必须首先在其中一个 AWS 区域中创建 S3 存储桶, 比如:在亚太香港地址,创建了一个gfbk桶
/// 然后,您可以将任何数量的对象上传到该存储桶。
/// 每个 AWS 账户中创建多达 100 个存储桶,一个存储桶中可以存储任意数量的对象。
/// 资料:https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/dev/UsingBucket.html
/// </summary>
readonly string bucketName = Appsettings.GetNode("AwsBucketName");
/// <summary>
/// 请求S3的凭据
/// </summary>
readonly AWSCredentials awsCredentials = new BasicAWSCredentials(Appsettings.GetNode("AwsAccessKey"), Appsettings.GetNode("AwsSecretKey"));
/// <summary>
/// 请求客户端
/// </summary>
AmazonS3Client client = null;
/// <summary>
/// 上传资源类型
/// </summary>
ResourceType _resourceType;
public AwsS3Helper(ResourceType resourceType)
{
_resourceType = resourceType;
client = new AmazonS3Client(awsCredentials, bucketRegion);
}
/// <summary>
///创建一个桶
/// </summary>
/// <returns></returns>
public async Task CreateBucket()
{
var putBucketRequest = new PutBucketRequest
{
BucketName = bucketName,
UseClientRegion = true
};
PutBucketResponse putBucketResponse = await client.PutBucketAsync(putBucketRequest);
string bucketLocation = await FindBucketLocationAsync(client);
}
/// <summary>
/// 查找桶所在的地区