快速使用

创建一个.NET项目:

打开命令提示符或者终端,执行以下命令创建一个.NET项目。

dotnet new console --name DotNetSDK
cd DotNetSDK

安装SDK:

在天翼云官网下载,下载地址:OSS_DOTNET_SDK.zip

修改项目的csproj文件,在<PropertyGroup>中增加以下内容。

<PropertyGroup>
	<RestoreSources>$(RestoreSources);filePathToPackage</RestoreSources>
</PropertyGroup>

其中filePathToPackage指的是OSS_DOTNET_SDK.zip解压后的径。然后在项目csproj文件所在目录下执行dotnet命令安装依赖包:

dotnet add package AWSSDK.S3 --version 3.7.0.18
# 使用sts服务需要添加以下依赖
dotnet add package AWSSDK.SecurityToken --version 3.7.1.6
dotnet restore

创建代码:

注意:直接在客户端上使用主账号存在账号泄露的风险,在客户端上必须使用sts功能生成的临时账号,此初始化流程只能用于测试。如何使用sts初始化参考 安全凭证服务(STS)

修改DotNetSDK文件夹中的Program.cs文件,用以下代码替换内容并保存文件。

using System;
using System.Threading.Tasks;
using Amazon.Runtime;
using Amazon.S3;

namespace DotNetSDK
{
    class Program
    {
        static async Task Main(string[] args)
        {
            var accessKey = "YOUR_ACCESS_KEY";
            var secretKey = "YOUR_SECRET_KEY";
            var endpoint = "YOUR_ENDPOINT"; // e.g. http://endpoint or https://endpoint
            try
            {
                var credentials = new BasicAWSCredentials(accessKey, secretKey);
                var conf = new AmazonS3Config
                {
                    ServiceURL = endpoint
                };
                var s3Client = new AmazonS3Client(credentials, conf);
                //创建一个bucket
                await s3Client.PutBucketAsync("bkt");
                //列出bucket
                var result = await s3Client.ListBucketsAsync();
                Console.WriteLine("the buckets of {0} are:", result.Owner.DisplayName);
                result.Buckets.ForEach(b => { Console.WriteLine(b.BucketName); });
            }
            catch (Exception e)
            {
                Console.WriteLine("e.Message");
                Console.WriteLine(e.Message);
            }
        }
    }
}
参数 说明
accessKey 用户账号 access key
secretKey 用户账号 secret key
endpoint 天翼云资源池的地址,必须指定http或https前缀

执行以下命令运行代码。

dotnet run