全部產品
Search
文件中心

Simple Log Service:初始化Log ServicePython SDK

更新時間:Nov 20, 2024

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

前提條件

  • 安裝Log ServicePython SDK

  • 配置訪問憑證

  • 擷取Endpoint

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

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

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

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

初始化LogClient

介面

class LogClient(object):
    """ Construct the LogClient with endpoint, accessKeyId, accessKey.

    :type endpoint: string
    :param endpoint: log service host name, for example, ch-hangzhou.log.aliyuncs.com or https://cn-beijing.log.aliyuncs.com

    :type accessKeyId: string
    :param accessKeyId: aliyun accessKeyId

    :type accessKey: string
    :param accessKey: aliyun accessKey
    """

    __version__ = API_VERSION
    Version = __version__

    def __init__(self, endpoint, accessKeyId=None, accessKey=None, securityToken=None, source=None,
                 auth_version=AUTH_VERSION_1, region='', credentials_provider=None):

請求參數

變數

類型

是否必填

說明

樣本值

endpoint

String

服務存取點,具體參見前提條件

cn-hangzhou.log.aliyuncs.com

accessKeyId

String

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

    警告

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

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

LTAI5tQisap3nb5aDQ******

accessKey

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 - 擷取扮演角色的臨時身份憑證

********

source

String

發送源。如果留空或沒有指定,該欄位將被賦予本機IP。

10.105.214.**

auth_version

String

  • 認證協議版本,取值為AUTH_VERSION_1AUTH_VERSION_4,預設為AUTH_VERSION_1

  • 推薦使用更安全的AUTH_VERSION_4簽名演算法。使用AUTH_VERSION_4簽名初始化時,還需要填寫 region 參數。

AUTH_VERSION_1

region

String

Project的地區,Log Service支援的地區列表,請參見開服地區

cn-hangzhou

樣本

使用AK初始化(V4簽名)

# 引入sls包。
from aliyun.log import *
from aliyun.log.auth import AUTH_VERSION_4

# 通過環境變數擷取AccessKey時需要引入os庫。
import os

# 從環境變數中擷取 AccessKey ID 和 AccessKey Secret
access_key_id = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
access_key_secret = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')

# Log Service的服務存取點
endpoint = "yourEndpoint"

# 建立 LogClient 執行個體,使用 V4 簽名,根據實際情況填寫 region,這裡以杭州為例
client = LogClient(endpoint, access_key_id, access_key_secret, auth_version=AUTH_VERSION_4, region='cn-hangzhou')

使用AK初始化(V1簽名)

# 引入sls包。
from aliyun.log import *

# 通過環境變數擷取AccessKey時需要引入。
import os

# 從環境變數中擷取 AccessKey ID 和 AccessKey Secret
access_key_id = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
access_key_secret = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')

# Log Service的服務存取點
endpoint = "yourEndpoint"

# 建立 LogClient 執行個體
client = LogClient(endpoint, access_key_id, access_key_secret)

使用STS初始化

# 引入sls包。
from aliyun.log import *

# 通過環境變數擷取AccessKey時需要引入。
import os

# 從環境變數中擷取 AccessKey ID 和 AccessKey Secret
access_key_id = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
access_key_secret = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
securityToken = os.environ.get('ALIBABA_CLOUD_STS_TOKEN')
# Log Service的服務存取點
endpoint = "yourEndpoint"

# 建立 LogClient 執行個體
client = LogClient(endpoint, access_key_id, access_key_secret, securityToken)

相關文檔

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