创建 Postman 模拟服务器
本指南将说明如何使用提供的 Postman 示例文件,在本地模拟 Datadog 日志摄入应用程序接口 (API)。您可以验证请求格式、测试错误响应,并按照动手指南中的示例进行操作,而无需将数据发送至真实的 Datadog 账户。
先决条件
-
Postman(桌面版或 Web 版)。
-
本项目包含三个 JSON 文件:
文件 用途 DataPipeline-Environment.json定义可重用变量: dd_site、mock_base_url和dd_api_key。DataPipeline-postman-collection.json向 Datadog 日志采集 API( /api/v2/logs)发送真实请求。DataPipeline-MockServer-Collection.json使用 Postman 模拟服务器为相同端点配置模拟响应。
下载这三个文件: 下载 Postman 文件。
1. 将文件导入 Postman
- 打开 Postman 并点击 导入。
- 一次性选中所有三个已下载的 JSON 文件。
- 从右上角的环境菜单中,选择 数据管道环境。
导入文件后,将显示以下项目:
- 数据管道文档项目(真实 API 集合)。
- 数据管道 — 模拟服务器集合。
- 数据管道环境。
2. 创建模拟服务器
- 在 Postman 中,转到左侧边栏的 模拟服务器。
- 点击 创建模拟服务器。
- 选择 数据管道 — 模拟服务器集合。
- 保留默认设置并点击 创建模拟服务器。
Postman 将生成一个唯一的模拟服务器地址,例如:
https://a12b34cd-1234-5678.mock.pstmn.io
3. 更新环境变量
- 转到 环境 > 数据管道环境。
- 找到
mock_base_url变量。 - 将占位符替换为您生成的模拟服务器地址:
# 修改前
https://mock-server-url-from-postman.io
# 修改后
https://a12b34cd-1234-5678.mock.pstmn.io
- 保存环境设置。
4. 发送首个模拟请求
- 在 模拟服务器集合 中打开 POST /api/v2/logs。
- 确认右上角菜单中的 数据管道环境 处于活动状态。
- 点击 发送。
模拟服务器将返回一个模拟的 202 Accepted 响应,与真实的
Datadog 响应一致:
HTTP/1.1 202 Accepted
注意: 真实的 Datadog 日志摄入 API 返回的
202 Accepted响应中不包含 响应正文。为了便于测试时阅读,模拟集合返回了一个简化的 JSON 对象:
{
"status": "accepted",
"message": "Log event received by mock server."
}
5. 测试错误响应
要测试 400 Bad Request 响应,请从请求
正文中移除 message 字段。该字段在 Datadog 日志摄入 API 中是必填的。
模拟服务器返回以下 JSON:
{
"errors": ["Invalid JSON"]
}
您还可以通过从请求中移除 DD-API-KEY 标头
来测试 401 Unauthorized 响应。
6. 在真实测试与模拟测试之间切换
这两个收集器使用相同的环境文件。要在真实测试和模拟测试之间 切换,请更改所使用的收集器:
| 目标 | 收集器 | 基础地址变量 |
|---|---|---|
| 使用真实 Datadog 进行测试 | DataPipeline-postman-collection.json | {{dd_site}} → datadoghq.com |
| 本地或离线测试 | DataPipeline-MockServer-Collection.json | {{mock_base_url}} → 您的模拟地址 |
此方法可让您在向 Datadog 账户发送实时数据之前, 验证请求和响应格式。
可视化请求流程
- Mermaid (图片)
- Mermaid (代码)
- ASCII
sequenceDiagram
participant Dev as Postman (用户端)
participant Mock as Postman 模拟服务器
participant Resp as 模拟响应
Dev->>Mock: POST /api/v2/logs
Note right of Dev: 头部字段:DD-API-KEY、Content-Type
Note right of Dev: 正文:JSON 日志数组
Mock-->>Resp: 根据保存的示例进行评估
Resp-->>Dev: 返回 202 Accepted 或 400/401 错误
+-----------------------+ +-----------------------+
| Postman | POST /api/v2/logs | 模拟服务器 |
| (客户端) | --------------------> | |
| | | 根据示例验证 |
| - DD-API-KEY 头部 | | 请求 |
| - JSON 日志正文 | <-------------------- | |
| | 202 / 400 / 401 | |
+-----------------------+ +-----------------------+
为何这很重要
此模拟服务器设置演示了您在 开发或文档化真实 API 集成时所使用的相同验证模式:
- 验证请求结构及必需的头部(
DD-API-KEY、Content-Type),确保在发送实际流量前一切无误。 - 确认 JSON 有效载荷符合预期模式——即包含
message字段的日志对象数组。 - 测试错误处理(
400、401、429),且不会消耗 API 配额或污染生产环境日志索引。 - 基于稳定且可复现的端点开发并验证文档示例。
在编写 Galileo 软件开发工具包 (SDK) 文档时,同样适用这一模式。您应在 dev 日志流中测试已插桩的
函数,然后再将其部署到 production 环境,确保在真实用户流量通过之前正确配置了评估
指标。