Skip to content
Last updated

プールルールを管理する

プールルールは、アテンプトが作成されたときにどのプールに割り当てるかを決定します。各ルールは、優先度、1 つまたは 2 つの条件、および条件に一致したアテンプトを割り当てるプールの ID で構成されます。各エンドポイントの完全なリクエストとレスポンスのスキーマについては、 Treasure Workflow API リファレンスを参照してください。

前提条件

  • Treasure AI アカウント管理者の権限
  • マスター API キー
  • プールを管理するの手順で作成したカスタムプールが少なくともひとつ存在すること
  • リージョンに対応した Treasure Workflow API のベース URL 。全リストについてはエンドポイントを参照してください。本ページの例では US エンドポイント https://api-workflow.treasuredata.com を使用しています。

ルールの評価方法

アテンプトが作成されると、 Treasure Workflow はアカウントのルールを優先度順(値の小さい順から大きい順)にひとつずつ評価します。ルールが一致したとみなされるには、そのルール内のすべての条件が一致する必要があります。最初に一致したルールが採用され、アテンプトはそのルールのプールに割り当てられます。どのルールにも一致しない場合、アテンプトはデフォルトプールに割り当てられます。

一度割り当てられたアテンプトは、後からルールを更新しても割り当て先のプールが変わることはありません。

優先度は一意

同一アカウント内の 2 つのルールが同じ優先度の値を共有することはできません。優先度は 1 から 10000 の範囲で指定する必要があります。

条件の種類

ルールには 1 つまたは 2 つの条件を指定できます。サポートされる条件の種類を以下に示します。

project_name

アテンプトのプロジェクト名が、指定したオペレーターを使って指定値のいずれかと一致する場合にマッチします。

{
  "type": "project_name",
  "operator": "starts_with",
  "values": ["jp_", "kr_"]
}

サポートされるオペレーターは starts_with のみです。これは、プロジェクト名が values のいずれかの値で始まる場合に true を返します。

workflow_name

アテンプトのワークフロー名が、指定したオペレーターを使って指定値のいずれかと一致する場合にマッチします。

{
  "type": "workflow_name",
  "operator": "starts_with",
  "values": ["behavior_", "import_"]
}

サポートされるオペレーターは starts_with のみです。これは、ワークフロー名が values のいずれかの値で始まる場合に true を返します。

workflow_type

アテンプトのワークフロータイプが、指定したシステムワークフロータイプのいずれかと一致する場合にマッチします。 workflow_type 条件は operator フィールドを取りません。アテンプトのワークフロータイプが values のいずれかの値と一致する場合に条件が満たされます。

{
  "type": "workflow_type",
  "values": ["audience", "customer_journey"]
}

サポートされるワークフロータイプは次のとおりです。

説明
ab_testA/B テストワークフロー
audienceAudience ワークフロー
customer_journeyJourney ワークフロー
predictive_scoringPredictive scoring ワークフロー
realtimeReal-time 2.0 ワークフロー
segment_insightSegment insight ワークフロー
syndicationActivation ワークフロー

invocation_type

アテンプトの起動タイプが指定値のいずれかと一致する場合にマッチします。 invocation_type 条件は operator フィールドを取りません。アテンプトの起動タイプが values のいずれかの値と一致する場合に条件が満たされます。

{
  "type": "invocation_type",
  "values": ["scheduled"]
}

サポートされる値は次のとおりです。

  • scheduled: アテンプトがワークフローのスケジュールによって起動された場合。
  • on_demand: アテンプトがスケジュール以外の方法で起動された場合(たとえば、クライアントまたは Data Workbench からの API 呼び出しや、バックフィルなど)。

起動タイプは require> およびワークフロートリガーを通じて継承されます。アテンプト A がスケジュールによって起動され、 A が require> でアテンプト B を起動し、 B がワークフロートリガーでアテンプト C を起動した場合、 A 、 B 、 C のすべての起動タイプは scheduled になります。

ルールを作成する

curl -X POST \
    -H 'Authorization: TD1 <api_key>' \
    -H 'Content-Type: application/json' \
    -d '{
      "priority": 30,
      "poolId": "2",
      "conditions": [
        {"type": "project_name", "operator": "starts_with", "values": ["jp_"]}
      ]
    }' \
    https://api-workflow.treasuredata.com/api/pool_rules

ルールを一覧表示する

curl -H 'Authorization: TD1 <api_key>' \
    https://api-workflow.treasuredata.com/api/pool_rules

ルールを取得する

curl -H 'Authorization: TD1 <api_key>' \
    https://api-workflow.treasuredata.com/api/pool_rules/<pool_rule_id>

ルールを更新する

curl -X PATCH \
    -H 'Authorization: TD1 <api_key>' \
    -H 'Content-Type: application/json' \
    -d '{
      "conditions": [
        {"type": "project_name", "operator": "starts_with", "values": ["jp_", "kr_"]}
      ]
    }' \
    https://api-workflow.treasuredata.com/api/pool_rules/<pool_rule_id>

ルールを削除する

curl -X DELETE \
    -H 'Authorization: TD1 <api_key>' \
    https://api-workflow.treasuredata.com/api/pool_rules/<pool_rule_id>

実例

あるアカウントに次の 3 つのルールがあるとします。

// ルール A
{
  "priority": 10,
  "poolId": "34",
  "conditions": [
    {"type": "project_name", "operator": "starts_with", "values": ["jp_", "kr_"]}
  ]
}

// ルール B
{
  "priority": 20,
  "poolId": "41",
  "conditions": [
    {"type": "project_name", "operator": "starts_with", "values": ["eu_"]},
    {"type": "workflow_name", "operator": "starts_with", "values": ["campaign_"]}
  ]
}

// ルール C
{
  "priority": 30,
  "poolId": "59",
  "conditions": [
    {"type": "project_name", "operator": "starts_with", "values": ["us_"]}
  ]
}

Treasure Workflow は次の順序でルールを評価します。

  1. ルール A は、プロジェクト名が jp_ または kr_ で始まる場合にマッチします。マッチしたアテンプトは ID が 34 のプールに割り当てられます。
  2. ルール B は、プロジェクト名が eu_ で始まりかつワークフロー名が campaign_ で始まる場合にマッチします。マッチしたアテンプトは ID が 41 のプールに割り当てられます。
  3. ルール C は、プロジェクト名が us_ で始まる場合にマッチします。マッチしたアテンプトは ID が 59 のプールに割り当てられます。
  4. どのルールにもマッチしない場合、アテンプトはデフォルトプールに割り当てられます。

ルール管理の操作は Premium Audit Log のイベントとして記録されます。イベント名とそれぞれが対象とする操作については Premium Audit Log イベントを参照してください。

次のステップ

ルールを設定したら、プールが満杯になったときの動作を理解するためにアテンプトのキューイングを確認してください。