このトピックでは、Simple Log Service SDK for Pythonを使用して、インテリジェント階層ストレージが有効になっているLogstoreを作成する方法について説明します。
前提条件
RAM (Resource Access Management) ユーザーが作成され、必要な権限がRAMユーザーに付与されます。 詳細については、「RAMユーザーの作成とRAMユーザーへの権限付与」をご参照ください。
ALIBABA_CLOUD_ACCESS_KEY_IDおよびALIBABA_CLOUD_ACCESS_KEY_SECRET環境変数が設定されています。 詳細については、「環境変数の設定」をご参照ください。
重要Alibaba CloudアカウントのAccessKeyペアには、すべてのAPI操作に対する権限があります。 RAMユーザーのAccessKeyペアを使用して、API操作を呼び出したり、ルーチンのO&Mを実行したりすることを推奨します。
プロジェクトコードにAccessKey IDまたはAccessKey secretを保存しないことを推奨します。 そうしないと、AccessKeyペアが漏洩し、アカウント内のすべてのリソースのセキュリティが侵害される可能性があります。
Python用のSimple Log Service SDKがインストールされています。 詳細については、「Simple Log Service SDK For Pythonのインストール」をご参照ください。
背景情報
Simple Log Serviceは、インテリジェントな階層ストレージ機能を提供します。 この機能を使用すると、ログデータのクエリ、分析、視覚化、アラート、出荷、または変換に悪影響を与えることなく、長期的なストレージコストを削減できます。
Simple Log Serviceコンソールでインテリジェント階層ストレージ機能を有効にできます。 詳細については、「インテリジェント階層ストレージの設定」をご参照ください。
使用上の注意
この例では、中国 (杭州) リージョンのパブリックSimple Log Serviceエンドポイントが使用されています。これは https://cn-hangzhou.log.aliyuncs.com です。 プロジェクトと同じリージョンにある他のAlibaba Cloudサービスを使用してSimple Log Serviceにアクセスする場合は、内部のSimple Log Serviceエンドポイント ( https://cn-hangzhou-intranet.log.aliyuncs.com ) を使用できます。 Simple Log Serviceのサポートされているリージョンとエンドポイントの詳細については、「エンドポイント」をご参照ください。
サンプルコード
この例では、SLSColdLogstore.pyという名前のファイルが作成されます。 このファイルのサンプルコードでは、CreateLogstore操作を呼び出して、インテリジェント階層ストレージが有効になっているLogstoreを作成する方法の例を示します。 例:
# encoding: utf-8
from __future__ import print_function
import time
import os
from aliyun.log import *
def main():
# The Simple Log Service endpoint. In this example, the Simple Log Service endpoint for the China (Hangzhou) region is used. Replace the parameter value with the actual endpoint.
endpoint = 'cn-hangzhou.log.aliyuncs.com'
# Configure environment variables. In this example, the AccessKey ID and AccessKey secret are obtained from environment variables.
access_key_id = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID', '')
access_key = os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET', '')
# The name of the project.
project_name = 'aliyun-test-project'
# The name of the Logstore.
logstore_name= 'hot_ttl2'
# Create a Simple Log Service client.
client = LogClient(endpoint, access_key_id, access_key)
# Create a Logstore for which intelligent tiered storage is enabled. The Logstore can store logs for up to 3,000 days. Logs are automatically stored in the hot storage tier of the Logstore in the first 60 days.
client.create_logstore(project_name, logstore_name, ttl=3000, shard_count=3, hot_ttl=60)
# Display the period of time during which logs are stored in the hot storage tier of the Logstore.
resp = client.get_logstore(project_name, logstore_name)
print('hot ttl:', resp.get_hot_ttl())
# Change the period of time during which logs are stored in the hot storage tier of the Logstore to 61 days.
client.update_logstore(project_name, logstore_name, ttl=3000, shard_count=3, hot_ttl=61)
# Display the period of time during which logs are stored in the hot storage tier of the Logstore.
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 | プロジェクトの名前。 Simple Log Serviceクライアントを作成するときは、project_nameパラメーターの値を指定する必要があります。 したがって、パラメーターを再度設定する必要はありません。 |
logstore_name | String | 課金されます | hot_ttl2 | ログストアの名前 Simple Log Serviceクライアントを作成するときは、logstore_nameパラメーターの値を指定する必要があります。 したがって、パラメーターを再度設定する必要はありません。 |
ttl | Long | 課金されます | 3000 | Logstore内のデータの保持期間。 有効な値: 1 ~ 3000 単位:日 警告 保存期間が終了すると、データは自動的に削除されます。 |
shard_count | Long | 課金されます | 2 | シャードの数。 有効な値: 1 ~ 10。 |
ホット_ttl | String | 課金されます | 60 | Logstoreのホットストレージ層のデータの保持期間。 有効な値: 7 ~ 3000 単位:日 hot_ttlパラメーターで指定された保持期間よりも長く保存されたホットデータは、低頻度アクセスストレージ層 (旧コールドストレージ層) に移動されます。 詳細については、「インテリジェント階層ストレージの設定」をご参照ください。 |