download_shard
サーバーに対し、外部ソースから特定の履歴レジャーデータのシャードをダウンロードするように指示します。rippled
サーバーで履歴シャードが保管されるように設定する必要があります。
download_shard
メソッドは、権限のないユーザーは実行できない管理メソッドです。
外部ソースからHTTPSを使用してシャードがlz4圧縮 tarアーカイブ として提供される必要があります。アーカイブには、NuDB形式のシャードディレクトリとデータファイルが含まれている必要があります。
通常、このメソッドを使用してシャードをダウンロードしてインポートすれば、ピアツーピアネットワークからシャードを個別に取得するよりも短い時間で取得できます。また、サーバーから提供される特定範囲のシャードまたはシャードのセットを選択する場合にもこのメソッドを使用できます。
要求フォーマット
要求フォーマットの例:
{
"command": "download_shard",
"shards": [
{"index": 1, "url": "https://example.com/1.tar.lz4"},
{"index": 2, "url": "https://example.com/2.tar.lz4"},
{"index": 5, "url": "https://example.com/5.tar.lz4"}
]
}
{
"method": "download_shard",
"params": [
{
"shards": [
{"index": 1, "url": "https://example.com/1.tar.lz4"},
{"index": 2, "url": "https://example.com/2.tar.lz4"},
{"index": 5, "url": "https://example.com/5.tar.lz4"}
]
}
]
}
要求には以下のフィールドが含まれます。
Field |
型 | 説明 |
---|---|---|
shards |
配列 | ダウンロードするシャードとダウンロード元を記述したShard Descriptorオブジェクト(以下の説明を参照)のリスト。 |
validate
のフィールドは廃止予定であり、今後予告なしに削除される可能性があります。rippled
は全てのシャードの検証を実行します。
shards
配列の各Shard Descriptorオブジェクトには以下のフィールドが含まれています。
応答フォーマット
処理が成功した応答の例:
{
"result": {
"message": "downloading shards 1-2,5"
},
"status": "success",
"type": "response"
}
200 OK
{
"result": {
"message": "downloading shards 1-2,5",
"status": "success"
}
}
この応答は標準フォーマットに従っており、正常に完了した場合は結果に次のフィールドが含まれます。
Field |
型 | 説明 |
---|---|---|
message |
文字列 | この要求に対応して実行されたアクションを説明するメッセージ。 |
ヒント: サーバーで使用可能なシャードを確認するには、[crawl_shardsメソッド[]を使用します。または、シャードストアーとして設定されたロケーションのサブフォルダー(rippled.cfg
の[shard_db]
のpath
パラメーター)を調べます。フォルダーには、シャードの番号に対応する名前が付いています。これらのフォルダーの1つに、シャードが未完了であることを示すcontrol.txt
ファイルが含まれていることがあります。
考えられるエラー
- いずれかの汎用エラータイプ。
notEnabled
- サーバーでシャードストアーを使用するように設定されていません。tooBusy
- サーバーはすでに、ピアツーピアネットワークから、または以前のdownload_shard
要求の結果として、シャードをダウンロード中です。invalidParams
- 要求で1つ以上の必須フィールドが省略されていたか、または指定されたフィールドのデータタイプが誤っています。