本文中含有需要您注意的重要提示信息,忽略該信息可能對您的業(yè)務造成影響,請務必仔細閱讀。
本文介紹通過Python SDK創(chuàng)建分層存儲Logstore的代碼示例。
前提條件
已開通日志服務。更多信息,請參見開通日志服務。
已創(chuàng)建RAM用戶并完成授權。具體操作,請參見創(chuàng)建RAM用戶并完成授權。
已配置環(huán)境變量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。具體操作,請參見在Linux、macOS和Windows系統(tǒng)配置環(huán)境變量。
重要阿里云賬號的AccessKey擁有所有API的訪問權限,建議您使用RAM用戶的AccessKey進行API訪問或日常運維。
強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
已安裝日志服務Python SDK。更多信息,請參見安裝Python SDK。
背景信息
日志服務提供智能分層存儲功能,降低您長周期存儲的成本,并同時保證日志的查詢、分析、可視化、告警、投遞和加工等能力不受影響。更多信息,請參見管理智能存儲分層。
注意事項
本示例以華東1(杭州)的公網(wǎng)Endpoint為例,其公網(wǎng)Endpoint為https://cn-hangzhou.log.aliyuncs.com
。如果您通過與Project同地域的其他阿里云產品訪問日志服務,請使用內網(wǎng)Endpointhttps://cn-hangzhou-intranet.log.aliyuncs.com
。關于日志服務支持的地域與Endpoint的對應關系,請參見服務入口。
創(chuàng)建分層存儲Logstore的代碼示例
本示例中,創(chuàng)建一個SLSColdLogstore.py文件,并調用CreateLogstore接口創(chuàng)建分層存儲庫。示例如下:
# encoding: utf-8
from __future__ import print_function
import time
import os
from aliyun.log import *
def main():
# 日志服務的服務接入點。此處以杭州為例,其它地域請根據(jù)實際情況填寫。
endpoint = 'cn-hangzhou.log.aliyuncs.com'
# 本示例從環(huán)境變量中獲取AccessKey ID和AccessKey Secret。
access_key_id = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
access_key = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# Project名稱。
project_name = 'aliyun-test-project'
# Logstore名稱。
logstore_name= 'hot_ttl2'
# 創(chuàng)建日志服務Client。
client = LogClient(endpoint, access_key_id, access_key)
# 創(chuàng)建分層存儲的Logstore。數(shù)據(jù)總體保存時間是3000天,其中前60天的數(shù)據(jù)自動歸檔到熱存儲。
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接口創(chuàng)建分層存儲Logstore,各個參數(shù)說明如下表所示。
參數(shù)名稱 | 類型 | 是否必選 | 示例 | 說明 |
project_name | String | 是 | aliyun-test-project | Project名稱。 在創(chuàng)建Client時,已定義project_name,此處無需配置。 |
logstore_name | String | 是 | hot_ttl2 | Logstore名稱。 在創(chuàng)建Client時,已定義logstore_name,此處無需配置。 |
ttl | Long | 是 | 3000 | 數(shù)據(jù)在Logstore中的保存時間。單位:天,取值范圍:1~3000。 警告 當日志保存時間達到您所設置的保存時間后,日志將被刪除。 |
shard_count | Long | 是 | 2 | Shard個數(shù)。取值范圍為1~10。 |
hot_ttl | String | 是 | 60 | 數(shù)據(jù)在Logstore熱存儲層中的存儲時間,最少為7天。單位:天,取值范圍:7~3000。 當數(shù)據(jù)的存儲時間超過您所配置的熱存儲層數(shù)據(jù)保存時間后,數(shù)據(jù)將轉為低頻存儲(原冷存儲)。 |