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

Simple Log Service:管理された CSV データソースの関連付け

最終更新日:Jun 23, 2026

SDK を使用してローカルの CSV ファイルを Simple Log Service にアップロードし、Logstore に関連付けます。このトピックでは、フェデレーテッドクエリを実行して、管理された CSV ファイルのデータを分析する方法について説明します。

前提条件

  • ログデータが収集済みであること。詳細については、「データ収集」をご参照ください。

  • インデックスが設定済みであること。詳細については、「インデックスの作成」をご参照ください。

  • CSV ファイルが作成済みであること。

  • Simple Log Service Python SDK がインストール済みであること。詳細については、「Simple Log Service Python SDK のインストール」をご参照ください。

    Simple Log Service では、aliyun-log-python-sdk 0.7.3 以降が必要です。pip install aliyun-log-python-sdk -U コマンドを実行して SDK をアップグレードできます。

制限事項

  • 1 つの Logstore に関連付けできる CSV ファイルは 1 つだけです。

  • 元の CSV ファイルは最大 50 MB です。SDK は、Simple Log Service にアップロードする前にファイルを圧縮します。圧縮後のファイルは 9.9 MB 未満である必要があります。

サンプルデータ

例えば、ある Logstore がユーザーのログインイベントを記録し、CSV ファイルが性別や年齢などの基本的なユーザー情報を格納しているとします。Logstore を CSV ファイルに関連付けると、ユーザー属性に関連するメトリックを分析できます。

  • Logstore

    userid:100001
    action:login
    __time__:1637737306
  • CSV ファイルには、useridnickgenderprovinceage の 5 つのフィールドを持つユーザーデータテーブルが含まれています。サンプルデータには、100001/User_A/male/Liaoning/24、100002/User_B/male/Beijing/23、100003/User_C/female/Zhejiang/22、100004/User_D/female/Jiangxi/21、100005/User_E/male/Guangxi/20 が含まれます。

操作手順

  1. Python SDK を使用して ExternalStore を作成します。

    Python SDK の詳細については、「Python SDK の概要」をご参照ください。

    from aliyun.log import *
    
    # Simple Log Service のエンドポイント。
    endpoint='cn-shanghai.log.aliyuncs.com'
    # 認証用の AccessKey ID と AccessKey Secret。
    accessKeyId='test-project'
    accessKey='TAI****YDw'
    # プロジェクトと ExternalStore の名前。
    project='lr****VM'
    ext_logstore='user_meta'
    # ローカル CSV ファイルのパス。
    csv_file='./user.csv'
    client = LogClient(endpoint, accessKeyId, accessKey)
    
    # ExternalStore を作成し、そのテーブルスキーマを定義します。
    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"},
                {"name" : "age", "type" : "bigint"}
            ]))
    res.log_print()

    パラメーター

    説明

    endpoint

    Simple Log Service のサービスエンドポイント。詳細については、「エンドポイント」をご参照ください。

    accessKeyId

    Alibaba Cloud アカウントの AccessKey ID。詳細については、「AccessKey ペア」をご参照ください。

    警告

    【注意】セキュリティリスクを最小限に抑えるために、RAM ユーザーの AccessKey ペアを使用することを推奨します。

    accessKey

    Alibaba Cloud アカウントの AccessKey Secret。詳細については、「AccessKey ペア」をご参照ください。

    project

    送信先の Logstore を含むプロジェクト。

    ext_logstore

    ExternalStore の名前。これは仮想テーブルの名前でもあります。名前は次の要件を満たす必要があります。

    • 名前には、小文字、数字、ハイフン (-)、アンダースコア (_) のみを含めることができます。

    • 名前は小文字または数字で開始および終了する必要があります。

    • 名前の長さは 3~63 文字である必要があります。

    csv_file

    ローカル CSV ファイルのパスとファイル名。

    テーブルスキーマ

    テーブルスキーマは、仮想テーブルの列とデータの型を定義します。次のスクリプトは一例です。ビジネス要件に合わせて変更してください。

    [
         {"name" : "userid", "type" : "bigint"},
         {"name" : "nick", "type" : "varchar"},
         {"name" : "gender", "type" : "varchar"},
         {"name" : "province", "type" : "varchar"},
         {"name" : "age", "type" : "bigint"}
    ]
  2. Simple Log Service コンソールにログインします。

  3. [プロジェクト] セクションで、目的のプロジェクトをクリックします。

    image

  4. [ログストレージ] > [Logstore] タブで、目的の Logstore をクリックします。

    image

  5. 次のクエリを実行して ExternalStore を検証します。

    ここで、user_meta は外部ストレージの名前です。実際の名前で置き換えてください。

    * | SELECT * FROM user_meta

    返された結果が CSV ファイルの内容である場合、ExternalStore は正常に作成されています。このクエリ文を実行すると、useridnickgenderprovinceage などのフィールドを含む、user_meta テーブルから関連付けられたデータが返されます。

  6. 次のクエリを実行して、Logstore と CSV ファイルを結合するフェデレーテッドクエリを実行します。

    この例では、Logstore の userid フィールドと CSV ファイルの userid フィールドを使用して、フェデレーテッドクエリを設定します。この場合、website_log は Logstore 名、user_meta はユーザー定義の ExternalStore です。実際の設定に基づいてこれらの名前を置き換えてください。

    * | SELECT * FROM website_log JOIN user_meta ON website_log.userid = user_meta.userid

    JOIN 文を実行すると、クエリ結果には website_loguser_meta からマージされたフィールドが表示されます。これには、actionuserid__time__nickgenderprovinceage などの列が含まれます。