tencent cloud

Cloud Log Service

DLCタスクの新規作成

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:51:41
AI翻訳
ログをCLSに収集した後、ログデータをTencent Cloud DLCに配信して分析することができます。

前提条件

CLSを有効化し、ログセットとログトピックを作成し、正常にログデータを収集します。
Tencent Cloud DLCサービスを有効化し、ログをDLCテーブルに配信するよう設定する際、既存のDLCテーブルを選択するか、システムが自動的にDLCテーブルを作成することができます。
「DLCテーブルを作成」モードを選択した場合、DLCデータベースの管理者権限を持っていることを確認してください。そうでない場合、テーブルの作成に失敗し、後続で追加されたログフィールドもDLCテーブルに書き込めません。
「既存のDLCテーブル」モードを選択した場合、ログを配信するログトピックのリージョンにデータベースとデータテーブルを作成する必要があります。詳細はSQLエディタを参照してください。
サブアカウント/コラボレーターはメインアカウントの承認が必要です。承認手順についてはCAMベースの権限管理を、承認ポリシーについてはCLSアクセスポリシーテンプレートを参照してください。
Tencent Cloud CLSサービスロールにDLCへのアクセス権限が付与されています。ほとんどのユーザーはコンソールから操作する際、システムがユーザーを認可手続きに案内します。一部のユーザーはコンソールを介さず直接APIを呼び出すため、手動で認可を行う必要があります。詳細については配信タスクロールの認可を参照してください。

操作手順

1. CLSコンソールにログインします。
2. 左側のナビゲーションバーでログトピックを選択します。
3. 配信対象のログトピックID/名をクリックして、ログトピック管理ページに移動します。
4. DLCへ配信タブを選択し、DLCへ配信設定ページに移動して、新規作成をクリックします。
基本設定項目
説明
ルール
必須/任意
配信タスク名
配信タスクの名前を設定します。
-
必須
サービスログ
配信タスクの実行に関する監視指標を、無料のログトピックcls_service_logに書き込みます。
-
いいえ
配信モード
現在はバッチ配信のみをサポートしています。
-
いいえ
配信ファイルサイズ
投递する元のログファイルのサイズは、投递間隔時間と組み合わせて使用します。どちらの条件が先にトリガーされた場合でも、その条件に従ってファイルを圧縮し、DLCに投递します。
例えば、256MB、15分と設定した場合、ファイルサイズが5分で256MBに達した場合、ファイルサイズの条件が先にトリガーされ、配信タスクが実行されます。
5 - 256、単位:MB
いいえ
配信間隔時間
指定した間隔時間ごとに配信をトリガーし、配信ファイルサイズと組み合わせて使用します。どちらの条件が先にトリガーされても、その条件に従ってファイルを圧縮し、DLCに配信します。
例えば、256MB、15分と設定した場合、ファイルサイズが15分時点で200MBに過ぎない場合、間隔時間の条件が先にトリガーされ、配信タスクが実行されます。
300 - 900、単位:s
いいえ
5. 次へをクリックし、データテーブル設定に進みます。
データテーブル設定項目
説明
ルール
必須/任意
データカタログ
現在、DataLakeCatalogのみをサポートしています。
-
いいえ
データベース
DLCデータベースを選択してください。
-
必須
データテーブル設定方法
既存のDLCテーブルを選択とDLCテーブルを作成をサポートしています。
-
必須
既存のDLCテーブルを選択(デフォルト)
DLCテーブルの作成
データテーブル設定項目
説明
ルール
必須/任意
データテーブル
DLCデータテーブルを選択してください。
-
必須
データフィールド
フィールドマッピング:このボタンをクリックすると、ログトピック内でDLCデータテーブルと同じフィールド名が下のログフィールド名に自動入力されます(下図参照)。DLCデータテーブルと異なるフィールド名は手動で入力する必要があります。ページ右上のログサンプルを参照すると、フィールドを選択してログフィールド名に入力しやすくなります。

ログフィールド名:CLSログ内のフィールドと対応するDLCフィールドをマッピングします。下図のログのように、JSONの第1階層ノードのkey(例:app_name)のみ入力できます。details.request_idのようなネストされたノードはサポートされていません。
{
"__TIMESTAMP__":1742543131,
"app_name": "cls",
"category": "Filter",
"latency": "11",
"details": {
"request_id": "123456dfg",
"trace_id": "0610df2a4c5d9cdf"
}
}
データテーブルフィールド名:システムがDLCから読み取ります。ここでは変更できません。DLCで変更してください。
フィールドタイプ:DLCフィールドのタイプです。ここでは変更できません。DLCで変更してください。
解析失敗時の代入:フィールド値の解析に失敗した場合、この値を使用してDLCに書き込みます。NULL、空(空文字列)、またはカスタム値を選択できます。なお、カスタム値には以下の値を使用することを推奨します:
bool:FALSE
bigint:-1
Int:0
String:''"(空文字列)
JSON:{}
Date:1970-01-01
TIMESTAMP:2025-01-01 00:00:00
説明:
ログ内に特定のフィールドが存在しない場合、そのフィールドはDLC側ではNull値になります。
フィールド解析で指定タイプが失敗した場合:
解析失敗時の代入値はNullとなり、このフィールドはDLC側ではNull値になります。
解析失敗時の代入値が非Nullの場合、その代入値に基づいて再解析が行われます。解析が成功すると書き込まれ、失敗した場合、このフィールドはDLC側ではNull値になります。
マッピングを有効にする:このフィールドをDLCテーブルにマッピングするかどうかです。不要な場合は、スイッチをオフにしてください。
NULL/空/カスタム値
必須
自動追加フィールド
この設定はデフォルトで有効になっており、ログ内の新規フィールドをDLCに同期するために使用されます。システムはリアルタイムでログデータストリームを監視し、DLCにまだ配信されていない新規フィールドを識別し、フィールドタイプの推論を自動的に完了してDLCに配信します。
選択:システムがログの新規フィールドを自動的に認識し、フィールドタイプを自動的に推測してDLCテーブルにそのデータフィールドを追加します。パーティションフィールドは変更されません。DLCフィールド名は元のログフィールド名を引き継ぎます。
選択しない場合:配信タスクで設定済み、かつマッピングスイッチが有効な既存フィールドのみをDLCに配信して書き込みます。
ログ全体の配信失敗を引き起こす異常シナリオ:
フィールドタイプ不一致:ログの実際のデータタイプがDLCの既存フィールド定義タイプと競合しています(例:ログが文字列abcで、DLCフィールドがINT整数型として定義されている場合)。
1回の新規フィールド追加が上限を超えた場合:1件のログで自動新規フィールド追加がトリガーされた際に、新規フィールド数が50個を超える場合。
フィールド名が長すぎる場合:任意のフィールド名の文字長が128を超える場合。
この設定はデフォルトで有効です。
いいえ
パーティションフィールド
ログフィールド名:ログのフィールド名であり、DLCのパーティションフィールドへのマッピングに使用されます。DLCテーブルが時間に基づいてパーティション分割されている場合は、ここでログ時間フィールド、つまり__TIMESTAMP__を使用することをお勧めします。
データテーブルフィールド名:パーティションフィールドです。システムがDLCから読み取ります。ここでは変更できません。DLCで変更してください。
フィールドタイプ:パーティションフィールドのタイプです。システムがDLCから読み取ります。ここでは変更できません。DLCで変更してください。
-
必須
時間パーティション形式
時間パーティション形式です。設定例とパラメータの詳細については、以下の説明を参照してください。
説明:
DLCパーティション列のログフィールド名が__TIMESTAMP__に設定されている場合のみ、時間パーティション形式が有効になります。
日単位でのパーティション分割を推奨します。分や秒を使用すると、DLCテーブルのパーティション数が多すぎる原因になります。
時間パーティション形式の例は以下の通りです:
%Y-%m-%d-%H-%M:2025-07-09-20-30
%Y-%m-%d-%H:2025-07-09-20
%Y-%m-%d:2025-07-09
%Y-%m:2025-07
タイムゾーンと併用します。
いいえ
タイムゾーン(UTC)
このタイムゾーンは、時刻のフォーマットおよび時間パーティションに使用されます。
時間パーティションと併用します。
いいえ
データテーブル設定項目
説明
ルール
必須/任意
データテーブル
データテーブルの名前を入力してください。システムが自動的にDLCネイティブテーブルを作成します。テーブルの属性(バージョン、ライフサイクル、有効期限設定など)はデフォルト設定が適用されます。変更が必要な場合は、DLCテーブル編集に移動してください。
-
必須
データフィールド
フィールドマッピング:このボタンをクリックすると、システムが最新のログを1件サンプリングし、JSONの第1階層のKeyを解析して、DLCテーブルのSchemaを生成します。下図を参照してください。1件のログではすべてのログフィールドをカバーできないため、システムはデフォルトで自動フィールド追加を有効にし、ログストリーム内で新たに追加されたフィールドをリアルタイムで監視します。そして、それらをDLCに配信します。

ログフィールド名:CLSログ内のフィールドと対応するDLCフィールドをマッピングします。下図のログのように、JSONの第1階層ノードのkey(例:app_name)のみ入力できます。details.request_idのようなネストされたノードは現在サポートされていません。
{
"__TIMESTAMP__":1742543131,
"app_name": "cls",
"category": "Filter",
"latency": "11",
"details": {
"request_id": "123456dfg",
"trace_id": "0610df2a4c5d9cdf"
}
}
データテーブルフィールド名:ログJSONの第1階層のkeyと同じです。お客様は変更できません。DLCで変更してください。
フィールドタイプ:DLCフィールドのタイプです。CLSがフィールドタイプを推測して事前に入力します。お客様は変更できます。
注意:
ログフィールド名をDLCフィールド名にマッピングする際、フィールド名の長さと不正文字の処理ルールはDLCの処理結果に準じます。お客様はDLCで確認できます。
解析失敗時の代入:フィールド値の解析に失敗した場合、この値を使用してDLCに書き込みます。Null、空(空文字列)、またはカスタム値を選択できます。なお、カスタム値には以下の値を使用することを推奨します:
bool:FALSE
bigint:-1
Int:0
String:''"(空文字列)
JSON:{}
Date:1970-01-01
TIMESTAMP:2025-01-01 00:00:00
説明:
ログ内に特定のフィールドが存在しない場合、そのフィールドはDLC側ではNull値になります。
フィールド解析で指定タイプが失敗した場合:
解析失敗時の代入値はNullとなり、このフィールドはDLC側ではNull値になります。
解析失敗時の代入値が非Nullの場合、その代入値に基づいて再解析が行われます。解析が成功すると書き込まれ、失敗した場合、このフィールドはDLC側ではNull値になります。
マッピングを有効にする:現在のフィールドをDLCテーブルに同期配信するかどうかを制御します。
マッピングをオフにすると、フィールドの自動追加を有効にしても、このフィールドはDLCに配信されません。
マッピングがオフになっていて再配信が必要なフィールド:DLC側に対応するフィールドを作成します。CLSマッピングはデフォルトで有効になります。
説明:
配信タスクを表示する際、フィールドの一貫性を保つために、CLSはDLCテーブルの既存フィールドのみを取得します。つまり、マッピングがオフになっているフィールドはデータフィールドに表示されません。
NULL/空/カスタム値
必須
自動追加フィールド
この設定はデフォルトで有効になっており、ログ内の新規フィールドをDLCに同期するために使用されます。システムはリアルタイムでログデータストリームを監視し、DLCにまだ配信されていない新規フィールドを識別し、フィールドタイプの推論を自動的に完了してDLCに配信します。
選択:システムがログの新規フィールドを自動的に認識し、フィールドタイプを自動的に推測してDLCテーブルにそのデータフィールドを追加します。パーティションフィールドは変更されません。DLCフィールド名は元のログフィールド名を引き継ぎます。
選択しない場合:配信タスクで設定済み、かつマッピングスイッチが有効な既存フィールドのみをDLCに配信して書き込みます。
ログ全体の配信失敗を引き起こす異常シナリオ:
フィールドタイプ不一致:ログの実際のデータタイプがDLCの既存フィールド定義タイプと競合しています(例:ログが文字列abcで、DLCフィールドがINT整数型として定義されている場合)。
1回の新規フィールド追加が上限を超えた場合:1件のログで自動新規フィールド追加がトリガーされた際に、新規フィールド数が50個を超える場合。
フィールド名が長すぎる場合:任意のフィールド名の文字長が128を超える場合。
この設定はデフォルトで有効です。
いいえ
パーティションフィールド
日志字段名:日志的时间字段、默认__TIMESTAMP__。
データテーブルフィールド名:DLCパーティションフィールドです。デフォルトは__TIMESTAMP__です。ここでは変更できません。DLCで変更してください。
フィールドタイプ:パーティションフィールドのタイプです。ここでは変更できません。DLCで変更してください。
-
必須
時間パーティション形式
時間パーティション形式です。設定例とパラメータの詳細については、以下の説明を参照してください。
説明:
DLCパーティション列のログフィールド名が__TIMESTAMP__に設定されている場合のみ、時間パーティション形式が有効になります。
日単位でのパーティション分割を推奨します。分や秒を使用すると、DLCテーブルのパーティション数が多すぎる原因になります。
時間パーティション形式の例は以下の通りです:
%Y-%m-%d-%H-%M:2025-07-09-20-30
%Y-%m-%d-%H:2025-07-09-20
%Y-%m-%d:2025-07-09
%Y-%m:2025-07
タイムゾーンと併用します。
いいえ
タイムゾーン(UTC)
このタイムゾーンは、時刻のフォーマットおよび時間パーティションに使用されます。
時間パーティションと併用します。

配信失敗ログの処理:配信に失敗したログを、お客様が指定したDLCテーブルに配信することを選択できます。
投递に失敗したログをDLCテーブルに保存します。
配信失敗データの処理方法は、デフォルトでは無効です。この設定を有効にすると、配信に失敗したログデータを指定したDLCテーブルに書き込むことができます。
-
いいえ
投递に失敗したログをDLCテーブルに保存します。
ユーザーが配信失敗ログをDLCテーブルに保存するを有効にした場合のみ、この項目を設定する必要があります。
失敗ログテーブルの設定方法:
DLCテーブルを自動作成:
失敗ログテーブル名:システムが失敗ログを保存するためのテーブルを自動作成します。デフォルトのテーブル名はcls_2_dlc_shipping_failedです。
失敗ログフィールド名:システムは配信に失敗したログをこのフィールドに書き込みます。デフォルト値はlog_deliver_failedです。
既存のテーブルを選択:
失敗ログテーブル:既存のDLCテーブルから1つのテーブルを選択して失敗ログを保存します。
失敗ログフィールド名:システムは配信に失敗したログをこのフィールドに書き込みます。String型のフィールド名を手動で入力する必要があります。
-
いいえ
6. 送信をクリックし、新しいタスクの設定を完了します。

よくあるご質問

問題の説明

__TIMESTAMP__ログ時間フィールドをDLCパーティションマッピングフィールドとして使用します:ログ時間が比較的分散している場合、例えば当日報告されたデータに昨日またはそれ以前のログが含まれている場合、DLCは書き込み時にログ時間に基づいてパーティションを作成し、断片化されたparquetファイルが多く発生します。これにより、バッチ書き込みの所要時間が増加し、書き込みスループットが低下します。深刻な場合、1バッチのデータの書き込み完了に5分以上かかることがあります。

解決のアプローチ

このようなシナリオが発生する場合は、__TAG__.receive_timeをDLC時間パーティションマッピングフィールドとして使用することをお勧めします。データはCLS時間に基づいてパーティション化され、断片化されたparquetファイルが減少し、書き込みスループットが向上します。追加の影響として、ログ時間によるパーティション化が行われないため、データ統計に注意する必要があります。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック