文档

Golang SDK 使用方法

更新时间:

Golang SDK 使用方法

使用步骤

为快速开始使用 AIRec Go SDK,请按照如下步骤进行。

步骤1 创建阿里云账号

具体方法请参考 阿里云账号注册流程。为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用。

步骤2 获取阿里云访问密钥

为了使用 AIRec Golang SDK,您必须申请阿里云的 访问密钥。登录阿里云 密钥管理页面 。选择一对用于 SDK 的访问密钥对。如果没有,请创建一对新访问密钥,且保证它处于启用状态。有关如何创建访问密钥,参见 创建AccessKey

步骤3 安装 Golang 开发环境

AIRec Golang SDK 推荐使用 Golang 1.5+以上版本,您可以从 Golang官方网站 下载安装。

步骤4 安装Golang Airec开发包

获取最新版AIRec Golang SDK

go get github.com/aliyun/alibaba-cloud-sdk-go

其中AIRec相关的协议代码放在:services/airec

步骤5 开始使用SDK

已创建实例为例,介绍SDK完整使用流程,代码如下:

推送数据

注意:推送的数据JSON格式详见:推送数据

package main

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

func main() {
    // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
    //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。

    //本示例以将AccessKey保存在环境变量中来实现身份验证为例。
    client, err := sdk.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
    if err != nil {
        panic(err)
    }

    request := requests.NewCommonRequest()
    request.Method = "POST"
    request.Scheme = "https" // https | http
    request.Domain = "airec.cn-hangzhou.aliyuncs.com"
    request.Version = "2018-10-12"
    request.PathPattern = "/openapi/instances/airec实例id/tables/需要推送数据的表名/actions/bulk"
    request.Headers["Content-Type"] = "application/json"


    //body中填入符合规范的json数据
    body := ``
    request.Content = []byte(body)

    response, err := client.ProcessCommonRequest(request)
    if err != nil {
        panic(err)
    }
    fmt.Print(response.GetHttpContentString())
}

获取推荐结果

注意:获取推荐结果返回的参数说明,及常见报错详见:获取推荐结果

package main

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

func main() {
    // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
    //强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。

    //本示例以将AccessKey保存在环境变量中来实现身份验证为例。
    client, err := sdk.NewClientWithAccessKey("cn-hangzhou", os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
    if err != nil {
        panic(err)
    }

    request := requests.NewCommonRequest()
    request.Method = "GET"
    request.Scheme = "https" // https | http
    request.Domain = "airec.cn-hangzhou.aliyuncs.com"
    request.Version = "2018-10-12"
    request.PathPattern = "/openapi/instances/airec-xxx/actions/recommend"

    request.Headers["Content-Type"] = "application/json"

    //设置单次请求的返回结果数
    request.QueryParams["ReturnCount"] = "10"

    //设置请求的user_id
    request.QueryParams["UserId"] = "1234"

    //设置请求推荐结果的场景id
    request.QueryParams["SceneId"] = "test01"


    response, err := client.ProcessCommonRequest(request)
    if err != nil {
        panic(err)
    }
    fmt.Print(response.GetHttpContentString())
}

  • 本页导读 (0)
文档反馈