欢迎使用阿里云开发者工具套件(SDK)。Alibaba Cloud SDK for Go让您不用复杂编程即可访问云服务器、云监控等多个阿里云服务。本操作介绍如何获取Alibaba Cloud SDK for Go并开始调用。
在线调试和生成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的基本步骤:
- 初始化客户端。
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) } }
- 发起调用。
- 使用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请求。 }
- 使用RPC调用: