阅读本文,您可以获取 Node SDK 数据抓取的接口调用示例,实现快速开发。
说明
本文的调用示例包含接口的部分参数。由于参数间可能存在互斥关系,在调用时,请您参考注释,进行调整。
调用接口前,请先完成 Node SDK 的安装及初始化操作。
本节为您介绍数据抓取相关接口的功能和调用示例。
您可以调用 FetchImageUrl 接口数据抓取(Fetch)。详细的参数说明可参见 FetchImageUrl 接口文档。
接口调用示例如下所示。
import { imagex } from "@volcengine/openapi"; export async function FetchImageUrlDemo() { try { const imagexService = new imagex.ImagexService({ // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY accessKeyId: process.env.VOLC_ACCESSKEY, secretKey: process.env.VOLC_SECRETKEY, }); const requestParam = { // 待抓取上传的文件 URL。 Url: "https://test.org/con.jpg", // 目标服务 ID,迁移后的文件将上传至该服务绑定的存储。 // <li> 您可以在 veImageX 控制台[服务管理](https://console.volcengine.com/imagex/service_manage/)页面,在创建好的图片服务中获取服务 ID。 </li> // <li> 您也可以通过 OpenAPI 的方式获取服务 ID,具体请参考[获取所有服务信息](https://www.volcengine.com/docs/508/9360)。 </li> ServiceId: "jh**9k", // 指定抓取成功后的文件存储 key,不包含 bucket 部分。默认使用随机生成的 key。 // note: // 若指定 key 已存在,则会覆盖服务中 StoreKey 对应的已有文件,此时服务中保存文件的数量未发生变化。 StoreKey: "FetchTest", // 资源下载超时时间。 // <li> 同步处理下最大超时为 20 秒; </li> // <li> 异步处理下最大超时为 90 秒。 </li> TimeOut: 10, // 是否采用异步,取值如下所示: // <li> true:采用异步 </li> // <li> false:(默认)不采用异步 </li> // note: // 若您的资源大小小于 5 G,但预估资源迁移超时时间超过 20 s,建议您选择异步处理。 Async: false, // 迁移资源的 IP 地址 Host: "ip:port", // 回调 URL,veImageX 以 Post 方式向业务服务器发送 JSON 格式回调数据。当Async取值为true,即采用异步处理时,为必填。 Callback: "https://info.com", // 校验下载文件的 MD5,若校验不一致则停止文件的上传。 MD5: "9a8229123604d22d18b6dcfe44b4519e", // 透传给业务的回调内容,当Callback不为空时为必填,取值需要符合CallbackBodyType指定格式。 CallbackBodyType: '{"param1":"value1","param2":"value2"}', // 透传给业务的回调内容格式。当CallbackBody不为空时为必填。取值如下所示: // <li> application/json </li> // <li> application/x-www-form-urlencoded </li> CallbackBody: "application/json", // 回调时使用的 IP 地址 CallbackHost: "ip:port", // 服务存储中存在相同的存储 key 时,是否忽略本次迁移操作。取值如下所示: // <li> true:忽略本次迁移操作。 </li> // <li> false:(默认)继续迁移并覆盖相同 key 的资源。 </li> IgnoreSameKey: false, // 文件在抓取时,是否不执行解码操作,取值如下所示: // <li> true:文件仅下载上传,不执行解码操作。 </li> // <li> false:(默认)文件在下载上传同时执行解码操作。 </li> FetchOnly: true, }; const res = await imagexService.FetchImageUrl(requestParam); console.log("res", res); } catch (err) { console.error(err); } }
您可以调用 GetUrlFetchTask 接口获取异步抓取任务详情。详细的参数说明可参见 GetUrlFetchTask 接口文档。
接口调用示例如下所示。
import { imagex } from "@volcengine/openapi"; export async function GetUrlFetchTaskDemo() { try { const imagexService = new imagex.ImagexService({ // 强烈建议不要把 VOLC_ACCESSKEY 和 VOLC_SECRETKEY 保存到工程代码里,否则可能导致 AccessKey 泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取 VOLC_ACCESSKEY 和 VOLC_SECRETKEY,来实现 API 访问的身份验证。运行代码示例前,请配置环境变量 VOLC_ACCESSKEY 和 VOLC_SECRETKEY accessKeyId: process.env.VOLC_ACCESSKEY, secretKey: process.env.VOLC_SECRETKEY, }); const requestParam = { // 异步任务 ID,您可通过调用 [FetchImageUrl](https://www.volcengine.com/docs/508/68807)接口获取该 ID。 Id: "92830H07WJS28370", ServiceId: "xxxx", }; const res = await imagexService.GetUrlFetchTask(requestParam); console.log("res", res); } catch (err) { console.error(err); } }