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 调用和错误。