欢迎使用阿里云开发者工具套件(SDK)。阿里云.NET SDK让您不用复杂编程即可访问云服务器、云数据库RDS、云监控等多个阿里云服务。本操作介绍如何获取阿里云.NET SDK并开始调用。

如果您在使用SDK的过程中遇到任何问题,欢迎前往阿里云SDK问答社区提问,提问前请阅读提问引导提交反馈

在线调试和生成SDK示例

OpenAPI 开发者门户提供在线调用云产品API、动态生成 SDK示例代码和快速检索接口等功能,能显著降低使用API 的难度,推荐您使用。

环境准备

  • 使用阿里云.NET SDK,您需要一个RAM账号以及一对AccessKey ID和AccessKey Secret。 请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey,或联系您的系统管理员。
  • 使用阿里云SDK调用某个产品的API前,确保您已经在阿里云控制台开通了该产品。
  • 阿里云.NET SDK适用于.NET Framework 4.5及以上版本。

安装阿里云 .NET SDK

要调用一个产品的SDK,您需要安装SDK核心库和该产品的SDK。例如,对于云服务器 SDK的调用,您需要获取和安装SDK核心库和云服务器的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-sdk-XXX 的子文件夹,再找到 \\*.csproj 文件,即 .NET 项目文件。例如,在 aliyun-net-sdk-ecs 子文件夹下,有一个 aliyun-net-sdk-ecs.vs2017.csproj 文件。

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

使用.NET SDK

以下这个代码示例展示了调用阿里云.NET SDK的3个主要步骤:

  1. 创建并初始化DefaultAcsClient实例。
  2. 创建API请求并设置参数。
  3. 发起请求并处理应答或异常。
    using Aliyun.Acs.Core;
    using Aliyun.Acs.Core.Profile;
    using Aliyun.Acs.Core.Exceptions;
    using Aliyun.Acs.Ecs.Model.V20140526;
    
    class TestProgram
    {
        static void Main(string[] args)
        {
            // 构建一个 Client,用于发起请求
            IClientProfile profile = DefaultProfile.GetProfile(
                "<your-region-id>",
                "<your-access-key-id>",
                "<your-access-key-secret>");
            DefaultAcsClient client = new DefaultAcsClient(profile);
            try
            {
                // 构造请求
                DescribeInstancesRequest request = new DescribeInstancesRequest();
                request.PageSize = 10;
                // 发起请求,并得到 Response
                DescribeInstancesResponse response = client.GetAcsResponse(request);
                System.Console.WriteLine(response.TotalCount);
            }
            catch (ServerException ex)
            {
                System.Console.WriteLine(ex.ToString());
            }
            catch (ClientException ex)
            {
                System.Console.WriteLine(ex.ToString());
            }
        }
    }