Cast 仕様 #
トリガー #
条件 #
次の条件を指定できます。
- 検出したデータが条件を満たしたとき
- 指定がないときは無条件
- 2 つ以上指定されているときは AND 条件
データの条件はキー、比較演算子、値の組で指定できます。 型によって許可される比較演算子が異なる点に注意してください。
- string
==
!=
- number / integer
>
<
>=
<=
==
- boolean
==
アクション #
選択可能なアクション #
現在選択可能なアクションは Webhook と BigQuery の 2 種類です。
Webhook #
Webhook では次のパラメータが設定できます。
- URL
- 必須
- Cast 対象サービスの URL を指定します
- Method
- 必須
- Headers
- 複数指定可能
Content-Type
のみいずれかの値が必須application/json
application/x-www-form-urlencoded
text/plain
- Body
- JSON
- テンプレートを用いたデータの埋め込み
- Rate Limit(s)
- 必須
テンプレート #
Actcast はテンプレート内に記述された変数名をもとに値を取得し、Body に埋め込みます。
Body
には次のように、二重括弧({{
、}}
)によるテンプレートを使用します。
{
"label": "{{ data.label }}"
}
- 二重括弧(
{{
,}}
)内には任意で空白を挿入できます(空白は保存されません) - 二重括弧(
{{
,}}
)はエスケープできません - ループや条件分岐などの構文はサポートされません
使用可能な変数は Insert Variable
メニューから確認、選択できます。
詳細は Cast で使用可能な変数 を参照してください。
Rate Limit #
Cast を送出する間隔(秒)の下限値を設定します。制限を課したくない場合は空欄にします。 (Cast 対象サービス側が対応していない場合はエラーになります。)
詳細は Webhook Cast の rate limit を参照してください。
BigQuery #
BigQuery では次のパラメータが設定できます。なお、BigQuery サンドボックスでの利用はできません。
- Table ID
- 必須
- Cast 対象の BigQuery テーブルのテーブル ID を指定します
- Service Account Key
- 必須
- JSON
- Cast 先のテーブルを持つデータセットに対する以下の権限がサービスアカウントに付与されている必要があります
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.tables.get
bigquery.tables.updateData
テーブルスキーマ #
Cast 先となる BigQuery テーブルのスキーマは固定です。 ただし、Act の Cast を受ける場合と System Cast を受ける場合とではスキーマは異なります。 Cast の場合、詳細は BigQuery のテーブルスキーマ を参照してください。 System Cast の場合は BigQuery のテーブルスキーマ(System Cast) を参照してください。
注意事項 #
Act Log
の重複送信について
#
Act Log
は 2 回以上 Cast される可能性があります。
重複を判定する方法 #
Act Log
は以下の全ての値が同じであれば重複したものであると判定できます。
{{act_id}}
{{cast_id}}
{{detected_at}}
{{device.id}}
{{sequence_number}}
{{act_log_index}}