文档

Go SDK

更新时间:

获取SDK

go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdk
说明:

阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。

强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险,在此提供通过配置环境变量的方式来保存和访问aksk

Linux和macOS系统配置方法
export NLP_AK_ENV=<access_key_id>
export NLP_SK_ENV=<access_key_secret>

其中<access_key_id>替换为已准备好的AccessKey ID,<access_key_secret>替换为AccessKey Secret

Windows系统配置方法新建环境变量文件,添加环境变量NLP_AK_ENV和NLP_SK_ENV,并写入已准备好的AccessKey ID和AccessKey Secret。重启Windows系统。

创建客户端

package main

import (
    "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
    "os"
)

func main() {
    // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
    // 此处以把AccessKey和AccessKeySecret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
    // 强烈建议不要把AccessKey和AccessKeySecret保存到代码里,会存在密钥泄漏风险
    AccessKeyId := os.Getenv("NLP_AK_ENV")
    AccessKeySecret := os.Getenv("NLP_SK_ENV")
    client, err := sdk.NewClientWithAccessKey("cn-hangzhou", AccessKeyId, AccessKeySecret)
    if err != nil {
        // Handle exceptions
        panic(err)
    }
}

发起请求

package main

import "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"

func main() {
    request := requests.NewCommonRequest()                // 构造一个公共请求
    request.Method = "POST"                               // 设置请求方式
    request.Product = "nlp-automl"                               // 指定产品
    request.Domain = "nlp-automl.cn-hangzhou.aliyuncs.com"                   // 指定域名则不会寻址,如认证方式为 Bearer Token 的服务则需要指定
    request.Version = "2019-11-11"                        // 指定产品版本
    request.ApiName = "GetPredictResult"                    // 指定接口名
    request.QueryParams["ModelId"] = 1818  // 设置参数值
    request.QueryParams["Content"] = "中华人民共和国解放军"         // 设置参数值
    request.TransToAcsRequest()                           // 把公共请求转化为acs请求
}