You need to enable JavaScript to run this app.
导航
多文件压缩
最近更新时间:2024.08.12 15:33:25首次发布时间:2024.06.03 19:01:59

阅读本文,您可以获取 Node SDK 多文件压缩的接口调用示例,实现快速开发。

说明

本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。

调用说明

  • 本文提供的接口调用示例均通过 AK 和 SK 初始化实例。
  • 接口的参数说明和错误码等信息可通过接口文档查看。

前提条件

调用接口前,请先完成 Node SDK 的安装及初始化操作。

调用示例

本节为您介绍多文件压缩相关接口的功能和调用示例。

创建多文件压缩异步任务

您可以调用 CreateImageCompressTask 接口创建多文件压缩异步任务。详细的参数说明可参见 CreateImageCompressTask 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function CreateImageCompressTaskDemo () {
    try {
      const imagexService = new imagex.ImagexService({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        secretKey: process.env.VOLC_SECRETKEY,
      });
      const requestParam = {
      // 服务 ID。
      // <li> 您可以在veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      "ServiceId": "7g**2i",
      // 压缩后文件压缩包的指定名称,默认为随机 Key。
      "Output": "testcompress",
      // 压缩方法,取值如下所示:
      // <li> `0`:ZIP DEFLATE 压缩打包方法 </li>
      // <li> `1`:仅保存文件,不执行压缩打包 </li>
      "ZipMode": 0,
      // 与 `FileList`,二选一。
      // 索引文件 StoreUri,为 .txt 文件,该索引文件需上传至指定服务对应存储中。
      // 该索引文件内需填写待压缩文件的 StoreUri,每行填写一个,最多可填写 3000 行。总文件大小不超过 45000 MB。若超出限制,则取消压缩打包操作,直接返回错误。
      "IndexFile": "tos-boe-i-hr***pr/testcompress.txt",
      // POST 类型的回调 URL,用于接收相关回调 JSON 类型数据。
      "Callback": "http://test.com",
      // 与`IndexFile`,二选一。
      // 压缩文件列表配置,压缩文件 URL 最多为 500 个,总文件大小不超过 45000 MB。若超出限制,则取消压缩打包操作,直接返回错误。
      "FileList" : [ 
          {
            // 公网可访问的待压缩文件 URL
            "Url": "http://test.imagex.com/tos-cn-i-rw****qr/86****4c.png~tplv-rw***qr-6.image",
            // <li> 指定时,为 URL 文件所在压缩包中的别名。 </li>
            // <li> 不指定时,若能提取原文件名称时,则以 URL 原文件名称;否则,使用随机名称。 </li>
            "Alias": "compress1",
            // URL 对应资源在压缩包中的文件夹,不传时则将该资源存储至一级目录下。不能以`/`结尾。
            "Folder": "a/b",
          } 
      ], 
    }

      const res = await imagexService.CreateImageCompressTask(requestParam);
      console.log('res',res)
    } catch (err) {
      console.error(err);
    }
  }
    

获取异步压缩任务详情

您可以调用 GetCompressTaskInfo 接口获取异步压缩任务详情。详细的参数说明可参见 GetCompressTaskInfo 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function GetCompressTaskInfoDemo () {
    try {
      const imagexService = new imagex.ImagexService({
        // 强烈建议不要把 AccessKey ID 和 AccessKey Secret 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。
        accessKeyId: process.env.VOLC_ACCESSKEY,
        // 本示例通过从环境变量中读取 AccessKey ID 和 AccessKey Secret,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY
        secretKey: process.env.VOLC_SECRETKEY,
      });
      const requestParam = {
      // 异步任务 ID
      "TaskId": "82370***12102",
      // 服务 ID。
      // <li> 您可以在veImageX 控制台 [服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li>
      "ServiceId": "7j**6",
    }

      const res = await imagexService.GetCompressTaskInfo(requestParam);
      console.log('res',res)
    } catch (err) {
      console.error(err);
    }
  }