プールルールは、アテンプトが作成されたときにどのプールに割り当てるかを決定します。各ルールは、優先度、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 つの条件を指定できます。サポートされる条件の種類を以下に示します。
アテンプトのプロジェクト名が、指定したオペレーターを使って指定値のいずれかと一致する場合にマッチします。
{
"type": "project_name",
"operator": "starts_with",
"values": ["jp_", "kr_"]
}サポートされるオペレーターは starts_with のみです。これは、プロジェクト名が values のいずれかの値で始まる場合に true を返します。
アテンプトのワークフロー名が、指定したオペレーターを使って指定値のいずれかと一致する場合にマッチします。
{
"type": "workflow_name",
"operator": "starts_with",
"values": ["behavior_", "import_"]
}サポートされるオペレーターは starts_with のみです。これは、ワークフロー名が values のいずれかの値で始まる場合に true を返します。
アテンプトのワークフロータイプが、指定したシステムワークフロータイプのいずれかと一致する場合にマッチします。 workflow_type 条件は operator フィールドを取りません。アテンプトのワークフロータイプが values のいずれかの値と一致する場合に条件が満たされます。
{
"type": "workflow_type",
"values": ["audience", "customer_journey"]
}サポートされるワークフロータイプは次のとおりです。
| 値 | 説明 |
|---|---|
ab_test | A/B テストワークフロー |
audience | Audience ワークフロー |
customer_journey | Journey ワークフロー |
predictive_scoring | Predictive scoring ワークフロー |
realtime | Real-time 2.0 ワークフロー |
segment_insight | Segment insight ワークフロー |
syndication | Activation ワークフロー |
アテンプトの起動タイプが指定値のいずれかと一致する場合にマッチします。 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_rulescurl -H 'Authorization: TD1 <api_key>' \
https://api-workflow.treasuredata.com/api/pool_rulescurl -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 は次の順序でルールを評価します。
- ルール A は、プロジェクト名が
jp_またはkr_で始まる場合にマッチします。マッチしたアテンプトは ID が 34 のプールに割り当てられます。 - ルール B は、プロジェクト名が
eu_で始まりかつワークフロー名がcampaign_で始まる場合にマッチします。マッチしたアテンプトは ID が 41 のプールに割り当てられます。 - ルール C は、プロジェクト名が
us_で始まる場合にマッチします。マッチしたアテンプトは ID が 59 のプールに割り当てられます。 - どのルールにもマッチしない場合、アテンプトはデフォルトプールに割り当てられます。
ルール管理の操作は Premium Audit Log のイベントとして記録されます。イベント名とそれぞれが対象とする操作については Premium Audit Log イベントを参照してください。
ルールを設定したら、プールが満杯になったときの動作を理解するためにアテンプトのキューイングを確認してください。