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

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

在线调试和生成SDK示例

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

环境准备

  • 已安装Go语言开发环境,且Go环境版本必须不低于1.10。
  • 使用Alibaba Cloud SDK for Go,您需要一个RAM账号以及一对AccessKey ID和AccessKey Secret。请在阿里云控制台中的AccessKey管理页面上创建和查看您的AccessKey,或者联系您的系统管理员。
  • 使用Alibaba Cloud SDK for Go调用某个产品的API前,确保您已经在阿里云控制台开通了该产品。

安装Alibaba Cloud SDK for Go

执行以下命令,安装Alibaba Cloud SDK for Go:
  • 使用go get方式安装:
    go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdk
  • 使用glide get方式安装:
    glide get github.com/aliyun/alibaba-cloud-sdk-go

使用Alibaba Cloud SDK for Go

以下代码示例展示了使用Alibaba Cloud SDK for Go的基本步骤:

  1. 初始化客户端。
    package main
    
    import "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
    
    func main() {
    
        client, err := sdk.NewClientWithAccessKey("REGION_ID", "ACCESS_KEY_ID", "ACCESS_KEY_SECRET")
        if err != nil {
            // Handle exceptions
            panic(err)
        }
    }
  2. 发起调用。
    • 使用RPC调用:
      package main
      
      import "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
      
      func main() {
          request := requests.NewCommonRequest()                // 构造一个公共请求。
          request.Method  = "POST"                              // 设置请求方式。
          request.Product = "Ecs"                               // 指定产品。
          request.Domain  = "ecs.aliyuncs.com"                  // 指定域名则不会寻址,如认证方式为Bearer Token的服务则需要指定。
          request.Version = "2014-05-26"                        // 指定产品版本。
          request.ApiName = "CreateInstance"                    // 指定接口名。
          request.QueryParams["InstanceType"] = "ecs.g5.large"  // 设置参数值。
          request.QueryParams["RegionId"] = "region_id"         // 指定请求的地域,不指定则使用客户端地域、默认地域。
          request.TransToAcsRequest()                           // 把公共请求转化为acs请求。
      }
    • 使用ROA调用:
      package main
      
      import "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
      
      func main() {
          request := requests.NewCommonRequest()        // 构造一个公共请求。
          request.Method = "GET"                        // 设置请求方式。
          request.Product = "CS"                        // 指定产品。
          request.Domain = "cs.aliyuncs.com"            // 指定域名则不会寻址,如认证方式为Bearer Token的服务则需要指定。
          request.Version = "2015-12-15"                // 指定产品版本。
          request.PathPattern = "/clusters/[ClusterId]" // 指定ROA风格路径规则。
          request.ApiName = "DescribeCluster"           // 指定接口名。
          request.QueryParams["ClusterId"] = "123456"   // 设置参数值。
          request.QueryParams["RegionId"] = "region_id" // 指定请求的地域,不指定则使用客户端地域、默认地域。
          request.TransToAcsRequest()                   // 把公共请求转化为acs请求。
      }