赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 日志服务
  4. 开发参考
  5. 日志服务SDK
  6. Python SDK
  7. 管理Logstore
  8. 更新Logstore

更新Logstore

  • 管理Logstore
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

使用UpdateLogStore接口可以更新Logstore的属性信息,例如数据保存时间、Shard分区个数等。

前提条件

您已完成以下操作:

  • 开通日志服务。

  • 初始化日志服务Python SDK。

参数说明

def update_logstore(self, project_name, logstore_name, ttl=None, enable_tracking=None, shard_count=None,
                    append_meta=None,
                    auto_split=None,
                    max_split_shard=None,
                    preserve_storage=None,
                    encrypt_conf=None,
                    hot_ttl=-1,
                    mode=None,
                    telemetry_type=None,
                    infrequent_access_ttl=-1
                    ):           

请求参数

变量

类型

是否必填

说明

project_name

String

是

Project名称:项目(Project)是日志服务的资源管理单元,是进行多用户隔离与访问控制的主要边界。更多信息,请参见管理Project。

logstore_name

String

是

Logstore名称在Project中全局唯一,且创建后不可修改。

其命名规则如下:

  • 仅支持小写字母、数字、连字符(-)和下划线(_)。

  • 必须以小写字母开头,以小写字母和数字结尾。

  • 名称长度为3~63个字符。

ttl

int

否

数据保存时间,单位为天。取值范围:1~3650,如果配置为3650,表示永久保存。当设置的保存期限到达时,日志将被删除。

数据保存时间(ttl)是以下三部分时间的总和:

  • 热存储数据保存时间(hot_ttl)

  • 低频存储数据保存时间(infrequent_access_ttl)

  • 归档存储数据保存时间

重要

如果调整了保存期限,日志服务会在1小时内清除所有超出新期限的数据,但是控制台首页的用量明细会在次日进行更新。例如,若原先的数据保存期限是5天,并将其改为1天,那么系统将在1小时内删除前4天的日志数据。

shard_count

int

否

分区(Shard)数量。更多信息,请参见Shard范围。

重要

不支持通过update_logstore修改分区个数,只能通过SplitShard - 分裂Shard增加分区或MergeShard - 合并shard减少分区。

enable_tracking

bool

否

是否启用WebTracking。

  • True:开启WebTracking功能,则表示该Logstore开启互联网匿名写入权限,没有经过有效鉴权,可能产生脏数据。

  • False(默认值):关闭WebTracking。

说明

WebTracking支持快速采集各种浏览器以及iOS/Android/APP的访问信息。更多信息,请参见使用Web Tracking采集日志。

append_meta

bool

否

是否开启记录外网IP功能。

  • True:开启记录外网IP功能,开启后日志服务自动把以下信息添加到日志的Tag字段中。

    • __client_ip__:客户端外网IP。

    • __receive_time__:日志到达时间,格式为Unix时间戳。

  • False(默认值):不开启记录外网IP功能。

auto_split

bool

否

是否开启自动分裂Shard。

  • True(默认值):开启。更多信息,请参见Shard的读写能力和自动分裂Shard。

  • False:不启用。

max_split_shard

int

否

最大分裂数:开启自动分裂Shard后,最大可支持自动分裂至256个分区。当auto_split参数为True时必须设置。

重要

当auto_split为True时必须指定。

encrypt_conf

dict

否

加密配置数据结构,包含参数enable、encrypt_type和user_cmk_info。更多信息,请参见EncryptConf和数据加密。

telemetry_type

String

否

可观测数据类型。取值包括:

  • None:日志数据。默认为日志数据。

  • Metrics:时序数据。此时只有以下参数生效:

    • logstore_name

    • ttl

    • shard_count

    • auto_split

    • max_split_shard

    • append_meta

重要

此参数创建后不可修改。

hot_ttl

int

否

数据在Logstore热存储层中的存储时间,单位为天。最小为7,最大不能超过ttl的值,取值为-1代表保存时间ttl内全是热存储。

当数据的存储时间超过您所配置的热存储层数据保存时间后,数据将转为低频存储。关于热存储、低频存储、归档存储的概念和转换流程,请参见管理智能存储分层。

  • 热存储数据至少需要保存7天才能转换为低频存储,低频存储至少需要保存30天才能转换为归档存储。

  • 热存储数据至少需要保存30天才能转换为归档存储。

mode

String

否

日志服务提供Standard(标准型)和Query(查询型)两种类型的Logstore。

  • standard(默认值):支持日志服务一站式数据分析功能,适用于实时监控、交互式分析以及构建完整的可观测性系统等场景。

  • query:支持高性能查询,索引流量费用约为Standard的一半,但不支持SELECT语句,适用于数据量大、存储周期长(周、月级别以上)或无日志分析的场景。

更多信息,请参见Logstore类型对比。

infrequent_access_ttl

int

否

数据在Logstore低频存储层中的存储时间,单位:天。低频存储数据至少需要保存30天才能转换为归档存储。更多信息,请参见管理智能存储分层。

返回参数

返回参数请参见:UpdateLogStore - 更新LogStore。

示例代码

from aliyun.log import LogClient
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 = "cn-hangzhou.log.aliyuncs.com"

# 实例化LogClient类
client = LogClient(endpoint, access_key_id, access_key_secret)


def update_logstore():
    # 更新Logstore配置信息
    ttl = 3650
    enable_tracking = True
    shard_count = None
    append_meta = True
    auto_split = True
    max_split_shard = 32
    preserve_storage = None
    encrypt_conf = None
    hot_ttl = 7
    mode = None
    telemetry_type = None
    infrequent_access_ttl = 30

    res = client.update_logstore(project_name, logstore_name, ttl, enable_tracking, shard_count,
                        append_meta, auto_split, max_split_shard, preserve_storage, encrypt_conf,
                        hot_ttl, mode, telemetry_type, infrequent_access_ttl)
    res.log_print()

def get_logstore():
    # 获取指定LogStore信息
    res = client.get_logstore(project_name, logstore_name)

    print('GetLogStoreResponse:')
    print('logstore_name:', res.logstore_name)
    print('shard_count:', str(res.shard_count))
    print('auto_split:', res.auto_split)
    print('max_split_shard:', str(res.max_split_shard))
    print('ttl:', str(res.ttl))
    print('hot_ttl:', str(res.hot_ttl))
    print('infrequent_access_ttl:', str(res.infrequent_access_ttl))
    print('auto_split:', res.enable_tracking)
    print('append_meta:', res.append_meta)


if __name__ == '__main__':
    project_name = 'slsproject-1'
    logstore_name = "logstore-1"

    update_logstore()
    get_logstore()

示例返回结果

UpdateLogStoreResponse:
headers: {'Server': 'AliyunSLS', 'Content-Length': '0', 'Connection': 'keep-alive', 'Access-Control-Allow-Origin': '*', 'Date': 'Mon, 17 Feb 2025 07:00:01 GMT', 'x-log-time': '1739775601', 'x-log-requestid': '67B2DE711508ADEE94320806'}
GetLogStoreResponse:
logstore_name: logstore-1
shard_count: 2
auto_split: True
auto_split: 32
ttl: 3650
hot_ttl: 7
infrequent_access_ttl: 30
auto_split: True
append_meta: True

Process finished with exit code 0

相关文档

  • 管理Logstore的API请参见:

    • CreateLogStore - 创建LogStore

    • GetLogStore - 查看Logstore信息

    • UpdateLogStore - 更新LogStore

    • ListLogStores - 列出LogStore

    • DeleteLogStore - 删除LogStore

  • 更多示例代码,请参见Aliyun Log Python SDK on GitHub。

相关文章

创建Logstore 2025-04-22 10:35

使用CreateLogStore接口在指定的Project中创建一个LogStore,可以指定LogStore的名称、数据保存时间、Shard分区个数、Logstore类型等参数。 前提条件 您已完成以下操作:

查询指定Logstore 2025-04-22 10:35

使用GetLogStore接口查看指定名称的Logstore的信息例如Shard数量、数据保存时间、Logstore类型。 前提条件 您已完成以下操作:

查询Project下的所有Logstore 2025-04-22 10:35

使用ListLogStores接口查看指定Project下所有的Logstore。 前提条件 您已完成以下操作:

查询Project下符合指定条件的Logstore 2025-04-22 10:35

使用ListLogStores接口在Project下查看匹配指定条件(名称模式、偏移量、大小)的日志库,并实现分页处理。 前提条件 您已完成以下操作:

更新Logstore 2025-04-22 10:35

使用UpdateLogStore接口可以更新Logstore的属性信息,例如数据保存时间、Shard分区个数等。 前提条件 您已完成以下操作:

删除Logstore 2025-04-22 10:35

调用DeleteLogStore接口删除指定Logstore,包括所有Shard数据和索引。 前提条件 您已完成以下操作:

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号