FeaturesCMS SDKバケットの操作

バケットの操作

CMS SDKを使用したバケットの操作方法を説明します。このドキュメントでは以下の内容を解説します。

  • オブジェクトの単体取得・一覧取得
  • ファイルのアップロード
  • オブジェクトの削除

オブジェクトの一覧取得

バケット内のオブジェクト一覧を取得するには、list() を使用します。

const data = await bucketClient.list();

フィルタリング

filter プロパティを使用して、条件に一致するオブジェクトのみを取得できます。

以下の項目でフィルタ可能です。

  • key: オブジェクトのキー
  • group: オブジェクトのグループ

以下の例では、キーに example を含むオブジェクトを取得します。

const data = await bucketClient.list({
  filter: {
    key: { $contains: "example" },
  },
});

条件の指定方法については、フィルタ を参照してください。

ページネーション

limitoffset プロパティを使用して、ページネーションを行うことができます。

const data = await bucketClient.list({
  limit: 10,
  offset: 0,
});

limit パラメータを指定しない場合、デフォルトで100件まで取得されます。

ファイルのアップロード

ファイルをバケットにアップロードするには、upload() を使用します。

const data = await bucketClient.upload(file);

オプション付きアップロード

カスタムキーやグループを指定してアップロードできます。キーを指定しない場合は自動的に生成されます。

const data = await bucketClient.upload(file, {
  key: "custom-key",
  group: "admin",
});

オブジェクトの取得

キーを指定して単一のオブジェクトを取得します。

const data = await bucketClient.get(objectKey);

オブジェクトの削除

単一オブジェクトの削除

キーを指定して単一のオブジェクトを削除します。

const data = await bucketClient.delete(objectKey);

複数オブジェクトの削除

複数のオブジェクトを一括削除します。

await bucketClient.deleteObjects({});
⚠️

deleteObjects() でフィルタを指定しない場合、バケット内のすべてのオブジェクトが削除されます。

フィルタを使用した削除

特定の条件に一致するオブジェクトを削除できます。

await bucketClient.deleteObjects({
  filter: {
    key: { $contains: "old_" },
    group: "admin",
  },
});