すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Go用のSimple Log Service SDKの初期化

最終更新日:Jan 06, 2025

クライアントは、Simple Log Serviceへのアクセスに使用できるGo SDKクライアントです。 プロジェクトの作成、Logstoreの作成、ログの書き込み、およびログの読み取りを行うためのさまざまな方法を提供します。 Simple Log Service SDK for Goを使用してリクエストを開始するには、クライアントインスタンスを初期化し、ビジネス要件に基づいてクライアントインスタンスのデフォルト設定を変更する必要があります。

前提条件

  • Simple Log Service SDK for Goがインストールされています。 詳細については、「Simple Log Service SDK For Goのインストール」をご参照ください。

  • 必要なアクセス資格情報が設定されます。 詳細については、「アクセス資格情報の設定」をご参照ください。

  • 必要なエンドポイントが取得されます。

    エンドポイントは、Alibaba Cloudサービスへのアクセスに使用されます。 ほとんどの場合、エンドポイントはURLです。 エンドポイントは、アクセスプロトコル、ホスト名、ポート、パスなど、サービスに関する情報を指定します。 クライアントはこの情報を使用してサービスにアクセスできます。 詳細については、「エンドポイント」をご参照ください。 Simple Log Serviceは、パブリックエンドポイント、仮想プライベートクラウド (VPC) エンドポイント、およびアクセラレーションエンドポイントをサポートします。

    • パブリックエンドポイント: データがパブリックSimple Log Serviceエンドポイントにプルされると、インターネット経由の読み取りトラフィックが生成されます。 課金の詳細については、「従量課金データの課金項目」および「従量課金機能の課金項目」をご参照ください。 エンドポイントの詳細については、「エンドポイント」をご参照ください。

    • VPCエンドポイント: プロジェクトと同じリージョンにある他のAlibaba CloudサービスからSimple Log Serviceにアクセスする場合は、VPCエンドポイントを使用することを推奨します。 詳細については、「エンドポイント」をご参照ください。

    • 高速化エンドポイント: サーバーとSimple Log Serviceが中国内外などの異なるリージョンにある場合、インターネット経由でデータを送信するときにネットワークの待ち時間が長くなり、送信が不安定になります。 この場合、アクセラレーションエンドポイントを使用できます。 詳細については、「転送アクセラレーション機能の使用」をご参照ください。

クライアントインスタンスの初期化

API 操作

// Use an AccessKey pair to initialize a Client instance.
func CreateNormalInterface(endpoint, accessKeyID, accessKeySecret, securityToken string) ClientInterface
// Use custom access credentials to initialize a Client instance.
func CreateNormalInterfaceV2(endpoint string, credentialsProvider CredentialsProvider) ClientInterface 

リクエストパラメーター

パラメーター

必須 / 任意

説明

endpoint

String

対象

エンドポイント。 詳細については、「エンドポイントの取得」をご参照ください。

cn-hangzhou.log.aliyuncs.com

accessKeyID

String

対象

  • AccessKeyペアを使用してアクセス資格情報を設定する場合、このパラメーターをAlibaba CloudアカウントまたはResource access Management (RAM) ユーザーのAccessKey IDに設定します。 AccessKey IDは、ユーザーを識別するために使用されます。 詳細については、「アクセス資格情報の設定」をご参照ください。

    警告

    Alibaba CloudアカウントのAccessKeyペアには、リソースに対する完全な権限があります。 AccessKeyペアのリークによるリスクを回避するため、Alibaba CloudアカウントのAccessKeyペアを使用しないことを推奨します。 最小権限の原則に基づいて権限が付与されたRAMユーザーのAccessKeyペアを使用することを推奨します。

  • Security Token Service (STS) を使用してアクセス資格情報を設定する場合、このパラメーターを、AssumeRole操作によって返されるcredentialsパラメーターの下のAccessKeyIdパラメーターの値に設定します。

LTAI5tQisap3nb5aDQ ******

accessKeySecret

String

対象

  • AccessKeyペアを使用してアクセス資格情報を設定する場合、このパラメーターをAlibaba CloudアカウントまたはRAMユーザーのAccessKeyシークレットに設定します。 AccessKeyシークレットは、AccessKey IDの検証に使用されます。 詳細については、「アクセス資格情報の設定」をご参照ください。

  • STSを使用してアクセス資格情報を設定する場合、このパラメーターを、AssumeRole操作によって返されるcredentialsパラメーターの下のAccessKeySecretパラメーターの値に設定します。

8IK3wR4CLBWVnhgY1DB1vttQ ******

securityToken

String

任意

  • このパラメーターは、STSを使用してアクセス資格情報を設定する場合にのみ必要です。 このパラメーターを、AssumeRole操作によって返されるCredentialsパラメーターの下のSecurityTokenパラメーターの値に設定します。

  • Alibaba Cloud STSは、STSトークンの長さに制限を課していません。 STSトークンの最大長を指定しないことを推奨します。 STSトークンの取得方法の詳細については、「AssumeRole」をご参照ください。

********

AccessKeyペアベースの初期化 (署名用AuthV4)

package main

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


func main() {
  // Specify a Simple Log Service endpoint. In this example, the Simple Log Service endpoint for the China (Hangzhou) region is used. Replace the parameter value with the actual endpoint. 
  endpoint := "cn-hangzhou.log.aliyuncs.com"
  
  // Obtain an AccessKey ID and an AccessKey secret from environment variables. 
  accessKeyId := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
  accessKeySecret := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
  
  // Create a Simple Log Service client. 
  provider := sls.NewStaticCredentialsProvider(accessKeyId, accessKeySecret, "")
  client := sls.CreateNormalInterfaceV2(endpoint, provider)
  // Use AuthV4 for signing.
  client.SetAuthVersion(sls.AuthV4)
  // Specify a region.
  client.SetRegion("cn-hangzhou")
}

AccessKeyペアベースの初期化 (署名のAuthV1)

package main

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

func main() {
  // Specify a Simple Log Service endpoint. In this example, the Simple Log Service endpoint for the China (Hangzhou) region is used. Replace the parameter value with the actual endpoint. 
  endpoint := "cn-hangzhou.log.aliyuncs.com"
  
  // Obtain an AccessKey ID and an AccessKey secret from environment variables. 
  accessKeyId := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
  accessKeySecret := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
  
  // Create a Simple Log Service client. 
  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() {
  // Specify a Simple Log Service endpoint. In this example, the Simple Log Service endpoint for the China (Hangzhou) region is used. Replace the parameter value with the actual endpoint. 
  endpoint := "cn-hangzhou.log.aliyuncs.com"
  
  // In this example, obtain the value of the AccessKeyId parameter below the Credentials parameter that is returned by the AssumeRole operation. 
  accessKeyId := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_ID")
  // In this example, obtain the value of the AccessKeySecret parameter below the Credentials parameter that is returned by the AssumeRole operation. 
  accessKeySecret := os.Getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")
   // In this example, obtain the value of the SecurityToken parameter below the Credentials parameter that is returned by the AssumeRole operation. 
  securityToken := ""
  
  // Create a Simple Log Service client. 
  provider := sls.NewStaticCredentialsProvider(accessKeyId, accessKeySecret, securityToken)
  client := sls.CreateNormalInterfaceV2(endpoint, provider)
}

関連ドキュメント

  • クライアントインスタンスを初期化した後、Simple Log Service SDK for Goを呼び出してプロジェクトを作成し、ログを書き込むことができます。 詳細については、「Simple Log Service SDK For Goの使用を開始する」をご参照ください。