クイックプレビューモードでは、データ変換スクリプトの構文が有効かどうか、およびデータが期待どおりに効率的に変換されているかどうかを確認できます。 クイックプレビューモードでは、上記の操作を無料で実行できます。 このトピックでは、クイックプレビューモードを設定する方法について説明します。
前提条件
データを収集する。 詳細は、「ログ収集方法」をご参照ください。
手順
データ変換ページに移動します。
[プロジェクト] セクションで、管理するプロジェクトをクリックします。
タブで、管理するLogstoreをクリックします。
クエリと分析ページで、データ変換.
表示されるページの右上隅で、管理するデータの時間範囲を指定します。
時間範囲を指定したら、[生ログ] タブにログが表示されることを確認します。
編集ボックスに、データ変換ステートメントを入力します。
詳細については、「データ処理構文」をご参照ください。
説明データ変換ステートメントにコメントを追加して、ステートメントを1行ずつデバッグできます。
データのプレビュー。
ページの右上隅にある [クイック] をクリックします。
[データテスト] タブをクリックします。
[データテスト] タブで、テストデータを入力します。
テストデータには、基本データと寸法表データが含まれます。
[データ] タブでは、基本データを入力または指定できます。
[生ログ] タブをクリックしてログエントリを見つけ、[テストデータのインポート] をクリックします。 ログエントリはテストデータとして追加されます。 テストログエントリを入力することもできます。
説明1回のプレビューのテストデータのサイズは1 MBを超えることはできません。
各テストログエントリは空白行で区切られています。
Markdown構文は、クロスラインフィールド値を示すために使用されます。 トリプルバックティック (
''
) は、フィールド全体を示すために使用されます。[データ] タブで入力または指定するテストデータは、キーと値のペアまたはJSON形式である必要があります。 コロン (:) は、キーと値のペア形式のデータのフィールド名とフィールド値を接続するために使用されます。
例1: テストデータには2つのログエントリが含まれます。 最初のログエントリはキーと値のペア形式で、tracebackという名前のクロスラインフィールドが含まれています。 2番目のログエントリはJSON形式です。
time_local: 25/May/2020:01:56:22 user agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.18 (KHTML, like Gecko) Chrome/11.0.661.0 Safari/534.18 "request:method": GET ``` traceback: Traceback (most recent call last): File "traceback_print_exc.py", line 20, in <module> produce_exception() File "/home/user/code/test.py", line 16, in produce_exception produce_exception(recursion_level-1) File "/home/user/code/test.py", line 18, in produce_exception raise RuntimeError() RuntimeError ``` { "time_local": "25/May/2020:01:56:22", "user agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.18 (KHTML, like Gecko) Chrome/11.0.661.0 Safari/534.18", "request:method": "GET", "remote user": "john" }
例2: テストデータには、JSON形式の3つのログエントリが含まれています。
[ { "time_local": "25/May/2020:01:56:22", "user agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.18 (KHTML, like Gecko) Chrome/11.0.661.0 Safari/534.18", "request:method": "GET", "remote user": "john" }, { "time_local": "25/May/2020:01:56:22", "user agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.18 (KHTML, like Gecko) Chrome/11.0.661.0 Safari/534.18", "request:method": "GET", "remote user": "john" }, { "time_local": "25/May/2020:01:56:22", "user agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.18 (KHTML, like Gecko) Chrome/11.0.661.0 Safari/534.18", "request:method": "GET", "remote user": "john" } ]
[ディメンションテーブル] タブで、ディメンションテーブルデータを入力または指定できます。
ディメンションテーブルを使用して、リソース関数によってアクセスされるリソースをプレビューできます。 プレビューおよびデバッグ用のサンプルディメンションテーブルデータを入力できます。
説明[ディメンションテーブル] タブにテストデータを入力し、res_rds_mysqlまたはres_log_logstore_pull関数を使用してデータを変換する場合、データはCSV形式である必要があります。 res_oss_fileまたはres_local関数を使用する場合、データはCSVまたはJSON形式である必要があります。
例: テストデータには2つのログエントリが含まれます。 最初のログエントリはCSV形式で、2番目のログエントリはJSON形式です。
ip,country,province 127.0.0.1,China,Shanghai 192.168.0.0,China,Zhejiang [ { "ip": "127.0.0.1", "country": "China", "province": "Shanghai" }, { "ip": "192.168.0.0", "country": "China", "province": "Zhejiang" } ]
[データのプレビュー] をクリックします。
説明データ変換テストごとに最大100のログエントリを返すことができます。
プレビュー設定を設定した後、[変換結果] タブでデータ変換結果をプレビューできます。
変換ステートメントの構文または権限が無効であるためにデータの変換に失敗した場合は、プロンプトに従って失敗のトラブルシューティングを行います。
データが期待どおりに変換されている場合は、変換ステートメントをルールとして保存できます。 詳細については、「データ変換ジョブの作成」をご参照ください。
クイックプレビューの例
変換ステートメント
エディタに次の変換ステートメントを入力します。
# e_set("insert_field", "test_value") e_table_map( res_rds_mysql( address="rm-uf6wjk5****.mysql.rds.aliyuncs.com", username="test_username", password="****", database="test_db", table="test_table", ), "ip", ["country", "province"], )
テストデータ
タブで、次の内容を入力します。
{ "id": "1001", "ip": "127.0.0.1" }
Dimensionテーブルデータ
タブで、次の内容を入力します。
ip,country,province 127.0.0.1,China,Shanghai 192.168.0.0,China,Zhejiang
変換結果のプレビュー