全部产品
Search
文档中心

日志服务:初始化日志服务Python SDK

更新时间:Nov 19, 2024

LogClient是日志服务的客户端,它为调用者提供了一系列的方法,可以用来创建Project和Logstore、写入日志、读取日志等。使用Python SDK发起请求,您需要初始化一个LogClient实例,并根据需要修改默认配置项。

前提条件

  • 安装日志服务Python SDK

  • 配置访问凭证

  • 获取Endpoint

    服务接入点(Endpoint)是访问阿里云服务的入口点,通常是一个URL,它指定了服务的访问协议、主机名、端口和路径等信息,客户端可以使用这些信息与服务进行通信。日志服务的Endpoint分为:

    • 公网服务地址:从日志服务公网域名所在接口拉取数据时,会产生外网读取流量,计费信息请参见按写入数据量计费模式计费项按使用功能计费模式计费项。具体列表,请参见服务接入点

    • VPC服务地址:ECS实例和日志服务Project属于同一地域,建议使用VPC服务地址,请参见服务接入点

    • 传输加速域名:业务服务器、日志服务Project分别属于国内地域和国外地域,使用公网传输数据可能会出现网络延迟高、传输不稳定等问题,可以选择传输加速域名,请参见管理传输加速

初始化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的地域,日志服务支持的地域列表,请参见开服地域

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', '')

# 日志服务的服务接入点
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', '')

# 日志服务的服务接入点
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')
# 日志服务的服务接入点
endpoint = "yourEndpoint"

# 创建 LogClient 实例
client = LogClient(endpoint, access_key_id, access_key_secret, securityToken)

相关文档

  • 初始化LogClient后,您可以调用接口实现创建Project、写入日志等操作,请参见Python SDK快速入门