このセクションでは、Blocklet Server内のデータ管理および運用タスクに関するミューテーションについて詳しく説明します。主にバックアップの作成と管理、データ構造の移行に焦点を当てています。これらの操作は、データの整合性、更新、および災害復旧にとって重要です。
バックアップとログに関連するクエリについては、データとオペレーションのクエリのドキュメントを参照してください。
backupBlocklet
指定されたblockletのバックアッププロセスを開始します。バックアップはローカルディスクまたは設定されたDID Spaceのいずれかに保存できます。これは、バックグラウンドでバックアップジョブを開始する非同期操作です。
パラメータ
- input
RequestBackupBlockletInput(required) — backupBlockletミューテーションの入力オブジェクト。- appDid
string(required) — バックアップされるblockletのDID。 - to
BackupTo(required) — バックアップの保存先。spacesまたはdiskのいずれかである必要があります。
- appDid
戻り値
GeneralResponseオブジェクトを返し、リクエストのステータスを示します。
- backupBlocklet
GeneralResponse— ミューテーションからのレスポンスオブジェクト。- code
StatusCode— バックアップジョブが正常に開始された場合にokを返します。
- code
例
Blockletをディスクにバックアップ
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function createBackup() {
try {
const response = await client.backupBlocklet({
input: {
appDid: 'z8iZpA6x8CRsBAbg9s33i1WkGHxGTCYxP81G',
to: 'disk',
},
});
console.log('Backup initiated:', response.code);
} catch (error) {
console.error('Error initiating backup:', error);
}
}
createBackup();レスポンス例
{
"backupBlocklet": {
"code": "ok"
}
}この例では、特定のblockletのバックアッププロセスを開始し、バックアップをローカルディスクに保存する方法を示します。
abortBlockletBackup
特定のblockletの進行中のバックアップ操作を中止します。これは、実行時間の長いバックアップをキャンセルするのに役立ちます。
パラメータ
- input
RequestAbortBlockletBackupInput(required) — abortBlockletBackupミューテーションの入力オブジェクト。- appPid
string(required) — バックアップを中止すべきblockletのプロセスID(blockletのDID)。
- appPid
戻り値
GeneralResponseオブジェクトを返し、リクエストのステータスを示します。
- abortBlockletBackup
GeneralResponse— ミューテーションからのレスポンスオブジェクト。- code
StatusCode— バックアップの中止が正常にリクエストされた場合にokを返します。
- code
例
バックアップを中止
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function cancelBackup(blockletDid) {
try {
const response = await client.abortBlockletBackup({
input: {
appPid: blockletDid,
},
});
console.log('Backup cancellation requested:', response.code);
} catch (error) {
console.error('Error aborting backup:', error);
}
}
cancelBackup('z8iZpA6x8CRsBAbg9s33i1WkGHxGTCYxP81G');レスポンス例
{
"abortBlockletBackup": {
"code": "ok"
}
}この例では、指定されたblockletの実行中のバックアップをキャンセルする方法を示します。
restoreBlocklet
バックアップからblockletを復元します。バックアップのソースはローカルディスクまたはDID Spaceのいずれかです。この操作は、既存のblockletデータが存在する場合、それを上書きします。
パラメータ
- input
RequestRestoreBlockletInput(required) — restoreBlockletミューテーションの入力オブジェクト。- appDid
string(required) — 復元するblockletのDID。 - appPid
string(required) — 復元されるblockletのプロセスID(DID)。 - from
BackupTo(required) — バックアップのソース。spacesまたはdiskのいずれかである必要があります。 - endpoint
string— バックアップエンドポイントのURL。spacesから復元する場合に必要です。 - delegation
string— オプション。バックアップにアクセスするためのデリゲーション情報。 - password
Bytes— オプション。バックアップが暗号化されている場合に、それを復号化するためのパスワード。 - wallet
any— オプション。必要な場合に認証するためのウォレットオブジェクト。
- appDid
戻り値
GeneralResponseオブジェクトを返し、リクエストのステータスを示します。
- restoreBlocklet
GeneralResponse— ミューテーションからのレスポンスオブジェクト。- code
StatusCode— 復元ジョブが正常に開始された場合にokを返します。
- code
例
ディスクから復元
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function restoreFromBackup() {
try {
const response = await client.restoreBlocklet({
input: {
appDid: 'z8iZpA6x8CRsBAbg9s33i1WkGHxGTCYxP81G',
appPid: 'z8iZpA6x8CRsBAbg9s33i1WkGHxGTCYxP81G',
from: 'disk',
},
});
console.log('Restore initiated:', response.code);
} catch (error) {
console.error('Error initiating restore:', error);
}
}
restoreFromBackup();レスポンス例
{
"restoreBlocklet": {
"code": "ok"
}
}この例では、ローカルディスクのバックアップからblockletの復元プロセスを開始する方法を示します。
migrateApplicationToStructV2
アプリケーションを古いデータ構造からV2構造に移行します。これは通常、古いblockletがコンポーネント化や強化されたバックアップ/復元機能などの新しい機能をサポートするために必要な一回限りの操作です。
パラメータ
- input
RequestMigrateApplicationToStructV2Input(required) — 移行ミューテーションの入力オブジェクト。- did
string(required) — 移行するアプリケーションのDID。 - appSk
string(required) — アプリケーションのシークレットキー。
- did
戻り値
GeneralResponseオブジェクトを返し、リクエストのステータスを示します。
- migrateApplicationToStructV2
GeneralResponse— ミューテーションからのレスポンスオブジェクト。- code
StatusCode— 移行が成功した場合にokを返します。
- code
例
アプリケーションを移行
import BlockletServerClient from '@blocklet/server-js';
const client = new BlockletServerClient();
async function migrateApp(appDid, appSecretKey) {
try {
const response = await client.migrateApplicationToStructV2({
input: {
did: appDid,
appSk: appSecretKey,
},
});
console.log('Migration successful:', response.code);
} catch (error) {
console.error('Error migrating application:', error);
}
}
migrateApp('z8iZpA6x8CRsBAbg9s33i1WkGHxGTCYxP81G', 'your_app_secret_key');レスポンス例
{
"migrateApplicationToStructV2": {
"code": "ok"
}
}この例では、古いアプリケーションのデータ構造の移行をトリガーする方法を示します。