バケットの操作
CMS SDKを使用したバケットの操作方法を説明します。このドキュメントでは以下の内容を解説します。
- オブジェクトの単体取得・一覧取得
- ファイルのアップロード
- オブジェクトの削除
オブジェクトの一覧取得
バケット内のオブジェクト一覧を取得するには、list()
を使用します。
const data = await bucketClient.list();
フィルタリング
filter
プロパティを使用して、条件に一致するオブジェクトのみを取得できます。
以下の項目でフィルタ可能です。
key
: オブジェクトのキーgroup
: オブジェクトのグループ
以下の例では、キーに example
を含むオブジェクトを取得します。
const data = await bucketClient.list({
filter: {
key: { $contains: "example" },
},
});
条件の指定方法については、フィルタ を参照してください。
ページネーション
limit
と offset
プロパティを使用して、ページネーションを行うことができます。
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",
},
});