You need to enable JavaScript to run this app.
导航
资源管理
最近更新时间:2024.06.21 17:30:35首次发布时间:2024.06.04 15:40:25

阅读本文,您可以获取 Node SDK 资源管理的接口调用示例,实现快速开发。

说明

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

调用说明

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

前提条件

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

调用示例

本节为您介绍资源管理相关接口的功能和调用示例。

获取文件上传地址和凭证

您可以调用 ApplyImageUpload 接口获取文件上传地址和凭证。详细的参数说明可参见 ApplyImageUpload 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function ApplyImageUploadDemo () {
    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": "WMK**UXe",
      // 一次上传会话 Key。
      // note:
      // 本接口上一次请求的`SessionKey`,可在重试时带上,作为服务端的再次选路时的一个参考。
      "SessionKey": "eyJh**In0=",
      // 上传文件的数量,将决定下发的 StoreUri 的数量,取值范围为[1,10],默认为 1。
      "UploadNum": 1,
      // 指定的上传文件路径。
      // * 指定`Prefix`时,下发的存储 Key 为:`Prefix/{随机Key}{FileExtension}`,其中`Prefix + FileExtension`最大长度限制为 145 个字节。
      // * 不支持以/开头或结尾,不支持/连续出现。
      // note:
      // 仅当未指定`StoreKeys`时生效。
      "Prefix": "a/b",
      // 文件扩展名(如:.java, .txt, .go 等),最大长度限制为 8 个字节。
      // note:
      // 仅当未指定`StoreKeys`时生效。
      "FileExtension": "png",
      // 是否开启重名文件覆盖上传,取值如下所示:
      // <li> `true`:开启 </li>
      // <li> `false`:(默认)关闭 </li>
      // warning
      // 在指定 `Overwrite` 为 `true` 前,请确保您指定的 `ServiceId` 对应服务已[开启了覆盖上传](https://www.volcengine.com/docs/508/1119912)能力。
      "Overwrite": false,
    }

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

确认上传并上报上传结果

您可以调用 CommitImageUpload 接口确认上传并上报上传结果。详细的参数说明可参见 CommitImageUpload 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function CommitImageUploadDemo () {
    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": "WM***Xed",
      // 是否返回图片meta信息。默认 false。
      // * true:不返回图片 meta 信息。
      // * false:获取图片 meta 信息并返回对应 meta 信息。
      // * 其中若 meta 获取超时或失败,接口返回成功,但对应 meta 信息将为空。
      // * 如果强依赖 meta 请参考[图片Meta信息](https://www.volcengine.com/docs/508/64085)获取。
      "SkipMeta": false,
    }

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

删除服务下多个文件

您可以调用 DeleteImageUploadFiles 接口删除服务下多个文件。详细的参数说明可参见 DeleteImageUploadFiles 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function DeleteImageUploadFilesDemo () {
    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": "8h**9q",
      // 文件 URI 列表,最多传 1000 个。您可以通过调用[获取服务下的上传文件](https://www.volcengine.com/docs/508/9392)来获取所需的文件 URI。
      "StoreUris" : ["uri1","uri2"], 
    }

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

预览服务下的文件

您可以调用 PreviewImageUploadFile 接口预览服务下的文件。详细的参数说明可参见 PreviewImageUploadFile 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function PreviewImageUploadFileDemo () {
    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": "8h**9q",
      // 文件 Uri。
      // <li> 您可以在 veImageX 控制台 [资源管理](https://console.volcengine.com/imagex/resource_manage/)页面,在已上传文件的名称列获取资源 Uri。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取Uri,具体请参考[文件上传完成上报](https://www.volcengine.com/docs/508/9398)。 </li>
      "StoreUri": "uri1",
    }

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

列举服务下的文件

您可以调用 GetImageStorageFiles 接口列举服务下的文件。详细的参数说明可参见 GetImageStorageFiles 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function GetImageStorageFilesDemo () {
    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": "8h**0o",
      // 上一次列举返回的位置标记,作为本次列举的起点信息。默认值为空。
      "Marker": "eyJjIjowLCJrIjoiMDAwMDAyLmljbyJ9",
      // 一次查询列出的文件信息条目数,取值范围为[1,1000]。默认值为 10。
      "Limit": 1000,
      // 指定需要查询文件的前缀,只有资源名匹配该前缀的文件会被列出。缺省时将返回所有文件信息。
      // 例如,一个存储服务中有三个文件,分别为 Example/imagex.png、Example/mov/a.avis 和 Example/mov/b.avis。若指定 `Prefix` 取值 `Example/`且指定 `Delimiter` 取值 `/`:则返回 Example/imagex.png,并在 `CommonPrefix` 里返回 Example/mov/。
      "Prefix": "Example/",
      // 指定目录分隔符,默认值为 `/`。所有文件名字包含指定的前缀,第一次出现 `Delimiter` 字符之间的文件作为一组元素(即 `CommonPrefixe`)。
      "Delimiter": "/",
    }

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

更新资源封禁/解封状态

您可以调用 UpdateImageResourceStatus 接口更新资源封禁/解封状态。详细的参数说明可参见 UpdateImageResourceStatus 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function UpdateImageResourceStatusDemo () {
    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,具体请参考[GetAllImageServices](https://www.volcengine.com/docs/508/9360)。 </li>
      "ServiceId": "serviceid",
      // 资源的封禁状态,取值如下所示:
      // <li> `disable`:禁用。禁用状态,您无法访问该资源。 </li>
      // <li> `enable`:启用。启用状态,您可正常访问该资源。 </li>
      "Status": "disable/enable",
      // 待修改封禁状态的资源存储 Key(不携带 Bucket 信息),可在控制台资源管理页面查看。
      "ObjectName": "demo1.png",
    }

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

重命名文件

您可以调用 UpdateImageFileKey 接口重命名文件。详细的参数说明可参见 UpdateImageFileKey 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function UpdateImageFileKeyDemo () {
    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": "8h**9q",
      // 源文件名
      "OriKey": "bb6d0430d***7feac525023d52",
      // 重命名后的文件名
      "DstKey": "image",
    }

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

获取资源URL

您可以调用 GetResourceURL 接口获取资源URL。详细的参数说明可参见 GetResourceURL 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function GetResourceURLDemo () {
    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": "8h**9q",
      // 域名。
      // 您可以通过调用 OpenAPI [获取服务下所有域名](https://www.volcengine.com/docs/508/9379)查看 domain 返回值。
      "Domain": "example.test.com",
      // 图片资源 Uri。
      // 您可以通过调用 OpenAPI [获取文件上传成功信息](https://www.volcengine.com/docs/508/9398)查看 ImageUri 返回值。
      "URI": "tos-i-xxxxx/test.png",
      // 模板名称。缺省情况下表示无模板处理图片。
      // 您可以通过调用 OpenAPI [获取服务下所有图片模板](https://www.volcengine.com/docs/508/9386)里查看 TemplateName 返回值。
      "Tpl": "tplv-8h**9q-1-v**83",
      // 协议,默认为 http,隐私图片使用 https,公开图片支持取值 http 以及 https。
      "Proto": "https",
      // 创建模板时设置的图片输出格式,默认为 image,支持取值有:
      // <li> image:表示输出原格式; </li>
      // <li> 静图格式:png、jpeg、heic、avif、webp; </li>
      // <li> 动图格式:awebp、heif、avis。 </li>
      "Format": "image",
    }

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

获取服务下的上传文件

您可以调用 GetImageUploadFiles 接口获取服务下的上传文件。详细的参数说明可参见 GetImageUploadFiles 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function GetImageUploadFilesDemo () {
    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": "8h**9q",
      // 获取文件个数,最大值为 100。
      "Limit": 100,
      // 分页标志。
      "Marker": 0,
    }

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

获取服务下单个上传文件

您可以调用 GetImageUploadFile 接口获取服务下单个上传文件。详细的参数说明可参见 GetImageUploadFile 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function GetImageUploadFileDemo () {
    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": "uk**ok",
      // 文件 Uri。
      // <li> 您可以在 veImageX 控制台 [资源管理](https://console.volcengine.com/imagex/resource_manage/)页面,在已上传文件的名称列获取资源 Uri。 </li>
      // <li> 您也可以通过 OpenAPI 的方式获取Uri,具体请参考 [GetImageUploadFiles](https://www.volcengine.com/docs/508/9392)。 </li>
      "StoreUri": "demo.png",
    }

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

获取服务下的更新文件

您可以调用 GetImageUpdateFiles 接口获取服务下的更新文件。详细的参数说明可参见 GetImageUpdateFiles 接口文档。

接口调用示例如下所示。

import { imagex } from "@volcengine/openapi";
  
  export async function GetImageUpdateFilesDemo () {
    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": "8h**9q",
      // 获取类型,取值如下所示:
      // * 0:获取刷新 URL 列表;
      // * 1:获取禁用 URL 列表。
      "Type": 1,
      // URL 格式,若指定 URL 格式则仅返回 URL 中包含该字符串的 URL 列表。
      // 默认为空,缺省情况下返回所有 URL 列表。
      "UrlPattern": "pic",
      // 分页偏移,默认 0。
      // 当取值为 1 时,表示跳过一条 URL,从第二条 URL 开始取值。
      "Offset": 0,
      // 获取 URL 个数,最大值为 100。
      "Limit": 50,
    }

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