Go(不推薦)
本文為您介紹如何使用阿里云視覺智能開放平臺(tái)相關(guān)服務(wù)的Go SDK,包括SDK的獲取和安裝方法,以及SDK代碼示例。
阿里云視覺智能開放平臺(tái)各類目視覺AI能力SDK接入、接口使用或問題咨詢等,請(qǐng)通過釘釘群(23109592)加入阿里云視覺智能開放平臺(tái)咨詢?nèi)郝?lián)系我們。
本文介紹舊版Go SDK,環(huán)境版本必須不低于Go 1.10.x,推薦使用新版Go SDK。
準(zhǔn)備工作
在安裝和使用阿里云SDK前,確保您已經(jīng)注冊(cè)阿里云賬號(hào)并生成訪問密鑰(AccessKey)。具體操作,請(qǐng)參見創(chuàng)建AccessKey。
執(zhí)行以下命令,根據(jù)需要的AI類目安裝SDK包。
人臉人體:
go get github.com/aliyun/alibaba-cloud-sdk-go/services/facebody
文字識(shí)別:
go get github.com/aliyun/alibaba-cloud-sdk-go/services/ocr
商品理解:
go get github.com/aliyun/alibaba-cloud-sdk-go/services/goodstech
內(nèi)容審核:
go get github.com/aliyun/alibaba-cloud-sdk-go/services/imageaudit
圖像識(shí)別:
go get github.com/aliyun/alibaba-cloud-sdk-go/services/imagerecog
圖像生產(chǎn):
go get github.com/aliyun/alibaba-cloud-sdk-go/services/imageenhan
分割摳圖:
go get github.com/aliyun/alibaba-cloud-sdk-go/services/imageseg
目標(biāo)檢測(cè):
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
視頻生產(chǎn):
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鏈接 |
人臉人體 | |
文字識(shí)別 | |
商品理解 | |
內(nèi)容審核 | |
圖像識(shí)別 | |
圖像生產(chǎn) | |
分割摳圖 | |
目標(biāo)檢測(cè) | |
視覺搜索 | |
圖像分析處理 | |
視頻生產(chǎn) | |
視頻理解 | |
視頻分割 |
配置環(huán)境變量
配置環(huán)境變量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
阿里云賬號(hào)AccessKey擁有所有API的訪問權(quán)限,建議您使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,具體操作,請(qǐng)參見創(chuàng)建RAM用戶。
請(qǐng)不要將AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號(hào)下所有資源的安全。
Linux和macOS系統(tǒng)配置方法
在IntelliJ IDEA中打開終端Terminal。
執(zhí)行以下命令,配置環(huán)境變量。
<access_key_id>
需替換為您RAM用戶的AccessKey ID,<access_key_secret>
替換為您RAM用戶的AccessKey Secret。如果后續(xù)需要進(jìn)行更多權(quán)限相關(guān)的配置,具體操作請(qǐng)參見使用RAM Policy控制訪問權(quán)限。export ALIBABA_CLOUD_ACCESS_KEY_ID=<access_key_id> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<access_key_secret>
Windows系統(tǒng)配置方法
新建環(huán)境變量文件,添加環(huán)境變量
ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
,并寫入已準(zhǔn)備好的AccessKey ID和AccessKey Secret。然后重啟Windows系統(tǒng)。本操作以Windows 10為例進(jìn)行說明。打開文件資源管理器,在此電腦上右鍵單擊屬性。
在右側(cè)導(dǎo)航欄,單擊高級(jí)系統(tǒng)配置。
在系統(tǒng)屬性對(duì)話框的高級(jí)頁簽下,單擊環(huán)境變量。
在環(huán)境變量對(duì)話框中,單擊新建(W)。
在彈出的新建系統(tǒng)變量對(duì)話框中,添加環(huán)境變量
ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
,并寫入已準(zhǔn)備好的AccessKey ID和AccessKey Secret。重啟Windows系統(tǒng),使配置生效。
SDK示例
本文以RecognizeBankCard為例進(jìn)行說明,SDK示例如下。該方式目前只支持同地域下OSS文件,其他場(chǎng)景請(qǐng)使用新版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()
// 創(chuàng)建AccessKey ID和AccessKey Secret,請(qǐng)參考http://bestwisewords.com/document_detail/175144.html。
// 如果您用的是RAM用戶的AccessKey,還需要為RAM用戶授予權(quán)限AliyunVIAPIFullAccess,請(qǐng)參考http://bestwisewords.com/document_detail/145025.html。
// 從環(huán)境變量讀取配置的AccessKey ID和AccessKey Secret。運(yùn)行示例前必須先配置環(huán)境變量。
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
處理需要的依賴。