不要になったファイル (オブジェクト) を 1 つ以上削除できます。
削除操作を実行する際は注意が必要です。削除されたオブジェクトは回復できません。
注意事項
Webpack や Browserify などのパッケージングツールを使用する場合は、npm install ali-oss コマンドを実行して OSS SDK for Browser.js をインストールします。
ブラウザから Object Storage Service (OSS) バケットにアクセスする際に、バケットに CORS ルールが設定されていない場合、ブラウザはリクエストを拒否します。そのため、ブラウザからバケットにアクセスする場合は、バケットに CORS ルールを設定する必要があります。詳細については、「インストール」をご参照ください。
ほとんどの場合、OSS SDK for Browser.js はブラウザで使用されます。AccessKey ペアの漏洩を防ぐため、セキュリティトークンサービス (STS) から取得した一時的なアクセス認証情報を使用して OSS にアクセスすることを推奨します。
一時的なアクセス認証情報は、AccessKey ペアとセキュリティトークンで構成されます。AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。一時的なアクセス認証情報の取得方法の詳細については、「STS を使用した一時的なアクセス権限付与」をご参照ください。
単一ファイルの削除
次のコードは、単一ファイルを削除する方法を示しています。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id="delete">削除</button>
<!-- SDK ファイルをインポートします。-->
<script type="text/javascript" src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.18.0.min.js"></script>
<script type="text/javascript">
const client = new OSS({
// バケットが所在するリージョンを設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンを oss-cn-hangzhou に設定します。
region: 'yourRegion',
authorizationV4: true,
// STS から取得した一時的な AccessKey ペア (AccessKey ID と AccessKey Secret) です。
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// STS から取得したセキュリティトークン (SecurityToken) です。
stsToken: 'yourSecurityToken',
// バケット名を指定します。例:examplebucket。
bucket: "examplebucket",
});
const deleteSingle = document.getElementById("delete");
// 単一ファイルを削除します。
deleteSingle.addEventListener("click", async () => {
// 削除するオブジェクトの名前を指定します。オブジェクト名は、バケット名を含まないオブジェクトの完全なパスである必要があります。例:exampledir/exampleobject.txt。
let result = await client.delete('exampledir/exampleobject.txt');
console.log(result);
});
</script>
</body>
</html>複数ファイルの削除
次のコードは、複数ファイルを削除する方法を示しています。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<title>Document</title>
</head>
<body>
<button id="deleteAll">複数ファイルを削除</button>
<!-- SDK ファイルをインポートします。-->
<script
type="text/javascript"
src="https://gosspublic.alicdn.com/aliyun-oss-sdk-6.16.0.min.js"
></script>
<script type="text/javascript">
const client = new OSS({
// バケットが所在するリージョンを設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、リージョンを oss-cn-hangzhou に設定します。
region: 'yourRegion',
authorizationV4: true,
// STS から取得した一時的な AccessKey ペア (AccessKey ID と AccessKey Secret) です。
accessKeyId: 'yourAccessKeyId',
accessKeySecret: 'yourAccessKeySecret',
// STS から取得したセキュリティトークン (SecurityToken) です。
stsToken: 'yourSecurityToken',
// バケット名を指定します。例:examplebucket。
bucket: "examplebucket",
});
const deleteAll = document.getElementById("deleteAll");
// 複数ファイルを削除します。
deleteAll.addEventListener("click", async () => {
// 削除するオブジェクトの名前を指定します。オブジェクト名は、バケット名を含まないオブジェクトの完全なパスである必要があります。
let result = await client.deleteMulti([
"example.txt",
"exampleobject.txt",
"newexampleobject.txt",
]);
console.log(result);
result = await client.deleteMulti(
["example.txt", "exampleobject.txt", "newexampleobject.txt"],
{
// quiet パラメーターを使用して、削除されたすべてのファイルのリストを返すかどうかを指定します。quiet が true に設定されている場合、OSS はメッセージ本文を返しません。quiet が false に設定されている場合、OSS は削除されたすべてのファイルのリストを返します。
quiet: true,
}
);
});
</script>
</body>
</html>
関連ドキュメント
単一ファイルの削除
完全なサンプルコードについては、「GitHub の例」をご参照ください。
API 操作の詳細については、「DeleteObject」をご参照ください。
複数ファイルの削除
完全なサンプルコードについては、「GitHub の例」をご参照ください。
API 操作の詳細については、「DeleteMultipleObjects」をご参照ください。