バケット内のオブジェクトに対して操作を実行する前に、オブジェクトが存在するかどうかを確認する必要があります。 このトピックでは、オブジェクトが存在するかどうかを判断する方法について説明します。
次のサンプルコードは、オブジェクトが存在するかどうかを判断する方法の例を示します。
const OSS = require('ali-oss');
const client = new OSS({
// Specify the region in which the bucket is located. For example, if the bucket is located in the China (Hangzhou) region, set the region to oss-cn-hangzhou.
region: 'yourregion',
// Obtain access credentials from environment variables. Before you run the sample code, make sure that you have configured environment variables OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET.
accessKeyId: process.env.OSS_ACCESS_KEY_ID,
accessKeySecret: process.env.OSS_ACCESS_KEY_SECRET,
authorizationV4: true,
// Specify the name of the bucket.
bucket: 'yourBucketName',
});
async function isExistObject(name, options = {}) {
try {
await client.head(name, options);
console.log('The object exists.')
} catch (error) {
if (error.code === 'NoSuchKey') {
console.log('The object does not exist.')
}
}
}
// Determine whether an object exists in an unversioned bucket.
// Specify the full path of the object. Do not include the bucket name in the full path. Example: example/test.txt.
const name = 'yourObjectName'
isExistObject(name)
// Determine whether an object with a specified version ID exists in a versioned bucket.
const options = {
// Specify the version ID of the object.
versionId: 'YourObjectVersionId'
}
isExistObject(name, options)