本文介绍通过Python SDK创建冷热分层存储Logstore的代码示例。
前提条件
背景信息
日志服务提供冷热分层存储功能,降低您长周期存储的成本,并同时保证日志的查询、分析、可视化、告警、投递和加工等能力不受影响。
更多信息,请参见智能冷热分层存储。您可以通过日志服务控制台,开启智能冷热分层存储功能。具体操作,请参见开启智能冷热分层存储功能。
创建冷热分层存储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之间。
当数据的存储时间超过您所配置的热存储层数据保存时间后,数据将转为冷存储。更多信息,请参见智能冷热分层存储。 |