@esposter/azure

中文文档
4.10.1发布于 2026/11/14Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 2035

Azure电线公约Esposter的客户及其模拟都说——OData过滤条款、实体钥匙外壳和服务限制.

中文使用文档
文档目录9 节
  1. 目录
  2. 开始
  3. QQ 密钥导出
  4. 条款
  5. 数值
  6. 过滤器
  7. 密钥
  8. 限制
  9. 许可证

@ sposter/ azure (英语)

Apache-2.0 licensed NPM version NPM downloads NPM Unpacked Size (with version)

它持有一个真正的客户和一个假客户都必须遵循的Azure电线惯例. 它们是表存储和搜索共用的OData过滤条款词汇、实体密钥外壳惯例和服务限制.

设计笔记在现场 规格。 。 。 .

目录


开始

安装软件包 :

pnpm add @esposter/azure

QQ 密钥导出

导出仁爱目的
AZURE_MAX_PAGE_SIZE针头一个呼叫中服务返回的最大页面大小
BinaryOperator语句比较运算符表存储理解
Clause类型一个属性的过滤条件,单元OData字符串从
CompositeKey类这个 partitionKey 财务报告和审定财务报表 rowKey 每个表格实体携带的配对
CompositeKeyPropertyNames针头这个 CompositeKey 属性名称,所以调用者不会重述字符串
deserializeClause函数将一个序列化过滤器条款重新解析为 a Clause,没有匹配
escapeValue函数引用一个字符串作为 OData 字元,双倍嵌入式单引号
getPartitionKeyFilter函数过滤器在一个分区键下选择一切
getTableNullClause函数表格存储“ 无效” 条款, a 无效 NaN 比较
SearchOperator语句仅支持 Azure 搜索的收藏上游
serializeClauses函数将条款序列化为表格存储 OData 过滤字符串
serializeValue函数一号 SerializableValue 作为表格或搜索的文字

条款

A 类 Clause<T> 是对属性的过滤条件 T。OData 字符串由条款构建。 不要用手组装字符串.

  • BinaryOperator 保留表格存储所理解的比较.
  • SearchOperator 保存只有 Azure 搜索支持的收藏上游.
  • UnaryOperator 合并条款.
import type { Clause } from "@esposter/azure";

import { BinaryOperator } from "@esposter/azure";

const clause: Clause<{ createdAt: Date }> = { key: "createdAt", operator: BinaryOperator.Ge, value: new Date(0) };

数值

serializeValue 制作一个 SerializableValue 以目标服务所期望的格式. isTableFilter 选择格式.

  • 表格存储: a Date 作为 datetime'<iso>' 字义.
  • 搜索: a Date 将 ISO 字符串变为空 .

字符串通过 escapeValue。它将每个嵌入式单引文翻倍,因此一个值不能关闭自己的字元或添加自己的过滤语法.

import { escapeValue, serializeValue } from "@esposter/azure";

过滤器

serializeClauses 将条款数组转换为表格存储过滤字符串. serializeSearchClauses 将条款数组转换为搜索过滤字符串。 二人之间只有不同 Date 使。 。 .

关于同一钥匙的条款归为一类:

  • 区域配对与 and。 。 。 .
  • 任何其他组被加入 or。 。 。 .

不用手组装布尔结构 . deserializeClause 即为逆相.

import { BinaryOperator, CompositeKeyPropertyNames, getTableNullClause, serializeClauses } from "@esposter/azure";

const roomId = crypto.randomUUID();
const filter = serializeClauses([
  { key: CompositeKeyPropertyNames.partitionKey, operator: BinaryOperator.Eq, value: roomId },
  getTableNullClause("deletedAt"),
]);

这两个部门处理的完全不一样。 助道者治取差别.

  • getTableNullClause 表示表存储“是无效的”.
  • 直接搜索支持无效, 通过 getSearchNullClause 编号 : getSearchNonNullClause。 。 。 .

getPartitionKeyFilter 构建在一个分区密钥下选择所有内容的一幕过滤器 。 读取、计数和清理同一个实体都必须从这个过滤器开始.

密钥

CompositeKey 这是 partitionKey编号 :rowKey 每个表格实体所携带的对子。 通过 CompositeKeyPropertyNames不要重述字符串. serializeKey 财务报告和审定财务报表 deserializeKey 转换边界上的密钥.

import { CompositeKey, CompositeKeyPropertyNames, serializeKey } from "@esposter/azure";

限制

这些常数持有服务允许的最大值: AZURE_MAX_BATCH_SIZE, (中文(简体) ), AZURE_MAX_PAGE_SIZE 财务报告和审定财务报表 AZURE_MAX_QUEUE_VISIBILITY_TIMEOUT_MS。使用它们时,您会标注、批量或排队。 不要硬码这些值 .

许可证

本项目根据以下规定获得许可证: Apache-2.0 许可证。 。 。 .

版本与发布记录

@esposter/azure 共发布 28 个版本,首次发布于 2026/08/23;过去 12 个月发布了 28 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
4.10.1latest2026/11/14今天
4.10.02026/11/131 天前
4.9.02026/11/122 天前
4.8.02026/11/104 天前
4.7.02026/11/095 天前
4.6.02026/11/077 天前

关于 @esposter/azure 的常见问题

@esposter/azure 是什么?

Azure电线公约Esposter的客户及其模拟都说——OData过滤条款、实体钥匙外壳和服务限制.

如何安装 @esposter/azure?

在项目目录运行 npm install @esposter/azure,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:zod(^4.6.7)、@azure/data-tables(^13.3.2)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@esposter/azure 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@esposter/azure 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@esposter/azure 可以商用吗?

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

@esposter/azure 的下载量有多少?

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

@esposter/azure 还在维护吗?

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