文档

Go(不推荐)

更新时间:

本文为您介绍如何使用阿里云视觉智能开放平台相关服务的Go SDK,包括SDK的获取和安装方法,以及SDK代码示例。

说明

阿里云视觉智能开放平台各类目视觉AI能力SDK接入、接口使用或问题咨询等,请通过钉钉群(23109592)加入阿里云视觉智能开放平台咨询群联系我们。

本文介绍旧版Go SDK,环境版本必须不低于Go 1.10.x,推荐使用新版Go SDK

准备工作

在安装和使用阿里云SDK前,确保您已经注册阿里云账号并生成访问密钥(AccessKey)。具体操作,请参见创建AccessKey

执行以下命令,根据需要的AI类目安装SDK包。

  • 人脸人体:go get github.com/aliyun/alibaba-cloud-sdk-go/services/facebody

  • 文字识别:go get github.com/aliyun/alibaba-cloud-sdk-go/services/ocr

  • 商品理解:go get github.com/aliyun/alibaba-cloud-sdk-go/services/goodstech

  • 内容审核:go get github.com/aliyun/alibaba-cloud-sdk-go/services/imageaudit

  • 图像识别:go get github.com/aliyun/alibaba-cloud-sdk-go/services/imagerecog

  • 图像生产:go get github.com/aliyun/alibaba-cloud-sdk-go/services/imageenhan

  • 分割抠图:go get github.com/aliyun/alibaba-cloud-sdk-go/services/imageseg

  • 目标检测:go get github.com/aliyun/alibaba-cloud-sdk-go/services/objectdet

  • 图像分析处理:go get github.com/aliyun/alibaba-cloud-sdk-go/services/imageprocess

  • 视觉搜索:go get github.com/aliyun/alibaba-cloud-sdk-go/services/imgsearch

  • 视频生产:go get github.com/aliyun/alibaba-cloud-sdk-go/services/videoenhan

  • 视频理解:go get github.com/aliyun/alibaba-cloud-sdk-go/services/videorecog

  • 视频分割:go get github.com/aliyun/alibaba-cloud-sdk-go/services/videoseg

  • 自学习:go get github.com/aliyun/alibaba-cloud-sdk-go/services/viapi-regen

SDK下载地址如下所示。

AI类目

Github链接

人脸人体

facebody

文字识别

ocr

商品理解

goodstech

内容审核

imageaudit

图像识别

imagerecog

图像生产

imageenhan

分割抠图

imageseg

目标检测

objectdet

视觉搜索

imgsearch

图像分析处理

imageprocess

视频生产

videoenhan

视频理解

videorecog

视频分割

videoseg

自学习

viapi-regen

配置环境变量

配置环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET

重要
  • 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维,具体操作,请参见创建RAM用户

  • 请不要将AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。

  • Linux和macOS系统配置方法

    1. 在IntelliJ IDEA中打开终端Terminal。

    2. 执行以下命令,配置环境变量。

      <access_key_id>需替换为您RAM用户的AccessKey ID,<access_key_secret>替换为您RAM用户的AccessKey Secret。如果后续需要进行更多权限相关的配置,具体操作请参见使用RAM Policy控制访问权限

      export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> 
      export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
  • Windows系统配置方法

    新建环境变量文件,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。本操作以Windows 10为例进行说明。

    1. 打开文件资源管理器,在此电脑上右键单击属性。

    2. 在右侧导航栏,单击高级系统配置

    3. 系统属性对话框的高级页签下,单击环境变量

    4. 环境变量对话框中,单击新建(W)image.png

    5. 在弹出的新建系统变量对话框中,添加环境变量ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET,并写入已准备好的AccessKey ID和AccessKey Secret。

    6. 重启Windows系统,使配置生效。

SDK示例

本文以RecognizeBankCard为例进行说明,SDK示例如下。该方式目前只支持同地域下OSS文件,其他场景请使用新版Go SDK

package main

import (
	"fmt"
	
	"os"
    "github.com/aliyun/alibaba-cloud-sdk-go/sdk"
    "github.com/aliyun/alibaba-cloud-sdk-go/sdk/auth/credentials"
	ocr "github.com/aliyun/alibaba-cloud-sdk-go/services/ocr"
  
)

func main() {
	config := sdk.NewConfig()

	// 创建AccessKey ID和AccessKey Secret,请参考https://help.aliyun.com/document_detail/175144.html。
    // 如果您用的是RAM用户的AccessKey,还需要为RAM用户授予权限AliyunVIAPIFullAccess,请参考https://help.aliyun.com/document_detail/145025.html。
    // 从环境变量读取配置的AccessKey ID和AccessKey Secret。运行示例前必须先配置环境变量。  
	credential := credentials.NewAccessKeyCredential(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"))
	/* use STS Token 
	credential := credentials.NewStsTokenCredential(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"), os.Getenv("ALIBABA_CLOUD_SECURITY_TOKEN"))
	*/
    client, err := ocr.NewClientWithOptions("cn-shanghai", config, credential)
	if err != nil {
		panic(err)
	}

	request := ocr.CreateRecognizeBankCardRequest()

	request.Scheme = "https"

	response, err := client.RecognizeBankCard(request)
	if err != nil {
		fmt.Print(err.Error())
	}
	fmt.Printf("response is %#v\n", response)
}
说明

可以使用命令go mod tidy处理需要的依赖。