変換APIの取得

変換の設定情報を取得します。

リクエスト

GET _transform/<transform_id>

GET _transform/<transform_id>,<transform_id>

GET _transform/

GET _transform/_all

GET _transform/*

前提条件

monitor_transform クラスター権限が必要です。この権限は transform_user ビルトインロールに含まれています。

説明

カンマ区切りの識別子リストまたはワイルドカード式を使用して、単一のAPIリクエストで複数の変換に関する情報を取得できます。_all を使用してすべての変換に関する情報を取得するか、*<transform_id> として指定するか、<transform_id> を省略することで情報を取得できます。

パスパラメータ

  • <transform_id>
  • (オプション、文字列)変換の識別子。変換識別子またはワイルドカード式である可能性があります。これらのオプションのいずれかを指定しない場合、APIはすべての変換に関する情報を返します。

クエリパラメータ

  • allow_no_match
  • (オプション、ブール値)リクエスト時の動作を指定します:
    • ワイルドカード式を含み、一致する変換がない場合。
    • _all 文字列を含むか、識別子がなく、一致がない場合。
    • ワイルドカード式を含み、部分一致のみがある場合。
      デフォルト値は true で、一致がない場合は空の transforms 配列を返し、部分一致がある場合は結果のサブセットを返します。
      このパラメータが false の場合、一致がないか部分一致のみの場合、リクエストは 404 ステータスコードを返します。
  • exclude_generated
  • (オプション、ブール値)変換作成時に自動的に追加されたフィールドを除外します。これにより、設定が取得可能な形式になり、別のクラスターに追加できます。デフォルトはfalseです。
  • from
  • (オプション、整数)指定された数の変換をスキップします。デフォルト値は 0 です。
  • size
  • (オプション、整数)取得する最大変換数を指定します。デフォルト値は 100 です。

レスポンスボディ

APIは、id 値で昇順にソートされた変換リソースの配列を返します。プロパティの完全なリストについては、変換作成APIを参照してください。

  • create_time
  • (文字列)変換が作成された時間。例えば、1576094542936。このプロパティは情報提供用であり、その値を変更することはできません。
  • version
  • (文字列)訓練されたモデルが作成されたときの変換設定バージョン番号。

Elasticsearch 8.10.0以降、変換プラグインの設定と状態の変更を追跡するために新しいバージョン番号が使用されます。この新しいバージョン番号は製品バージョンから切り離されており、独立して増加します。version 値は新しいバージョン番号を表します。

レスポンスコード

  • 404 (リソースが見つかりません)
  • allow_no_matchfalse の場合、このコードはリクエストに一致するリソースがないか、リクエストに対して部分一致のみがあることを示します。

以下の例は、最大10の変換に関する情報を取得します:

Python

  1. resp = client.transform.get_transform(
  2. size="10",
  3. )
  4. print(resp)

Ruby

  1. response = client.transform.get_transform(
  2. size: 10
  3. )
  4. puts response

Js

  1. const response = await client.transform.getTransform({
  2. size: 10,
  3. });
  4. console.log(response);

コンソール

  1. GET _transform?size=10

以下の例は、ecommerce_transform1 変換の設定情報を取得します:

Python

  1. resp = client.transform.get_transform(
  2. transform_id="ecommerce_transform1",
  3. )
  4. print(resp)

Ruby

  1. response = client.transform.get_transform(
  2. transform_id: 'ecommerce_transform1'
  3. )
  4. puts response

Js

  1. const response = await client.transform.getTransform({
  2. transform_id: "ecommerce_transform1",
  3. });
  4. console.log(response);

コンソール

  1. GET _transform/ecommerce_transform1

APIは以下の結果を返します:

コンソール-結果

  1. {
  2. "count" : 1,
  3. "transforms" : [
  4. {
  5. "id" : "ecommerce_transform1",
  6. "authorization" : {
  7. "roles" : [
  8. "superuser"
  9. ]
  10. },
  11. "version" : "8.4.0",
  12. "create_time" : 1656023416565,
  13. "source" : {
  14. "index" : [
  15. "kibana_sample_data_ecommerce"
  16. ],
  17. "query" : {
  18. "term" : {
  19. "geoip.continent_name" : {
  20. "value" : "Asia"
  21. }
  22. }
  23. }
  24. },
  25. "dest" : {
  26. "index" : "kibana_sample_data_ecommerce_transform1",
  27. "pipeline" : "add_timestamp_pipeline"
  28. },
  29. "frequency" : "5m",
  30. "sync" : {
  31. "time" : {
  32. "field" : "order_date",
  33. "delay" : "60s"
  34. }
  35. },
  36. "pivot" : {
  37. "group_by" : {
  38. "customer_id" : {
  39. "terms" : {
  40. "field" : "customer_id"
  41. }
  42. }
  43. },
  44. "aggregations" : {
  45. "max_price" : {
  46. "max" : {
  47. "field" : "taxful_total_price"
  48. }
  49. }
  50. }
  51. },
  52. "description" : "Maximum priced ecommerce data by customer_id in Asia",
  53. "settings" : { },
  54. "retention_policy" : {
  55. "time" : {
  56. "field" : "order_date",
  57. "max_age" : "30d"
  58. }
  59. }
  60. }
  61. ]
  62. }