本文介绍通过Python SDK创建冷热分层存储Logstore的代码示例。

前提条件

已安装日志服务Python SDK。更多信息,请参见安装Python SDK

背景信息

日志服务提供冷热分层存储功能,降低您长周期存储的成本,并同时保证日志的查询、分析、可视化、告警、投递和加工等能力不受影响。

更多信息,请参见智能冷热分层存储

您可以通过日志服务控制台,开启智能冷热分层存储功能。具体操作,请参见开启智能冷热分层存储功能

创建冷热分层存储Logstore的代码示例

本示例中,创建一个SLSColdLogstore.py文件,并调用CreateLogstore接口创建冷热分层存储库。示例如下:
# encoding: utf-8
from __future__ import print_function

import time

from aliyun.log import *


def main():
    # 日志服务的服务入口。更多信息,请参见服务入口。此处以杭州为例,其它地域请根据实际情况填写。
    endpoint = 'cn-hangzhou.log.aliyuncs.com'
    # 阿里云访问密钥AccessKey。更多信息,请参见访问密钥。阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维。
    access_key_id = 'your_access_id'
    access_key = 'your_access_key'
    # Project名称。
    project_name = 'aliyun-test-project'
    # Logstore名称。
    logstore_name= 'hot_ttl2'

    # 创建日志服务Client。
    client = LogClient(endpoint, access_key_id, access_key)
    # 创建冷热分层存储的Logstore。数据总体保存时间是3000天,其中前60天的数据自动归档到热存储。
    client.create_logstore(project_name, logstore_name, ttl=3000, shard_count=3, hot_ttl=60)
    # 打印热分层存储时间。
    resp = client.get_logstore(project_name, logstore_name)
    print('hot ttl:', resp.get_hot_ttl())
    # 修改热分层存储时间为61天。
    client.update_logstore(project_name, logstore_name, ttl=3000, shard_count=3, hot_ttl=61)
    # 打印热分层存储时间。
    resp = client.get_logstore(project_name, logstore_name)
    print('hot ttl:', resp.get_hot_ttl())

if __name__ == '__main__':
    main()
调用CreateLogstore接口创建冷热分层存储Logstore,各个参数说明如下表所示。
参数名称 类型 是否必选 示例 说明
project_name String aliyun-test-project Project名称。

在创建Client时,已定义project_name,此处无需配置。

logstore_name String hot_ttl2 Logstore名称。

在创建Client时,已定义logstore_name,此处无需配置。

ttl Long 3000 日志的整体生命周期,单位为天。取值范围为1~3650。如果配置为3650,表示永久保存。
shard_count Long 2 Shard个数。取值范围为1~10。
hot_ttl String 60 数据在Logstore热存储层中的存储时间,最少为30天。单位:天,取值范围为30到ttl之间。

当数据的存储时间超过您所配置的热存储层数据保存时间后,数据将转为冷存储。更多信息,请参见智能冷热分层存储