@adastradev/serverless-discovery-sdk

中文文档
3.0.14发布于 2026/07/23MITTypeScriptCommonJS近 30 天下载 3730

无服务器服务发现 API

中文使用文档
文档目录3 节
  1. 安装
  2. 使用量
  3. 代码示例

无服务器发现- sdk-js

npm license 最后一个没有服务器的微服务 你将永远想知道如何找到

AWS无服务器发现SDK与发现微服务交互,以发现为无服务器架构所写的微服务端点. 这类似于集群服务,例如: 领事 或者说 动物园管理员,但没有必须被监视在线状态的事件或节点的概念. 此库旨在支持服务器一侧(用于服务到服务查询)和浏览器/客户端两方面的使用.

此工程包含用于发现服务的 Typescript/ Javascript 绑定; 其他绑定可在 阿达斯特拉德夫 日内瓦会议

安装

npm install @adastradev/serverless-discovery-sdk

使用量

服务/云层依赖

Semver版本由发现服务1.1.x支持. 传出一个 semver 兼容值 lookupService 调用以接收最新的兼容匹配版本. 服务及其所需版本也可在 cloudDependencies 领域 package.json。 。 。 .

{
  "cloudDependencies": {
    "service1": "1.x",
    "service2": "^1.2.8-testbranch", // A pre-release version for development purposes
    "service3": "3.x.x"
  }
}

版本后缀值

在一些测试环境中,修改取景版本以避免与生产环境相撞可能是有用的. 如果 VERSION_POSTFIX 环境变量 运行时间,它总是会把这个附加到一个搜索呼叫的版本中.

如果您正在寻找高度搭配或不完全孤立的服务,并使用这些服务进行系统测试,应当:

  • 设定 VERSION_POSTFIX 环境变量设置为 -staging
  • 将环境变量传递到正在检查的运行时间( lambda, docker等)

如果有人在寻找 服务A编辑 1.1.0,它只会说话 1.1.0-staging在环境变量存在的同时,所有查询电话将遵循类似的模式.

TL; DR 数据:如果您正在寻找不完全孤立的服务,并依赖中转环境避免在推进的数据库/资源上运行,请在您的管道中添加以下内容:.

bitbucket-pipelines.yml : (原始内容存档于2017-09-29)

- export VERSION_POSTFIX='-staging'
# Deployment steps follow...

无服务器. yml

provider:
  environment:
    VERSION_POSTFIX: ${env:VERSION_POSTFIX, ''}

代码示例

我建议设置一个公用功能 来处理SDK的建造, 和搜索呼叫 - 见下文的例子.

import { DiscoverySdk } from '@adastradev/serverless-discovery-sdk';

export default async function lookup(serviceName) {

  const sdk = new DiscoverySdk(
    process.env.DISCOVERY_SERVICE_URL,
    process.env.DISCOVERY_SERVICE_REGION,
    // Non-versioned services will default to lookup via this stage
    process.env.DEFAULT_STAGE,
    undefined,
    // Create map of cloudDependencies from package.json
    new Map(Object.entries(require('../path/to/package.json')['cloudDependencies'])),
  );

  const endpoints = await sdk.lookupService(
    serviceName
  );

  return endpoints[0];

}

版本与发布记录

@adastradev/serverless-discovery-sdk 共发布 92 个版本,首次发布于 2018/08/07;过去 12 个月发布了 2 个版本。

版本发布日期距今
3.0.14latest2026/07/233 个月前
3.0.132026/02/178 个月前
3.0.122025/09/261.1 年前
3.0.112025/08/051.3 年前
3.0.11-beta.1754338560573beta2025/08/051.3 年前
3.0.102025/05/141.5 年前

关于 @adastradev/serverless-discovery-sdk 的常见问题

@adastradev/serverless-discovery-sdk 是什么?

无服务器服务发现 API

如何安装 @adastradev/serverless-discovery-sdk?

在项目目录运行 npm install @adastradev/serverless-discovery-sdk,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@adastradev/astra-logger(>= 1.4.6)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@adastradev/serverless-discovery-sdk 支持 TypeScript 吗?

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

@adastradev/serverless-discovery-sdk 支持 ESM 还是 CommonJS?

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

@adastradev/serverless-discovery-sdk 可以商用吗?

@adastradev/serverless-discovery-sdk 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@adastradev/serverless-discovery-sdk 的下载量有多少?

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

@adastradev/serverless-discovery-sdk 还在维护吗?

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