スナップショットAPIの作成

クラスターまたは指定されたデータストリームとインデックスのスナップショットを取得します。

Python

  1. resp = client.snapshot.create(
  2. repository="my_repository",
  3. snapshot="my_snapshot",
  4. )
  5. print(resp)

Ruby

  1. response = client.snapshot.create(
  2. repository: 'my_repository',
  3. snapshot: 'my_snapshot'
  4. )
  5. puts response

Js

  1. const response = await client.snapshot.create({
  2. repository: "my_repository",
  3. snapshot: "my_snapshot",
  4. });
  5. console.log(response);

コンソール

  1. PUT /_snapshot/my_repository/my_snapshot

リクエスト

PUT /_snapshot/<repository>/<snapshot>

POST /_snapshot/<repository>/<snapshot>

前提条件

  • Elasticsearchのセキュリティ機能が有効になっている場合、このAPIを使用するにはcreate_snapshotまたはmanage クラスター権限が必要です。

パスパラメータ

  • <repository>
  • (必須、文字列) スナップショットリポジトリの名前。
  • <snapshot>
  • (必須、文字列) スナップショットの名前。 日付数学をサポートします。スナップショットリポジトリ内で一意である必要があります。

クエリパラメータ

  • master_timeout
  • (オプション、時間単位) マスターノードを待機する期間。タイムアウトが切れる前にマスターノードが利用できない場合、リクエストは失敗し、エラーが返されます。デフォルトは30sです。リクエストがタイムアウトしないことを示すために-1に設定することもできます。
  • wait_for_completion
  • (オプション、Boolean) trueの場合、スナップショットが完了したときにリクエストが応答を返します。falseの場合、スナップショットが初期化されたときにリクエストが応答を返します。デフォルトはfalseです。

リクエストボディ

  • expand_wildcards
  • (オプション、文字列) indicesパラメータのワイルドカードパターンがデータストリームとインデックスにどのように一致するかを決定します。open,hiddenのようなカンマ区切りの値をサポートします。デフォルトはallです。有効な値は次のとおりです:
    • all
    • すべてのデータストリームまたはインデックスに一致します。閉じたものや隠しものを含みます。
    • open
    • 開いているインデックスとデータストリームに一致します。
    • closed
    • 閉じたインデックスとデータストリームに一致します。
    • hidden
    • 隠しデータストリームとインデックスに一致します。openclosed、またはその両方と組み合わせる必要があります。
    • none
    • ワイルドカードパターンを展開しません。
  • ignore_unavailable
  • (オプション、Boolean) falseの場合、indicesにあるデータストリームまたはインデックスが欠落していると、スナップショットは失敗します。trueの場合、スナップショットは欠落しているデータストリームとインデックスを無視します。デフォルトはfalseです。
  • include_global_state
  • (オプション、Boolean) trueの場合、スナップショットにクラスター状態を含めます。デフォルトはtrueです。クラスター状態には次のものが含まれます:
  • indices
  • (オプション、文字列または文字列の配列) スナップショットに含めるデータストリームとインデックスのカンマ区切りリスト。 マルチターゲット構文をサポートします。デフォルトは空の配列([])で、すべての通常のデータストリームと通常のインデックスが含まれます。すべてのデータストリームとインデックスを除外するには、-*を使用します。
    このパラメータを使用して、スナップショットからシステムインデックスまたはシステムデータストリームを含めたり除外したりすることはできません。代わりにfeature_statesを使用してください。

  • feature_states
  • (オプション、文字列の配列) スナップショットに含める機能状態。可能な値とその説明のリストを取得するには、機能を取得するAPIを使用してください。
    include_global_statetrueの場合、スナップショットはデフォルトですべての機能状態を含みます。include_global_statefalseの場合、スナップショットはデフォルトで機能状態を含みません。
    空の配列を指定すると、デフォルトの動作になります。include_global_stateの値に関係なくすべての機能状態を除外するには、noneの値のみを持つ配列を指定します(["none"])。
  • metadata
  • (オプション、オブジェクト) スナップショットに任意のメタデータを添付します。たとえば、スナップショットを取得した人、なぜ取得されたのか、またはその他の有用なデータの記録などです。メタデータは1024バイト未満である必要があります。

  • partial
  • (オプション、Boolean) falseの場合、スナップショットに含まれるインデックスの1つ以上のプライマリシャードが利用できない場合、スナップショット全体が失敗します。デフォルトはfalseです。
    trueの場合、利用できないシャードを持つインデックスの部分スナップショットを取得することを許可します。

次のリクエストはindex_1index_2のスナップショットを取得します。

Python

  1. resp = client.snapshot.create(
  2. repository="my_repository",
  3. snapshot="snapshot_2",
  4. wait_for_completion=True,
  5. indices="index_1,index_2",
  6. ignore_unavailable=True,
  7. include_global_state=False,
  8. metadata={
  9. "taken_by": "user123",
  10. "taken_because": "backup before upgrading"
  11. },
  12. )
  13. print(resp)

Ruby

  1. response = client.snapshot.create(
  2. repository: 'my_repository',
  3. snapshot: 'snapshot_2',
  4. wait_for_completion: true,
  5. body: {
  6. indices: 'index_1,index_2',
  7. ignore_unavailable: true,
  8. include_global_state: false,
  9. metadata: {
  10. taken_by: 'user123',
  11. taken_because: 'backup before upgrading'
  12. }
  13. }
  14. )
  15. puts response

Js

  1. const response = await client.snapshot.create({
  2. repository: "my_repository",
  3. snapshot: "snapshot_2",
  4. wait_for_completion: "true",
  5. indices: "index_1,index_2",
  6. ignore_unavailable: true,
  7. include_global_state: false,
  8. metadata: {
  9. taken_by: "user123",
  10. taken_because: "backup before upgrading",
  11. },
  12. });
  13. console.log(response);

コンソール

  1. PUT /_snapshot/my_repository/snapshot_2?wait_for_completion=true
  2. {
  3. "indices": "index_1,index_2",
  4. "ignore_unavailable": true,
  5. "include_global_state": false,
  6. "metadata": {
  7. "taken_by": "user123",
  8. "taken_because": "backup before upgrading"
  9. }
  10. }

APIは次の応答を返します:

コンソール-結果

  1. {
  2. "snapshot": {
  3. "snapshot": "snapshot_2",
  4. "uuid": "vdRctLCxSketdKb54xw67g",
  5. "repository": "my_repository",
  6. "version_id": <version_id>,
  7. "version": <version>,
  8. "indices": [],
  9. "data_streams": [],
  10. "feature_states": [],
  11. "include_global_state": false,
  12. "metadata": {
  13. "taken_by": "user123",
  14. "taken_because": "backup before upgrading"
  15. },
  16. "state": "SUCCESS",
  17. "start_time": "2020-06-25T14:00:28.850Z",
  18. "start_time_in_millis": 1593093628850,
  19. "end_time": "2020-06-25T14:00:28.850Z",
  20. "end_time_in_millis": 1593094752018,
  21. "duration_in_millis": 0,
  22. "failures": [],
  23. "shards": {
  24. "total": 0,
  25. "failed": 0,
  26. "successful": 0
  27. }
  28. }
  29. }