全部產品
Search
文件中心

Simple Log Service:初始化Log ServiceGo SDK

更新時間:Nov 23, 2024

Client是Log ServiceGo SDK的用戶端,它為調用者提供了一系列的方法,可以用來建立Project和Logstore、寫入日誌、讀取日誌等。使用Go SDK發起請求,您需要初始化一個Client執行個體,並根據需要修改預設配置項。

前提條件

  • 已安裝Log ServiceGo SDK

  • 配置訪問憑證

  • 擷取Endpoint

    服務存取點(Endpoint)是訪問阿里雲服務的進入點,通常是一個URL,它指定了服務的訪問協議、主機名稱、連接埠和路徑等資訊,用戶端可以使用這些資訊與服務進行通訊。Log Service的Endpoint分為:

    • 公網服務地址:從Log Service公網網域名稱所在介面拉取資料時,會產生外網讀取流量,計費資訊請參見按寫入資料量計費模式計費項目按使用功能計費模式計費項目。具體列表,請參見服務存取點

    • VPC服務地址:ECS執行個體和Log ServiceProject屬於同一地區,建議使用VPC服務地址,請參見服務存取點

    • 傳輸加速網域名稱:商務服務器、Log ServiceProject分別屬於國內地區和國外地區,使用公網傳輸資料可能會出現網路延遲高、傳輸不穩定等問題,可以選擇傳輸加速網域名稱,請參見管理傳輸加速

初始化Client

介面

// 使用 ak 初始化用戶端
func CreateNormalInterface(endpoint, accessKeyID, accessKeySecret, securityToken string) ClientInterface
// 使用自訂配置憑證介面初始化用戶端
func CreateNormalInterfaceV2(endpoint string, credentialsProvider CredentialsProvider) ClientInterface 

請求參數

變數

類型

是否必填

說明

樣本值

endpoint

String

服務存取點,具體參見擷取Endpoint

cn-hangzhou.log.aliyuncs.com

accessKeyID

String

  • 如果使用AK配置訪問憑證,則為阿里雲帳號(主帳號)和RAM使用者(子帳號)的AccessKey ID,用於標識使用者。具體參見配置訪問憑證

    警告

    阿里雲主帳號擁有資源的全部許可權,如果主帳號的AK泄露,會給系統帶來巨大風險,不建議使用。推薦使用最小化授權的RAM使用者的AK。

  • 如果使用STS配置訪問憑證,則為AssumeRole介面返回參數Credentials中的AccessKeyId。

LTAI5tQisap3nb5aDQ******

accessKeySecret

String

  • 如果使用AK配置訪問憑證,則為阿里雲帳號(主帳號)和RAM使用者(子帳號)的AccessKey Secret,用於驗證您擁有該AccessKey ID的密碼。具體參見配置訪問憑證

  • 如果使用STS配置訪問憑證,則為AssumeRole介面返回參數Credentials中的AccessKeySecret。

8IK3wR4CLBWVnhgY1DB1vttQ******

securityToken

String

  • RAM角色的STS臨時訪問憑證,僅當使用STS Token時需要填寫,為AssumeRole介面返回參數Credentials中的SecurityToken。

  • 安全性權杖(SecurityToken)的長度不固定,我們強烈建議您不要對安全性權杖的最大長度做任何限制。擷取STS Token的介面,請參見AssumeRole - 擷取扮演角色的臨時身份憑證

********

樣本

使用AK初始化(V4簽名)

package main

import (
  sls "github.com/aliyun/aliyun-log-go-sdk"
  "os"
)


func main() {
  // Log Service的服務入口。此處以杭州為例,其它地區請根據實際情況填寫。
  endpoint := "cn-hangzhou.log.aliyuncs.com"
  
  // 本樣本從環境變數中擷取AccessKey ID和AccessKey Secret。
  accessKeyId := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
  accessKeySecret := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
  
  // 建立Log ServiceClient。
  provider := sls.NewStaticCredentialsProvider(accessKeyId, accessKeySecret, "")
  client := sls.CreateNormalInterfaceV2(endpoint, provider)
  // 設定使用 v4 簽名
  client.SetAuthVersion(sls.AuthV4)
  // 設定地區
  client.SetRegion("cn-hangzhou")
}

使用AK初始化(V1簽名)

package main

import (
  sls "github.com/aliyun/aliyun-log-go-sdk"
  "os"
)

func main() {
  // Log Service的服務入口。此處以杭州為例,其它地區請根據實際情況填寫。
  endpoint := "cn-hangzhou.log.aliyuncs.com"
  
  // 本樣本從環境變數中擷取AccessKey ID和AccessKey Secret。
  accessKeyId := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
  accessKeySecret := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
  
  // 建立Log ServiceClient。
  provider := sls.NewStaticCredentialsProvider(accessKeyId, accessKeySecret, "")
  client := sls.CreateNormalInterfaceV2(endpoint, provider)
}

使用STS初始化

package main

import (
  sls "github.com/aliyun/aliyun-log-go-sdk"
  "os"
)

func main() {
  // Log Service的服務入口。此處以杭州為例,其它地區請根據實際情況填寫。
  endpoint := "cn-hangzhou.log.aliyuncs.com"
  
  // 本樣本從環境變數中擷取AssumeRole介面返回參數Credentials中的AccessKeyId。
  accessKeyId := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
  // 本樣本從環境變數中擷取AssumeRole介面返回參數Credentials中的AccessKeySecret。
  accessKeySecret := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
   // 本樣本從環境變數中擷取AssumeRole介面返回參數Credentials中的SecurityToken。
  securityToken := ""
  
  // 建立Log ServiceClient。
  provider := sls.NewStaticCredentialsProvider(accessKeyId, accessKeySecret, securityToken)
  client := sls.CreateNormalInterfaceV2(endpoint, provider)
}

相關文檔

  • 初始化Client後,您可以調用介面實現建立Project、寫入日誌等操作,請參見Go SDK快速入門