@adobe/asset-compute-commons

中文文档
2.0.0发布于 2026/10/07Apache-2.0CommonJS近 30 天下载 6785

所有 Adobe 资产 计算无服务器动作所需的通用公用设备

中文使用文档
文档目录14 节
  1. 安装
  2. API 细节
  3. 资产计算事件
  4. 资产计算计量
  5. 资产计算出错
  6. 资产计算日志 Utils
  7. Apache 打开Whisk 动作名
  8. 同步事件
  9. 事件类型
  10. 事件属性
  11. 元数据
  12. 错误原因
  13. 捐款
  14. 许可证发放

Version

资产计算公用

所有资产计算无服务器行动所需的共同公用事业

安装

npm install @adobe/asset-compute-commons

API 细节

Adobe IO Eventions, New Relic 度量衡, 以及自定义出错等.

资产计算事件

发送 Adobe IO 事件的资产计算事件处理器

构造参数

AssetComputeEvents 构造器支持下列强制性参数:

  • 段落: 对象必须包含授权参数:
    • auth.accessToken
    • orgId 或者说 auth.orgId
    • clientId 或者说 auth.clientId

AssetComputeEvents 构造器支持下列可选参数:

  • 重试: 重试选项 节点重复 为发送 IO 事件。 (违约) node-fetch-retry 默认选项)

发送事件

这个 sendEvent 方法发送 Adobe IO 事件.

AssetComputeEvents.sendEvent 方法需要两个必要的参数: type 财务报告和审定财务报表 payload。 。 。 .

  • 类型: 包含 Adobe IO 事件类型的字符串( 均不包含) rendition_created 或者说 rendition_failed(中文(简体) )
  • 有效载数: 含有事件有效载荷的对象

见 资产计算 API 文档: 同步事件 关于这个专题的更多信息

实例

带有自定义重试选项的示例 :

const { AssetComputeEvents } = require('@adobe/asset-compute-commons');

const params = {
    auth: {
        accessToken: '12345',
        orgId: 'orgId',
        clientId: 'clientId`
    }
}
const retry = {
    retryMaxDuration: 1000 // in ms
}
const eventsHandler  = new AssetComputeEvents(params, retry);

await eventsHandler.sendEvent('rendition_created', {
            rendition: {
                name: 'rendition.jpg',
                fmt: 'jpg'
            }
      });

有示例 rendition_failed 事件类型 :

const { AssetComputeEvents } = require('@adobe/asset-compute-commons');

const params = {
    auth: {
        accessToken: '12345',
        orgId: 'orgId',
        clientId: 'clientId`
    }
}
const eventsHandler  = new AssetComputeEvents(params);

await eventsHandler.sendEvent('rendition_failed', {
            rendition: {
                name: 'rendition.21',
                fmt: '21'
            },
            errorReason: 'RenditionFormatUnsupported',
            errorMessage: 'Rendition format `21` is not supported'
     });

资产计算计量

资产计算处理器,用于发送新遗迹计量。 它使用节点js代理 节点- 开口whisk- newrelic 发送参数到新遗迹.

构造参数

AssetComputeMetrics 构造器支持下列强制性参数:

  • 段落: 对象必须包含新遗迹度量参数:
    • newRelicEventsURL: 新的遗迹透视事件url(应该为形式: https://insights-collector.newrelic.com/v1/accounts/<YOUR_ACOUNT_ID>/events(中文(简体) )
    • newRelicApiKey: 新的 Relic Insights API 密钥(参见"注册一个插入API密钥"一节) 这里(中文(简体) )

AssetComputeMetrics 构造器支持下列可选参数:

简单示例

启动度量衡处理器,发送度量衡并停止度量剂:

const { AssetComputeMetrics } = require('@adobe/asset-compute-commons');

const params = {
    newRelicEventsURL: 'https://insights-collector.newrelic.com/v1/accounts/<YOUR_ACOUNT_ID>/events',
    newRelicApiKey: 'YOUR_API_KEY',
    // ... rest of the Asset Compute parameters

}
const metricsHandler = new AssetComputeMetrics(params);
const metrics = {
    downloadDuration: 200,
    size: 3000
}
await metricsHandler.sendMetrics('rendition', metrics);
await metricsHandler.activationFinished(); // see https://github.com/adobe/node-openwhisk-newrelic#usage for information about `activationFinished()`

其他额外职能

添加自定义度量衡 :

metricsHandler.add({
    uuid: '12345',
    count: 2
});

获取当前状态 metrics数字 :

console.log(metricsHandler.get()); // should print out metrics added in `metricsHandler.add()`

发送出错度量( 以事件类型发送度量) error:

const location = 'upload_worker_flite';
const message = 'Invalid file format';
const metrics = {
    downloadDuration: 200,
    size: 3000
}
await metricsHandler.sendErrorMetrics(location, message, metrics);

发送客户端错误衡量标准( 随事件类型发送衡量标准) client_error:

const location = 'upload_worker_flite';
const message = 'Invalid file format';
const metrics = {
    downloadDuration: 200,
    size: 3000
}
await metricsHandler.sendClientErrorMetrics(location, message, metrics);

以所抛出的例外发送出出错度量( 以事件类型表示的度量) client_error 或者说 error 取决于错误:

foo() {
    try {
        console.log('hello!');
    } catch (error) {
        metricsHandler.handleError(error, {
            location: "mylocation",
            message: "something failed",
            metrics: {}
        });
    }
}

资产计算出错

资产计算工作者使用了若干自定义错误:

错误类型

类型说明属性
error出乎意料的错误和例外message, (中文(简体) ), date, (中文(简体) ), location
client_error客户端配置错误导致的错误message, (中文(简体) ), date, (中文(简体) ), reason

错误属性

  • message: 错误消息
  • date: 当前在 UTC 中出现错误的时间
  • location: 出错的地点(仅在类型中) error(中文(简体) )
  • reason: 出错的原因(仅在客户端出错时)
    • 必须属于列表之一:"SourceFormatUnsuplied","RenditionFormatUsuplied","SourceUsuplied","SourceCorrupt","Rendition TooLarge" {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢

自定义出错

名称说明类型
SourceFormatUnsupportedError该源是一个不支持的类型.客户端出错
RenditionFormatUnsupportedError请求的格式不支持 .客户端出错
SourceUnsupportedError特定源不支持, 即使类型被支持 .客户端出错
SourceCorruptError源数据腐败. 包括空文件 .客户端出错
RenditionTooLargeError无法使用预签名的 URL 上传引渡文件 target。实际引渡规模作为元数据在 repo:size ,并且可以被客户端用来以正确的预先签名的 URL 数量来重新处理此递解.客户端出错
ArgumentError错误的参数( 类型、 结构等)错误
GenericError任何其它错误.错误

实例

在动作中下载源文件的一般性错误 worker-pie数字 :

const { GenericError } = require('@adobe/asset-compute-commons');

const message = 'Error while downloading source file!'
const location = 'download_worker_pie'
throw new GenericError(message, location);

租赁格式不支持 :

const { RenditionFormatUnsupportedError } = require('@adobe/asset-compute-commons');

const message = 'Rendition format `sdfg` is not supported'
throw new RenditionFormatUnsupportedError(message);

资产计算日志 Utils

从资产计算工人日志中删除敏感信息的水电费

实例

从日志编辑访问令牌 :

const { AssetComputeLogUtils } = require('@adobe/asset-compute-commons');

params = {
    accessToken: '123453467',
    fmt: 200
}
console.log("Asset Compute parameters:", AssetComputeLogUtils.redactUrl(params)); // should replace access token with "[...REDACTED...]"

用同样的日志打印 AssetComputeLogUtils.log 方法 :

const { AssetComputeLogUtils } = require('@adobe/asset-compute-commons');

params = {
    accessToken: '123453467',
    fmt: 200
}
AssetComputeLogUtils.log(params, "Asset Compute parameters"); // should replace access token with "[...REDACTED...]"

Apache 打开Whisk 动作名

一个简单的方法来获取关于Apache OpenWhisk动作的信息.

属性( 所有默认为空字符串)

  • 名称: 基础 Apache OpenWhisk 动作名
  • 软件包: Apache OpenWhisk 软件包名称
  • 命名空间: Apache OpenWhisk 命名空间
  • 全名: 全Apache OpenWhisk 动作名, 包括来自环境变量的命名空间、 软件包和动作名 __OW_ACTION_NAME

实例:

const actionInfo = new OpenwhiskActionName();
console.log(actionInfo.name) // prints out something like `worker-pie`
console.log(actionInfo.package) // prints package name, ex: `experimental`
console.log(actionInfo.namespace) // prints namespace, ex: `stage`
console.log(actionInfo.fullname) // prints full name, ex: /stage/experimental/worker-pie

同步事件

处理完成后, 或发生错误时, 事件会通过 Adobe I/O事件。事件是 JSON 对象 event 字段中 events 列表中的 jorunal 响应.

资产计算服务所有事件的I/O事件类型是 asset_compute。该日记将仅自动订阅此事件类型,预计消费者不会根据i/o事件类型过滤.

服务特定事件类型可在 type 属性.

事件类型

活动说明
rendition_created为每一个成功处理并上传的引渡发送.
rendition_failed每一次引渡都无法处理或上传.

事件属性

属性类型活动说明
datestring*简化扩展发送事件的时间戳 ISO-8601 标准 格式(按 Javascript Date.to ISOString () (原始内容存档于2018-09-29)) (中文(简体) ).
requestIdstring*原请求的编号 /process,与 X-Request-Id 头曰.
sourceobject*这个 source 会 议 日 程 和 议 程 /process 请求.
userDataobject*这个 userData 会 议 日 程 和 议 程 /process 设置时请求.
renditionobjectrendition_*相应的引渡对象传入 /process。 。 。 .
metadata objectrendition_created这个 元数据 引渡财产.
errorReasonstringrendition_*租赁失败 原因 如果有的话.
errorMessagestringrendition_*如果引渡失败,则提供更详细的文字.

元数据

财产说明
tiff:ImageWidth以像素表示的引渡宽度 。 如果引渡不是形象,则不会在场.
tiff:ImageLength以像素表示的引渡长度. 如果引渡不是形象,则不会在场.
repo:size以字节表示的引渡大小 .
repo:sha1引渡的Sha1摘要.

错误原因

原因说明
SourceFormatUnsupported该源是一个不支持的类型.
RenditionFormatUnsupported请求的格式不支持 .
SourceUnsupported特定源不支持, 即使类型被支持 .
SourceCorrupt源数据腐败. 包括空文件 .
RenditionTooLarge无法使用预签名的 URL 上传引渡文件 target。实际引渡规模作为元数据在 repo:size ,并且可以被客户端用来以正确的预先签名的 URL 数量来重新处理此递解.
GenericError任何其它错误.

捐款

欢迎捐款! 读取 贡献指南 更多信息.

许可证发放

这个项目根据Apache V2许可证获得许可. 见 自由主义 更多信息.


版本与发布记录

@adobe/asset-compute-commons 共发布 20 个版本,首次发布于 2020/05/02;过去 12 个月发布了 1 个版本。

版本发布日期距今
2.0.0latest2026/10/0730 天前
1.4.12024/11/271.9 年前
1.4.02023/12/042 年前
1.3.12023/11/282 年前
1.3.02023/11/152 年前
1.2.12023/11/082 年前

关于 @adobe/asset-compute-commons 的常见问题

@adobe/asset-compute-commons 是什么?

所有 Adobe 资产 计算无服务器动作所需的通用公用设备

如何安装 @adobe/asset-compute-commons?

在项目目录运行 npm install @adobe/asset-compute-commons,或使用 pnpm add / yarn add / bun add。

@adobe/asset-compute-commons 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/adobe__asset-compute-commons 是否存在。

@adobe/asset-compute-commons 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@adobe/asset-compute-commons 可以商用吗?

@adobe/asset-compute-commons 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@adobe/asset-compute-commons 的下载量有多少?

根据 npm 官方下载统计,@adobe/asset-compute-commons 在 2026/10/05 – 2026/11/03 这 30 天内被下载 6,785 次,日均约 226 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@adobe/asset-compute-commons 还在维护吗?

最新版本 2.0.0 发布于 2026/10/07(30 天前);至今共发布 20 个版本,其中过去 12 个月发布了 1 个;首次发布于 2020/05/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。