文章目录

  • 前言
  • 一、两种方式
  • 第一种方法:在上传文件时设置过期时间
  • 第二种方法:通过 Object Lifecycle 功能设置过期时间



前言

一、两种方式

第一种方法:在上传文件时设置过期时间

在使用 putObject 方法上传文件时,可以通过设置 x-oss-expiresx-oss-delete-after 头部来设定文件的过期时间。

以下是示例代码:

const OSS = require('ali-oss');

const client = new OSS({
  accessKeyId: '<yourAccessKeyId>',
  accessKeySecret: '<yourAccessKeySecret>',
  bucket: '<yourBucketName>',
  region: '<yourBucketRegion>',
});

async function uploadToOSS() {
  try {
    const result = await client.put('yourObjectName', 'yourLocalFilepath', {
      headers: {
        'x-oss-expires': '315360000', // 设置 10 年过期时间
        'x-oss-delete-after': '3650', // 设置删除后 10 年才能再次删除
      },
    });
    console.log(result);
  } catch (e) {
    console.log(e);
  }
}

uploadToOSS();

上述代码中,我们在 headers 中添加了 x-oss-expiresx-oss-delete-after 头部来设定文件的过期时间,其中 x-oss-expires 的值为 315360000(即 10 年),x-oss-delete-after 的值为 3650(即删除后 10 年才能再次删除)。

需要注意的是,使用 putObject 方法上传文件时,如果文件已经存在,则会直接覆盖原有文件。在此情况下设置的过期时间会直接应用到新上传的文件上,而不会受到原有文件过期时间的影响。如果您需要对已存在的文件进行修改过期时间,请使用 Object Lifecycle 功能进行管理。

第二种方法:通过 Object Lifecycle 功能设置过期时间

在阿里云 OSS 的控制台或者其他 SDK 中,可以使用 Object Lifecycle 功能来管理文件的生命周期,其中就包括设置过期时间等功能。以下是具体的操作步骤:

  1. 登录阿里云官网后,在控制台中找到您的 OSS 服务,并进入 Bucket 列表页面。
  2. 在 Bucket 列表页面中,找到想要管理的 Bucket,点击“管理”按钮进入该 Bucket 的详情页面。
  3. 在 Bucket 详情页面的左侧菜单栏中,找到并点击“生命周期”选项。
  4. 在生命周期页面中,可以设置各种规则来管理 Object 的生命周期,包括过期时间、转换、归档等等。在此处可以根据您的需求设置相应规则,例如设置指定前缀的文件在一定时间后自动转换存储类型,或者在一定时间后进行归档等等。具体的规则设置方式请参考官方文档

总之,Object Lifecycle 功能可以使得用户更加容易地管理文件的生命周期,从而避免因为遗忘或者其他原因导致文件过期或者浪费空间等问题。