メインコンテンツへスキップ

DeleteObjectCommand

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 操作が成功した場合、このフィールドは未定義です。

使用例

次の例は、SpaceClient を初期化し、DeleteObjectCommand を使用してスペースのルートディレクトリから notes.txt という名前のファイルを削除する方法を示しています。

delete-file.ts

typescript
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(),
    },
  });

  // 削除するオブジェクトのキーを指定する
  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 のインスタンスを作成します。次に、削除するオブジェクトの key を提供して DeleteObjectCommand をインスタンス化します。コマンドを送信した後、レスポンスの statusCode をチェックして、削除が成功したことを確認します。

ベストプラクティスと一般的なパターン

削除の確認

オブジェクトの削除は永続的な操作であるため、アプリケーションのロジックが削除対象のオブジェクトを正しく識別することが重要です。ユーザー向けのアプリケーションでは、このコマンドを実行する前に確認ステップを実装することを検討してください。

「見つかりません」エラーの処理

存在しないオブジェクトを削除しようとすると、エラー(通常は 404 Not Found ステータス)が発生します。アプリケーションはこれを適切に処理する必要があります。オブジェクトの存在が不確かな場合は、削除を試みる前に ListObjectsCommand を使用してオブジェクトが存在するかどうかを確認することをお勧めします。これにより、不要な API 呼び出しやエラーを防ぐことができます。