📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

FeiShuBot



このページでは、FeiShuBot データソースを作成する方法について説明します。このデータソースには FeiShu ボットの Webhook とメッセージテンプレートが保存され、通常はタスク失敗通知に使用されます。

ユースケース

  • タスク実行が失敗したときに、FeiShu グループへ通知を送信する
  • 複数のタスク間で同じボット設定とメッセージテンプレートを再利用する
  • 通知エンドポイントとメッセージ形式を一元管理する

FeiShuBot を作成する

  1. Data > Data Sources に移動し、Create Data Source をクリックします。

  2. サービスタイプとして FeiShuBot を選択し、次のフィールドを入力します。

    フィールド必須説明
    Nameはいこのデータソースの説明的な名前です。使用できるのは英字、数字、アンダースコアのみです
    URLはいカスタム FeiShu ボットの Webhook URL
    WarehouseはいNOTIFICATION INTEGRATION の作成に使用する Warehouse
    Payloadはいメッセージペイロードの種類です。現在は Task Error のみサポートされています
    Templateはいカスタムメッセージテンプレート
  3. Test Connectivity をクリックして設定を検証します。テストが成功したら、OK をクリックしてデータソースを保存します。

使用方法

FeiShuBot は、SQL Task の ERROR_INTEGRATION プロパティとともに使用するか、コンソールのタスクフロー UI の Error Notification から参照できます。

SQL Task プロパティを設定する

Task の ERROR_INTEGRATION プロパティを設定します。次の例では、データソース名は test_1 です。

CREATE TASK my_daily_task WAREHOUSE = 'compute_wh' SCHEDULE = USING CRON '0 0 9 * * *' 'America/Los_Angeles' COMMENT = 'Daily summary task' ERROR_INTEGRATION = 'test_1' AS INSERT INTO summary_table SELECT * FROM source_table;

タスクフロー UI で設定する

作成ページまたは編集ページで、Error Notification を対応する FeiShuBot データソースに設定します。

Task Error テンプレートをカスタマイズする

デフォルトテンプレート:

**[ALERT] {{ .MessageType }} - {{ .TaskName }}** --- taskId: {{ .TaskId }} taskName: {{ .TaskName }} tenantId: {{ .TenantId }} Messages: {{ range .Messages }} - runId: {{ .RunId }} queryId: {{ .QueryId }} error: {{ .ErrorKind }} ({{ .ErrorCode }}) message: {{ .ErrorMessage }} {{ end }} --- {{ .Timestamp }}

受信されるメッセージは、次のようになります。

FeiShu 通知の例

カスタムテンプレートでサポートされる内容:

  • Markdown コンテンツ
  • Golang テンプレート構文

使用可能な変数は次のとおりです。

type ErrorIntegrationPayload struct { Version string `json:"version"` MessageId string `json:"messageId"` MessageType string `json:"messageType"` Timestamp time.Time `json:"timestamp"` TenantId string `json:"tenantId"` TaskName string `json:"taskName"` TaskId string `json:"taskId"` RootTaskName string `json:"rootTaskName"` RootTaskId string `json:"rootTaskId"` Messages []*ErrorMessage `json:"messages"` } type ErrorMessage struct { RunId string `json:"runId"` ScheduledTime time.Time `json:"scheduledTime"` QueryStartTime *time.Time `json:"queryStartTime"` CompletedTime *time.Time `json:"completedTime"` QueryId string `json:"queryId"` ErrorKind string `json:"errorKind"` ErrorCode string `json:"errorCode"` ErrorMessage string `json:"errorMessage"` }

注意事項

FeiShuBot は通知用途のデータソースです。これは、ビジネスデータを TiDB Cloud Lake にロードするためには使用されません。

このページは役に立ちましたか?