Simple Log Serviceでは、SDKを使用して、コンピューターからSimple Log ServiceにCSVファイルをアップロードできます。 このように、CSVファイルはSimple Log Serviceでホストされ、Simple Log ServiceのLogstoreに関連付けることができます。 このトピックでは、Simple Log ServiceでホストされているCSVファイルとSimple Log ServiceのLogstore内のデータに対してJOINクエリを実行する方法について説明します。
前提条件
ログが収集されていること。 詳細は、「ログ収集方法」をご参照ください。
インデックスが作成されます。 詳細については、「インデックスの作成」をご参照ください。
CSVファイルが作成されます。
Python用のSimple Log Service SDKがインストールされています。 詳細については、「Simple Log Service SDK For Pythonのインストール」をご参照ください。
aliyun-log-python-sdk V0.7.3以降がサポートされています。 pip install aliyun-log-python-sdk -Uコマンドを使用して、SDKをアップグレードできます。
制限事項
一度に関連付けることができるCSVファイルは1つだけです。
Simple Log Serviceは、50 MB以下のデータを含むCSVファイルに関連付けることができます。 CSVファイルは、SDKを使用して圧縮された後、Simple Log Serviceにアップロードされます。 圧縮後のファイルのサイズは9.9 MB未満でなければなりません。
サンプルデータ
Logstoreにはユーザーのログオン操作が保存され、CSVファイルには性別や年齢などのユーザーの基本情報が記録されます。 LogstoreをCSVファイルに関連付けた後、ユーザープロパティのメトリックを分析できます。
ログストア
userid:100001 action:login __time__:1637737306CSVファイル

手順
Simple Log Service SDK for Pythonを使用して外部ストアを作成します。
Simple Log Service SDK For Pythonの詳細については、「概要」をご参照ください。
aliyun.log import * からの
from aliyun.log import * endpoint='cn-shanghai.log.aliyuncs.com' accessKeyId='test-project' accessKey='TAI****YDw' project='lr****VM' ext_logstore='user_meta' csv_file='./user.csv' client = LogClient(endpoint, accessKeyId, accessKey) res = client.create_external_store(project, ExternalStoreCsvConfig(ext_logstore, csv_file, [ {"name" : "userid", "type" : "bigint"}, {"name" : "nick", "type" : "varchar"}, {"name" : "gender", "type" : "varchar"}, {"name" : "province", "type" : "varchar"}, null ])) res.log_print()パラメーター
説明
エンドポイント
Simple Log Serviceエンドポイント。 詳細については、「エンドポイント」をご参照ください。
accessKeyId
Alibaba CloudアカウントのAccessKey ID。 詳細は、「AccessKeyペア」をご参照ください。
警告RAM ユーザーの AccessKey ペアを使用して API 操作を呼び出すことを推奨します。 これにより、AccessKeyペアの漏洩によるリスクが軽減されます。
accessKey
Alibaba CloudアカウントのAccessKeyシークレット。 詳細は、「AccessKeyペア」をご参照ください。
project
Logstoreが属するプロジェクト。
ext_logstore
外部ストアの名前。仮想外部テーブルの名前と同じです。 名前の条件は以下の通りです。
名前には、小文字、数字、ハイフン ( - )、アンダースコア ( _ ) のみ使用できます。
名前の先頭と末尾は、小文字または数字である必要があります。
名前の長さは 3 ~ 63 文字である必要があります。
csv_ファイル
CSVファイルのパスと名前。
テーブルのスキーマ
列名とデータ型を含む、仮想外部テーブルのプロパティ。 次のテーブルスキーマは一例です。 ビジネス要件に基づいてテーブルスキーマを置き換えることができます。
[ {"name" : "userid", "type" : "bigint"}, {"name" : "nick", "type" : "varchar"}, {"name" : "gender", "type" : "varchar"}, {"name" : "province", "type" : "varchar"}, null ]にログインします。Simple Log Serviceコンソール.
[プロジェクト] セクションで、管理するプロジェクトをクリックします。

左側のナビゲーションウィンドウで、[ログストレージ] をクリックします。 Logstoreリストで、管理するLogstoreをクリックします。

次のステートメントを実行して、外部ストアが作成されているかどうかを確認します。
次のステートメントでは、
user_metaに外部ストアの名前を指定します。 値を、外部ストアの作成時に指定した名前に置き換えます。* | SELECT * FROM user_metaCSVファイルの内容が返されると、外部ストアが作成されます。

次のステートメントを実行して、LogstoreとCSVファイルに対してJOINクエリを実行します。
Logstoreは、LogstoreのuseridフィールドとCSVファイルのuseridフィールドに基づいてCSVファイルに関連付けられます。 website_logはLogstoreの名前です。 user_metaは、作成する外部ストアの名前です。 ビジネス要件に基づいてパラメーターを設定できます。
* | SELECT * FROM website_log JOIN user_meta ON website_log.userid = user_meta.userid