Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

ファイルを削除する

remove API を使用してストレージバケットからファイルを削除できます。ファイルが ID で保護されている場合、そのファイルを削除できるのはそのファイルを所有するユーザーのみです。

bucket オプションを指定して、特定のバケットから remove 操作を実行することもできます。Amplify Backend で定義された名前を表す StorageBucket オブジェクトを渡すことができます。

final result = await Amplify.Storage.remove(
path: const StoragePath.fromString('path/to/file.txt'),
options: StorageRemoveOptions(
// Amplify Backend で割り当てられた名前を使用してターゲットバケットを指定
bucket: StorageBucket.fromOutputs('secondBucket'),
),
).result;

または、コンソールからバケット名とリージョンを指定してオブジェクトを渡すこともできます。

final result = await Amplify.Storage.remove(
path: const StoragePath.fromString('path/to/file.txt'),
options: StorageRemoveOption(
// または、コンソールからバケット名と関連リージョンを指定
bucket: StorageBucket.fromBucketInfo(
BucketInfo(
bucketName: 'second-bucket-name-from-console',
region: 'us-east-2',
),
),
),
).result;

複数のファイルを削除する

Amplify.Storage.removeMany を使用して複数のファイルを削除できます。同時に削除するファイルのバッチは同じアクセスレベルを持つ必要があります。また、バケットを指定することもできます:

Future<void> remove() async {
try {
final result = await Amplify.Storage.removeMany(
paths: [
const StoragePath.fromString('public/file-1.txt'),
const StoragePath.fromString('public/file-2.txt'),
],
// このオプションが指定されない場合、Amplify Backend のデフォルトバケットが使用されます
options: StorageRemoveManyOptions(
bucket: StorageBucket.fromOutputs('secondBucket'),
/* または、コンソールからバケット名と関連リージョンを指定
bucket: StorageBucket.fromBucketInfo(
BucketInfo(
bucketName: 'second-bucket-name-from-console',
region: 'us-east-2',
),
),
*/
),
).result;
safePrint('Removed files: ${result.removedItems}');
} on StorageException catch (e) {
safePrint(e.message);
}
}