本文为您介绍如何使用阿里云视觉智能开放平台相关服务的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
SDK下载地址如下所示。
AI类目 | Github链接 |
人脸人体 | |
文字识别 | |
商品理解 | |
内容审核 | |
图像识别 | |
图像生产 | |
分割抠图 | |
目标检测 | |
视觉搜索 | |
图像分析处理 | |
视频生产 | |
视频理解 | |
视频分割 |
配置环境变量
配置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维,具体操作,请参见创建RAM用户。
请不要将AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
Linux和macOS系统配置方法
在IntelliJ IDEA中打开终端Terminal。
执行以下命令,配置环境变量。
<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_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。本操作以Windows 10为例进行说明。打开文件资源管理器,在此电脑上右键单击属性。
在右侧导航栏,单击高级系统配置。
在系统属性对话框的高级页签下,单击环境变量。
在环境变量对话框中,单击新建(W)。
在弹出的新建系统变量对话框中,添加环境变量
ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
,并写入已准备好的AccessKey ID和AccessKey Secret。重启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
处理需要的依赖。