DeleteObjectCommand 用於從您的 DID Space 中永久刪除一個物件。此操作不可逆。
此命令是移除單一檔案的標準方法。若要刪除多個物件,您必須為每個物件發出一個單獨的 DeleteObjectCommand。
輸入
此命令需要您希望刪除的物件的 key。
- key
string(required) — 物件在空間內的唯一識別碼。這通常是物件的路徑,例如 path/to/your/file.txt。
輸出
輸出透過 HTTP 狀態碼指示操作是否成功。成功的刪除將返回 200 狀態碼。
- statusCode
number— 回應的 HTTP 狀態碼。值為 200 表示成功。 - statusMessage
string— 對應於狀態碼的 HTTP 狀態訊息。 - data
void— 對於成功的 DeleteObjectCommand 操作,此欄位為 undefined。
使用範例
以下範例示範如何初始化 SpaceClient 並使用 DeleteObjectCommand 從您的空間根目錄中刪除一個名為 notes.txt 的檔案。
delete-file.ts
import { SpaceClient, DeleteObjectCommand } from '@blocklet/did-space-js';
import getWallet from '@blocklet/sdk/lib/wallet';
async function deleteFile() {
// 初始化 SpaceClient
const client = new SpaceClient({
auth: {
endpoint: 'https://www.didspaces.com/app/api/space/...', // 您的空間端點
wallet: getWallet(),
},
});
// 指定要刪除的物件的 key
const fileKey = 'notes.txt';
// 建立並發送刪除命令
const command = new DeleteObjectCommand({ key: fileKey });
const output = await client.send(command);
// 驗證結果
if (output.statusCode === 200) {
console.log(`Successfully deleted object: ${fileKey}`);
} else {
console.error(`Failed to delete object. Status: ${output.statusCode} - ${output.statusMessage}`);
}
}
deleteFile();在此範例中,我們首先使用必要的驗證詳細資訊建立一個 SpaceClient 的實例。然後,我們實例化 DeleteObjectCommand,提供要移除物件的 key。發送命令後,我們檢查回應的 statusCode 以確認刪除是否成功。
最佳實踐與常見模式
確認刪除
由於刪除物件是永久性操作,確保您的應用程式邏輯正確識別要刪除的物件至關重要。在執行此命令之前,請考慮在面向使用者的應用程式中實作一個確認步驟。
處理「未找到」錯誤
嘗試刪除一個不存在的物件將導致錯誤(通常是 404 Not Found 狀態)。您的應用程式應優雅地處理這種情況。如果物件是否存在不確定,您可能希望在嘗試刪除它之前,使用 ListObjectsCommand 檢查物件是否存在。這有助於防止不必要的 API 呼叫和錯誤。