You need to enable JavaScript to run this app.
导航
列举未合并的对象(Browser.js SDK)
最近更新时间:2024.02.04 18:31:06首次发布时间:2023.07.08 17:33:01

该接口用于列举桶中的未合并的对象,即列举分片上传任务。

注意事项

  • 为了避免在浏览器环境中暴露您的火山引擎账号密钥信息(即 AccessKey ID 和 AccessKey Secret),强烈建议您使用临时访问凭证的方式执行 TOS 相关操作,详细说明,请参见使用 STS 临时 AK/SK+Token 访问火山引擎 TOS
  • Endpoint 为 TOS 对外服务的访问域名。TOS 支持的 Endpoint 信息,请参见访问域名 Endpoint
  • 列举分片上传任务前,您需要拥有 tos:ListBucketMultipartUploads 权限,详细信息,请参见 IAM 策略概述

参数说明

参数

描述

delimiter

对对象名称进行分组的字符。

encodingType

对返回的内容进行编码并指定编码的类型。
默认值: None

maxUploads

返回分片上传任务的最大数量。默认值为 1000。
取值:(0,1000]

prefix

用于指定列举返回对象的前缀名称。

keyMarker

列举分片上传任务的起始位置。设定从该值之后按字母排序返回对象列表。通常为上次请求返回的 nextMarker 值。

uploadIDMarker

keyMarker 配合使用,设定从该值之后按字典排序返回分片上传任务列表。从上次列举结果中 nextVersionIdMarker 获取。

示例代码

简单列举

以下代码用于列举指定存储桶中最多 10 个未合并的分片上传任务。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>

  <body>
    <button id="upload">上传</button>
    <input id="file" type="file" />
    <!-- 导入 SDK 文件 -->
    <script src="https://tos-public.volccdn.com/obj/volc-tos-public/@volcengine/tos-sdk@latest/browser/tos.umd.production.min.js"></script>
    <script src="./const.js"></script>
    <script type="text/javascript">
      const client = new TOS({
        // yourRegion 填写 Bucket 所在地域。以华北2(北京)为例,yourRegion 填写为 cn-beijing。
        region: yourRegion,
        // 填写 endpoint 名称。
        endpoint: yourEndpoint,
        // 从 STS 服务获取的临时访问密钥(AccessKey ID 和 AccessKey Secret)。
        accessKeyId: yourAccessKey,
        accessKeySecret: yourSecretKey,
        // 从 STS 服务获取的安全令牌(SecurityToken)。
        stsToken: yourSecurityToken,
        // 填写 Bucket 名称。
        bucket: examplebucket,
      });

      const listMultipartUploads = async () => {
        const data = await client.listMultipartUploads({
          bucket: examplebucket,
          maxUploads: 10,
        });
        console.log('data', data.data);
      };

      listMultipartUploads();
    </script>
  </body>
</html>

列举指定前缀的所有未合并的分片任务

以下代码用于列举指定存储桶指定前缀下的所有未合并的分片上传任务。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>

  <body>
    <button id="upload">上传</button>
    <input id="file" type="file" />
    <!-- 导入 SDK 文件 -->
    <script src="https://tos-public.volccdn.com/obj/volc-tos-public/@volcengine/tos-sdk@latest/browser/tos.umd.production.min.js"></script>
    <script type="text/javascript">
      const client = new TOS({
        // yourRegion 填写 Bucket 所在地域。以华北2(北京)为例,yourRegion 填写为 cn-beijing。
        region: yourRegion,
        // 填写 endpoint 名称。
        endpoint: yourEndpoint,
        // 从 STS 服务获取的临时访问密钥(AccessKey ID 和 AccessKey Secret)。
        accessKeyId: yourAccessKey,
        accessKeySecret: yourSecretKey,
        // 从 STS 服务获取的安全令牌(SecurityToken)。
        stsToken: yourSecurityToken,
        // 填写 Bucket 名称。
        bucket: examplebucket,
      });

      const listMultipartUploads = async () => {
        const data = await client.listMultipartUploads({
          bucket: examplebucket,
          prefix: '000',
        });
        console.log('data', data.data);
      };

      listMultipartUploads();
    </script>
  </body>
</html>

列举所有分片上传任务

以下代码用于列举制定存储桶未合并的所有分片上传任务。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Document</title>
  </head>

  <body>
    <button id="upload">上传</button>
    <input id="file" type="file" />
    <!-- 导入 SDK 文件 -->
    <script src="https://tos-public.volccdn.com/obj/volc-tos-public/@volcengine/tos-sdk@latest/browser/tos.umd.production.min.js"></script>
    <script src="./const.js"></script>
    <script type="text/javascript">
      const client = new TOS({
        // yourRegion 填写 Bucket 所在地域。以华北2(北京)为例,yourRegion 填写为 cn-beijing。
        region: yourRegion,
        // 填写 endpoint 名称。
        endpoint: yourEndpoint,
        // 从 STS 服务获取的临时访问密钥(AccessKey ID 和 AccessKey Secret)。
        accessKeyId: yourAccessKey,
        accessKeySecret: yourSecretKey,
        // 从 STS 服务获取的安全令牌(SecurityToken)。
        stsToken: yourSecurityToken,
        // 填写 Bucket 名称。
        bucket: examplebucket,
      });

      const listMultipartUploads = async () => {
        const data = await client.listMultipartUploads({
          bucket: examplebucket,
        });
        console.log('data', data.data);
      };

      listMultipartUploads();
    </script>
  </body>
</html>