スナップショットAPIの作成
クラスターまたは指定されたデータストリームとインデックスのスナップショットを取得します。
Python
resp = client.snapshot.create(
repository="my_repository",
snapshot="my_snapshot",
)
print(resp)
Ruby
response = client.snapshot.create(
repository: 'my_repository',
snapshot: 'my_snapshot'
)
puts response
Js
const response = await client.snapshot.create({
repository: "my_repository",
snapshot: "my_snapshot",
});
console.log(response);
コンソール
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
- 隠しデータストリームとインデックスに一致します。
open
、closed
、またはその両方と組み合わせる必要があります。 none
- ワイルドカードパターンを展開しません。
ignore_unavailable
- (オプション、Boolean)
false
の場合、indices
にあるデータストリームまたはインデックスが欠落していると、スナップショットは失敗します。true
の場合、スナップショットは欠落しているデータストリームとインデックスを無視します。デフォルトはfalse
です。 include_global_state
- (オプション、Boolean)
true
の場合、スナップショットにクラスター状態を含めます。デフォルトはtrue
です。クラスター状態には次のものが含まれます:- 永続的なクラスター設定
- インデックステンプレート
- レガシーインデックステンプレート
- インジェストパイプライン
- ILMポリシー
- 保存されたスクリプト
- 7.12.0以降に取得されたスナップショットの機能状態
indices
(オプション、文字列または文字列の配列) スナップショットに含めるデータストリームとインデックスのカンマ区切りリスト。 マルチターゲット構文をサポートします。デフォルトは空の配列(
[]
)で、すべての通常のデータストリームと通常のインデックスが含まれます。すべてのデータストリームとインデックスを除外するには、-*
を使用します。
このパラメータを使用して、スナップショットからシステムインデックスまたはシステムデータストリームを含めたり除外したりすることはできません。代わりにfeature_states
を使用してください。feature_states
- (オプション、文字列の配列) スナップショットに含める機能状態。可能な値とその説明のリストを取得するには、機能を取得するAPIを使用してください。
include_global_state
がtrue
の場合、スナップショットはデフォルトですべての機能状態を含みます。include_global_state
がfalse
の場合、スナップショットはデフォルトで機能状態を含みません。
空の配列を指定すると、デフォルトの動作になります。include_global_state
の値に関係なくすべての機能状態を除外するには、none
の値のみを持つ配列を指定します(["none"]
)。 metadata
(オプション、オブジェクト) スナップショットに任意のメタデータを添付します。たとえば、スナップショットを取得した人、なぜ取得されたのか、またはその他の有用なデータの記録などです。メタデータは1024バイト未満である必要があります。
partial
- (オプション、Boolean)
false
の場合、スナップショットに含まれるインデックスの1つ以上のプライマリシャードが利用できない場合、スナップショット全体が失敗します。デフォルトはfalse
です。true
の場合、利用できないシャードを持つインデックスの部分スナップショットを取得することを許可します。
例
次のリクエストはindex_1
とindex_2
のスナップショットを取得します。
Python
resp = client.snapshot.create(
repository="my_repository",
snapshot="snapshot_2",
wait_for_completion=True,
indices="index_1,index_2",
ignore_unavailable=True,
include_global_state=False,
metadata={
"taken_by": "user123",
"taken_because": "backup before upgrading"
},
)
print(resp)
Ruby
response = client.snapshot.create(
repository: 'my_repository',
snapshot: 'snapshot_2',
wait_for_completion: true,
body: {
indices: 'index_1,index_2',
ignore_unavailable: true,
include_global_state: false,
metadata: {
taken_by: 'user123',
taken_because: 'backup before upgrading'
}
}
)
puts response
Js
const response = await client.snapshot.create({
repository: "my_repository",
snapshot: "snapshot_2",
wait_for_completion: "true",
indices: "index_1,index_2",
ignore_unavailable: true,
include_global_state: false,
metadata: {
taken_by: "user123",
taken_because: "backup before upgrading",
},
});
console.log(response);
コンソール
PUT /_snapshot/my_repository/snapshot_2?wait_for_completion=true
{
"indices": "index_1,index_2",
"ignore_unavailable": true,
"include_global_state": false,
"metadata": {
"taken_by": "user123",
"taken_because": "backup before upgrading"
}
}
コンソール-結果
{
"snapshot": {
"snapshot": "snapshot_2",
"uuid": "vdRctLCxSketdKb54xw67g",
"repository": "my_repository",
"version_id": <version_id>,
"version": <version>,
"indices": [],
"data_streams": [],
"feature_states": [],
"include_global_state": false,
"metadata": {
"taken_by": "user123",
"taken_because": "backup before upgrading"
},
"state": "SUCCESS",
"start_time": "2020-06-25T14:00:28.850Z",
"start_time_in_millis": 1593093628850,
"end_time": "2020-06-25T14:00:28.850Z",
"end_time_in_millis": 1593094752018,
"duration_in_millis": 0,
"failures": [],
"shards": {
"total": 0,
"failed": 0,
"successful": 0
}
}
}