変換APIの開始
変換を開始します。
リクエスト
POST _transform/<transform_id>/_start
前提条件
次の権限が必要です:
- クラスター:
manage_transform
(transform_admin
ビルトインロールがこの権限を付与します)
説明
変換を開始すると、既に存在しない場合は宛先インデックスが作成されます。number_of_shards
は 1
に設定され、auto_expand_replicas
は 0-1
に設定されます。
ピボット変換の場合、ソースインデックスと変換集約から宛先インデックスのマッピング定義を推測します。宛先インデックスのフィールドがスクリプトから派生している場合(scripted_metric
または bucket_script
集約の場合)、インデックステンプレートが存在しない限り、変換は 動的マッピング を使用します。
最新の変換の場合、マッピング定義は推測されず、動的マッピングが使用されます。
明示的なマッピングを使用するには、変換を開始する前に宛先インデックスを作成します。あるいは、インデックステンプレートを作成することもできますが、ピボット変換における推測されたマッピングには影響しません。
変換が開始されると、一連の検証が行われて成功を確保します。変換を作成したときに検証を遅延させた場合、変換を開始するときにそれらが行われます—権限チェックを除いて。Elasticsearchのセキュリティ機能が有効になっている場合、変換は作成時にユーザーが持っていたロールを記憶し、それらのロールを使用します。これらのロールがソースおよび宛先インデックスに必要な権限を持っていない場合、変換は不正な操作を試みると失敗します。
パスパラメータ
<transform_id>
- (必須、文字列) 変換の識別子。
クエリパラメータ
from
- (オプション、文字列) この時間以降に変更された変換されたエンティティのセットを制限します。相対時間(例:now-30d)がサポートされています。継続的な変換にのみ適用されます。
timeout
- (オプション、時間) 応答を待つ期間。タイムアウトが切れる前に応答が受信されない場合、リクエストは失敗し、エラーが返されます。デフォルトは
30s
です。
例
Python
resp = client.transform.start_transform(
transform_id="ecommerce_transform",
)
print(resp)
Ruby
response = client.transform.start_transform(
transform_id: 'ecommerce_transform'
)
puts response
Js
const response = await client.transform.startTransform({
transform_id: "ecommerce_transform",
});
console.log(response);
コンソール
POST _transform/ecommerce_transform/_start
コンソール-結果
{
"acknowledged" : true
}