# @adastradev/serverless-discovery-sdk 中文文档

规范地址：https://npmcn.com/package/%40adastradev/serverless-discovery-sdk/

版本：3\.0\.14
npm 元数据更新时间：2026-09-30T21:59:13.208Z
中文译文更新时间：2026-11-06T08:45:49.055Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40adastradev/serverless-discovery-sdk
原文对照：https://npmcn.com/package/%40adastradev/serverless-discovery-sdk/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：24.3 kB，19 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：@adastradev/astra-logger \>= 1\.4\.6
- 首次发布：2018-08-07T13:43:07.115Z
- 最新版本发布：2026-07-22T17:11:56.057Z
- 近 30 天下载量：3730（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：92（近 12 个月 2 个）

## 中文简介

无服务器服务发现 API

## 安装

```sh
npm install @adastradev/serverless-discovery-sdk
```

也可以使用：`pnpm add @adastradev/serverless-discovery-sdk`、`yarn add @adastradev/serverless-discovery-sdk`、`bun add @adastradev/serverless-discovery-sdk`

## README

# 无服务器发现- sdk-js

[![npm](https://img.shields.io/npm/v/%40adastradev%2Fserverless-discovery-sdk.svg)](https://www.npmjs.com/package/@adastradev/serverless-discovery-sdk) [![license](https://img.shields.io/npm/l/%40adastradev%2Fserverless-discovery-sdk.svg)](https://www.npmjs.com/package/@adastradev/serverless-discovery-sdk) _最后一个没有服务器的微服务 你将永远想知道如何找到_

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

此工程包含用于发现服务的 Typescript/ Javascript 绑定; 其他绑定可在 [阿达斯特拉德夫](https://github.com/adastradev) 日内瓦会议

## 安装

```sh
npm install @adastradev/serverless-discovery-sdk
```

## 使用量

#### 服务/云层依赖

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

```javascript
{
  "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)

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

无服务器. yml

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

## 代码示例

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

```javascript
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 是什么？

无服务器服务发现 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 和提交记录判断。

