通过环境变量配置访问凭证(AKSK)

  1. 说明:

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

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

  2. 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,AccessKey ID和AccessKey Secret的获取方式见步骤二:获取账号的AccessKey

  3. Windows系统配置方法

    1. 新建环境变量文件,添加环境变量NLP_AK_ENVNLP_SK_ENV,并写入已准备好的AccessKey ID和AccessKey Secret。

    2. 重启Windows系统。

示例代码

package main
import (
    "github.com/aliyun/alibaba-cloud-sdk-go/sdk/requests"
    "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
    "fmt"
  	"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 {
        panic(err)
    }
    request := requests.NewCommonRequest()
    request.Domain = "alinlp.cn-hangzhou.aliyuncs.com"
    request.Version = "2020-06-29"
    // 因为是RPC接口,因此需指定ApiName(Action)
    request.ApiName = "GetNerChEcom"
    request.QueryParams["ServiceCode"] = "alinlp"
    request.QueryParams["Text"] = "这是一双很棒的运动鞋"
    request.QueryParams["TokenizerId"] = "GENERAL_CHN"
    response, err := client.ProcessCommonRequest(request)
    if err != nil {
        panic(err)
    }
    fmt.Print(response.GetHttpContentString())
}

备注:代码中的GetNerChEcom是算法的actionName,可以替换成您需要的算法的值,可以在API参考文档中的请求参数-Action-示例值中找到;

示例:需要调用基础版-中文分词-通用,进入中文分词(基础版),复制下图中的示例值,将GetNerChEcom替换为GetWsChGeneralRequest替换后要注意算法的请求参数也要更改,参考API文档即可。

actionName值的位置

调用异常自助排查

若调用过程中出现了异常可对照调用异常自助排查(错误码汇总),找到表格中对应的描述,描述中包含具体错误原因和解决方案