本文介紹Image Search服務Go SDK的使用方法及樣本。
準備工作
- 在安裝和使用阿里雲SDK前,確保您已經註冊阿里雲帳號並產生存取金鑰(AccessKey)。詳情請參見t1938336.html#task968。
- 安裝Go SDK。阿里雲Go SDK支援Go 1.7及以上版本,您可以通過以下方式安裝Go SDK。
- 使用Glide安裝GO SDK(推薦)。
執行以下命令,安裝阿里雲Go SDK:
glide get github.com/aliyun/alibaba-cloud-sdk-go
- 使用Govendor安裝。
執行以下命令,安裝阿里雲Go SDK:
go get -u github.com/aliyun/alibaba-cloud-sdk-go/sdk
- 使用Glide安裝GO SDK(推薦)。
完整程式碼範例
Go SDK的完整程式碼範例如下。
package main
import (
"encoding/base64"
"fmt"
"github.com/aliyun/alibaba-cloud-sdk-go/sdk/endpoints"
"github.com/aliyun/alibaba-cloud-sdk-go/services/imagesearch"
"io/ioutil"
)
func main() {
endpoints.AddEndpointMapping("<region>", "ImageSearch", "imagesearch.<region>.aliyuncs.com")
// 建立client執行個體
client, err := imagesearch.NewClientWithAccessKey(
"<region>", // 您的可用性區域ID
"<your-access-key-id>", // 您的Access Key ID
"<your-access-key-secret>") // 您的Access Key Secret
if err != nil {
// 異常處理
panic(err)
}
// 刪除圖片
deleteRequest := imagesearch.CreateDeleteImageRequest()
deleteRequest.InstanceName = "demo"
deleteRequest.PicName = "test"
deleteRequest.ProductId = "test"
deleteResponse, err := client.DeleteImage(deleteRequest)
if err != nil {
panic(err)
}
fmt.Println(deleteResponse)
// 添加圖片
addRequest := imagesearch.CreateAddImageRequest()
addRequest.InstanceName = "demo"
addRequest.PicName = "test"
addRequest.ProductId = "test"
b, err := ioutil.ReadFile("/home/admin/demo.jpg")
if err != nil {
panic(err)
}
messageBody := base64.StdEncoding.EncodeToString(b)
addRequest.PicContent = messageBody
addResponse, err := client.AddImage(addRequest)
if err != nil {
panic(err)
}
fmt.Println(addResponse)
// 查詢圖片
searchRequest := imagesearch.CreateSearchImageRequest()
searchRequest.InstanceName = "demo"
searchRequest.PicName = "test"
searchRequest.ProductId = "test"
searchRequest.Type = "SearchByName"
searchResponse, err := client.SearchImage(searchRequest)
if err != nil {
// 異常處理
panic(err)
}
fmt.Println(searchResponse)
}