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つ以上の必須フィールドが省略されていたか、または指定されたフィールドのデータタイプが誤っています。