すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Simple Log ServiceをホストされたCSVファイルに関連付ける

最終更新日:Aug 26, 2024

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__:1637737306
  • CSVファイル CSV file

手順

  1. 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
    ]
  2. にログインします。Simple Log Serviceコンソール.

  3. [プロジェクト] セクションで、管理するプロジェクトをクリックします。

    image

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

    image

  5. 次のステートメントを実行して、外部ストアが作成されているかどうかを確認します。

    次のステートメントでは、user_metaに外部ストアの名前を指定します。 値を、外部ストアの作成時に指定した名前に置き換えます。

    * | SELECT * FROM user_meta

    CSVファイルの内容が返されると、外部ストアが作成されます。 Associated CSV file

  6. 次のステートメントを実行して、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

    Associated query