すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:オブジェクトの名前変更

最終更新日:Nov 08, 2024

オブジェクトの名前を直接変更することはできません。 バケット内のオブジェクトの名前を変更するには、CopyObject操作を呼び出してソースオブジェクトを宛先オブジェクトにコピーし、次にDeleteObject操作を呼び出してソースオブジェクトを削除します。

サンプルコード

次のサンプルコードは、examplebucketのsrcobject.txtという名前のオブジェクトをdestobject.txtに名前変更する方法の例を示しています。

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: 'oss-cn-hangzhou',
  // 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: 'examplebucket',
})

async function renameObject() {
  try {
    // Copy the srcobject.txt object to the destobject.txt object in the same bucket. 
    const r = await client.copy('destobject.txt', 'srcobject.txt');
    console.log ('Copied', r);
    // Delete the srcobject.txt object. 
    const deleteResult = await client.delete('srcobject.txt');
    console.log(deleteResult);
  } catch (e) {
    console.log(e);
  }
}

renameObject();

説明

バケット内のディレクトリの名前も直接変更できません。 バケット内のディレクトリの名前を変更するには、上記の例に従って、ディレクトリ内のサブディレクトリとオブジェクトの名前を1つずつ変更します。

関連ドキュメント

オブジェクトの名前を変更するために呼び出すAPI操作の詳細については、「CopyObject」および「DeleteObject」をご参照ください。