本文档介绍如何安装及调用阿里云.NET SDK。

安装

您可以通过以下两种方式安装.NET SDK:
  • 添加DLL引用
    1. .NET SDK 发布列表下载包含DLL文件的压缩包,解压获得DLL文件。
    2. 在Visual Studio的解决方案资源管理器中右键单击您的项目,然后单击引用
    3. 在弹出的菜单中单击添加引用
    4. 在弹出对话框中,单击浏览,选择之前下载的DLL文件,单击确定
  • 项目引入方式
    1. 执行以下命令,在GitHub中下载SDK的源代码。
      git clone https://github.com/aliyun/aliyun-openapi-net-sdk.git

      您可以在下载生成的文件夹中找到名为 aliyun-net-openapi-XXX 的子文件夹,再找到 \\*.csproj 文件,即 .NET 项目文件。例如,在 aliyun-net-openapi-ecs 子文件夹下,有一个 aliyun-net-sdk-ecs.csproj 文件。

    2. 在Visual Studio的界面中,右键单击您的解决方案。
    3. 单击添加 > 现有项目
    4. 在弹出的对话框中,选择刚才下载的源代码中相应的.NET 项目文件(例如 aliyun-net-sdk-ecs.csproj),单击打开
    5. 右键单击您的项目,单击引用 > 添加引用

设置身份验证凭据

当使用阿里云SDK访问阿里云服务时,您需要提供阿里云账号进行身份验证。

目前,.NET SDK支持以下几种身份验证方式:

验证方式 说明
AccessKey 使用AccessKey ID和AccessKey Secret访问
StsToken 使用STS Token访问
RamRoleArn 使用RAM子账号的AssumeRole方式访问
EcsRamRole 在ECS实例上通过EcsRamRole实现免密验证

本文以AccessKey为例说明如何设置身份凭证。为了保证您的账号安全,建议您使用RAM账号来访问阿里云服务。阿里云账号的AccessKey对拥有的资源有完全的权限。RAM账号由阿里云账号授权创建,仅有对特定资源限定的操作权限。参考创建AccessKey创建RAM账号的AccessKey。

使用AccessKey作为访问凭据,需要在初始化Client时设置凭证。
注意
确保包含AccessKey的代码不会泄漏(例如提交到外部公开的GitHub项目),否则将会危害您的阿里云账号的信息安全。
IClientProfile clientProfile = DefaultProfile.GetProfile(
    "<your-region-id>",          // 地域ID
    "<your-access-key-id>",      // RAM账号的AccessKey ID
    "<your-access-key-secret>"); // RAM账号AccessKey Secret

发起调用

本文以ECS为例,介绍如何使用阿里云.NET SDK发起请求。

  1. 新建一个默认客户端实例。
    DefaultAcsClient client = new DefaultAcsClient(clientProfile);
  2. 创建请求。

    请求类的命名规范为${apiName}Request,其中${apiName}为API名称,例如DescribeInstances

    在引入多个产品SDK时,有可能存在Request类同名的情况,请注意按照package区分。
    DescribeInstancesRequest request = new DescribeInstancesRequest();
    request.PageSize = 10;
  3. 发起调用并处理应答。
    DescribeInstancesResponse response = client.GetAcsResponse(request);

    正常情况下,应答中的所有字段,都会被反序列化到response中,您可以直接调用response.getXXX()来获得应答中的字段。

    System.Console.WriteLine(response.TotalCount);