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"} ] }
リクエストには以下のフィールドが含まれます。
Field | 型 | 説明 |
---|---|---|
shards | 配列 | ダウンロードするシャードとダウンロード元を記述したShard Descriptorオブジェクト(以下の説明を参照)のリスト。 |
validate
のフィールドは廃止予定であり、今後予告なしに削除される可能性があります。rippled
は全てのシャードの検証を実行します。
shards
配列の各Shard Descriptorオブジェクトには以下のフィールドが含まれています。
レスポンスのフォーマット
処理が成功したレスポンスの例:
{ "result": { "message": "downloading shards 1-2,5" }, "status": "success", "type": "response" }
このレスポンスは標準フォーマットに従っており、正常に完了した場合は結果に次のフィールドが含まれます。
Field | 型 | 説明 |
---|---|---|
message | 文字列 | このリクエストに対応して実行されたアクションを説明するメッセージ。 |
ヒント
サーバで使用可能なシャードを確認するには、crawl_shardsメソッドを使用します。または、シャードストアーとして設定されたロケーションのサブフォルダー(
rippled.cfg
の[shard_db]
のpath
パラメーター)を調べます。フォルダーには、シャードの番号に対応する名前が付いています。これらのフォルダーの1つに、シャードが未完了であることを示すcontrol.txt
ファイルが含まれていることがあります。考えられるエラー
- いずれかの汎用エラータイプ。
notEnabled
- サーバでシャードストアーを使用するように設定されていません。tooBusy
- サーバはすでに、ピアツーピアネットワークから、または以前のdownload_shard
リクエストの結果として、シャードをダウンロード中です。invalidParams
- リクエストで1つ以上の必須フィールドが省略されていたか、または指定されたフィールドのデータタイプが誤っています。