本文介紹了Go SDK的安裝方法、示例代碼以及如何使用Go SDK發布事件。
SDK簡介
事件總線EventBridge的SDK分為管控API SDK和數據API SDK,示例代碼和使用的依賴有所不同。
管控API SDK:對控制臺頁面進行操作使用的SDK。
數據API SDK:事件數據的通道,目前只有發送事件(PutEvents)屬于此類。
前提條件
您已完成以下操作:
環境準備
環境要求
安裝Golang1.12.0以上的版本。更多信息,請參見安裝Golang。
查看語言版本
執行命令
go version
查看Go語言版本。
管控API SDK
安裝SDK
執行以下命令啟用Go mod。
go env -w GO111MODULE=on
執行以下命令設置Go mod代理。
go env -w GOPROXY=https://goproxy.cn,direct
執行以下命令進行初始化,生成go.mod文件。
go mod init
執行以下命令安裝Go SDK。
go get github.com/alibabacloud-go/eventbridge-20200401/v2
執行以下命令安裝打印端口。
go get github.com/alibabacloud/tea-console
SDK示例
您可以在OpenAPI門戶通過調用API接口,自動生成對應的SDK示例。具體操作,請參見如何自動生成SDK示例。
數據API SDK
安裝SDK
執行以下命令啟用Go mod。
go env -w GO111MODULE=on
執行以下命令設置Go mod代理。
go env -w GOPROXY=https://goproxy.cn,direct
執行以下命令進行初始化,生成go.mod文件。
go mod init
執行以下命令安裝Go SDK。
go get github.com/alibabacloud-go/eventbridge-sdk
執行以下命令安裝打印端口。
go get github.com/alibabacloud/tea-console
SDK示例
數據API SDK目前只包含發布事件(PutEvents),如需使用Go SDK發布一個或多個事件,請參考以下示例代碼。
package main
import (
"fmt"
eventbridge "github.com/alibabacloud-go/eventbridge-sdk/eventbridge"
)
func main() {
config := new(eventbridge.Config).
SetAccessKeyId(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")).
SetAccessKeySecret(os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")).
SetEndpoint("<endpoint>")
client, err := eventbridge.NewClient(config)
if err != nil {
panic(err)
}
event := new(eventbridge.CloudEvent).
SetDatacontenttype("application/json").
SetData([]byte("test")).
SetId("id").
SetSource("source").
SetTime("2020-08-24T13:54:05.965Asia/Shanghai").
SetSubject("1.0").
SetType("type").
SetExtensions(map[string]interface{}{
"aliyuneventbusname": "BusName",
})
resp, err := client.PutEvents([]*eventbridge.CloudEvent{event})
if err != nil {
panic(err)
}
fmt.Println(resp)
}
文檔內容是否對您有幫助?