本页面适用于 Apigee 和 Apigee Hybrid。
查看 Apigee Edge 文档。
环境是要部署的 API 代理和共享流的运行时执行上下文。您必须先将 API 代理和共享流部署到一个或多个环境,然后才能对其进行访问以进行测试。如需详细了解环境,请参阅环境和环境组简介。
按照以下部分中的说明配置和部署环境。另请参阅管理 Apigee 工作区中的文件夹和文件。
配置环境
在部署环境之前,请对其进行配置,以确定要部署的 API 代理和共享流,并根据需要配置共享流钩子或目标服务器。
要配置环境,请创建环境并修改下表中定义的配置。
| 配置 | 说明 |
|---|---|
调试遮盖 (debugmasks.json) |
定义遮盖配置,以在跟踪记录和调试会话中遮盖特定数据。 |
部署 (deployments.json) |
在部署中定义 API 代理和共享流。 |
流钩子 (flowhooks.json) |
将共享流连接到流钩子,使得对于部署到环境中的所有 API 代理,共享流都在同一位置执行。 |
目标服务器 (targetservers.json) |
将具体端点与目标端点分离,以支持跨多个后端服务器实例进行负载均衡和故障切换。 |
密钥库 (keystores.json) |
向您的目标端点和目标服务器添加 TLS 支持。 |
此外,如果您使用任何需要资源的政策,还可以根据需要在环境级层管理资源。
创建环境
如需在 Cloud Code 中的 Apigee 中创建环境,请执行以下操作:
执行以下操作之一:
将光标悬停在 Apigee 工作区中的 environments 文件夹上,然后点击
。
选择 View > Command Palette 以打开 Command Palette,然后选择 Cloud Code: Create Apigee environment。
系统会打开创建环境向导。
输入环境名称,然后按 Enter 键。
该环境会被添加到 Apigee 部分的 environments 文件夹中:

按照以下部分中的说明配置环境。
配置调试遮盖 (debugmask.json)
Apigee 让您可以定义遮盖配置,以在跟踪和调试会话中遮盖特定数据。遮盖数据后,这些数据会在跟踪记录输出中被替换为星号。例如:
<description>**********</description>
如需了解详情,请参阅遮盖敏感数据。
要配置调试掩码,请通过直接修改文件更新 debugmask.json 文件。
下面提供了 JSON 格式的遮盖配置的基本结构示例。 如需详细了解示例中的遮盖配置字段,请参阅 DebugMask。
{ "namespaces": { "myco": "https://example.com" }, "requestXPaths": [ "/myco:Greeting/myco:User" ], "responseXPaths": [ "/myco:Greeting/myco:User" ], "faultXPaths": [ "/myco:Greeting/myco:User" ], "requestJSONPaths": [ "$.store.book[].author" ], "responseJSONPaths": [ "$.store.book[].author" ], "faultJSONPaths": [ "$.store.book[*].author" ], "variables": [ "request.header.user-agent", "request.formparam.password" ] }
配置部署 (deployments.json)
配置要在部署中包含的 API 代理和共享流。
如需配置部署,请使用配置向导更新 deployments.json 文件,或直接修改文件。
要使用配置向导配置部署,请执行以下操作:
- 将光标放在环境的 deployments.json 文件上,然后点击
。

- 逐步完成配置向导,以选择部署并自动填充
deployments.json文件中的字段。deployments.json文件会在编辑器中打开。 - 根据需要修改配置。
- 选择 File > Save 或 ⌘S 保存修改。
以下示例将部署配置为包含 helloworld API 代理以及 mysharedflow 和 hw-sharedflow 共享流:
{
"proxies" : [
"helloworld"
],
"sharedflows" : [
"mysharedflow",
"hw-sharedflow"
]
}使用代理和共享流部署来配置服务账号
依赖 Google 服务作为后端的 API 代理可能需要 Google Cloud 服务账号与部署相关联。请参阅使用 Google 身份验证。
修改 deployments.json 文件时,您可以将 API 代理或共享流与 Google Cloud 服务账号关联。例如:
{
"name": "proxy-name",
"serviceAccount": "associated-service-account"
}以下示例展示了服务账号与 API 代理 helloworld 和共享流 mysharedflow 相关联,而代理 healthcheck 和共享流 hw-sharedflow 与服务账号不相关联的部署配置:
{
"proxies": [
{
"name": "helloworld",
"serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
},
"healthcheck"
],
"sharedflows": [
{
"name": "mysharedflow",
"serviceAccount": "myserviceaccount@myorg.iam.gserviceaccount.com"
},
"hw-sharedflow"
]
}详细了解如何配置 Apigee 模拟器以测试 API 代理中的服务账号身份验证功能。
使用流钩子 (flowhooks.json) 连接共享流
您可以通过流钩子连接共享流,使得对于部署到特定环境的所有 API 代理,它都在同一位置执行。这为您提供了一个单独实现和部署的逻辑序列,该序列不属于代理的实现代码。具体来说,您可以在 API 代理流中的以下位置连接共享流:
- API 代理端点执行之前 (
PreProxyFlowHook) - API 代理端点执行之后并且在响应发送到客户端之前 (
PostProxyFlowHook) - 目标端点执行之前 (
PreTargetFlowHook) - 目标响应执行之后 (
PostTargetFlowHook)
如需详细了解流钩子,请参阅使用流钩子连接共享流。
部署到相应环境的每个代理的流钩子处执行。要使用流钩子连接共享流,请使用配置向导更新 flowhooks.json 文件,或直接修改文件。
如需使用配置向导配置流程钩子,请执行以下操作:
- 将光标放在环境的 flowhooks.json 文件上,然后点击
。 - 选择要连接到 API 代理流中特定位置的共享流,并自动填充
flowhooks.json文件中的字段。flowhooks.json文件会在编辑器中打开。 - 根据需要修改配置。
- 选择 File > Save 或 ⌘S 保存修改。
以下示例将 mysharedflow 连接到 PreProxyFlowHook,以便该共享流在 API 代理端点执行之前执行:
{
"PreProxyFlowHook": {
"continueOnError": true,
"sharedFlow": "mysharedflow",
"description": "Shared enforced before a proxy endpoint executes."
}
}配置目标服务器 (targetservers.json)
目标服务器 (TargetServer) 将具体的端点网址与目标端点 (TargetEndpoint) 配置分离开来。您可以配置一个或多个已命名的 TargetServer,而不是在配置中定义具体的网址。然后,在 TargetEndpoint HTTPConnection 中按名称引用每个 TargetServer。
如需详细了解目标服务器,请参阅以下主题:
要配置目标服务器,请使用配置向导更新 targetservers.json 文件,或直接修改文件。有关 targetservers.json 文件中的字段的说明,请参阅资源:TargetServer。
要使用配置向导配置目标服务器,请执行以下操作:
- 将光标放在环境的 targetservers.json 文件上,然后点击
。 - 逐步完成配置向导,以配置目标服务器并自动填充
targetservers.json文件中的字段。targetservers.json文件会在编辑器中打开。 - 根据需要修改配置。
- 选择 File > Save 或 ⌘S 保存修改。
以下示例在环境中添加新的目标服务器:
[
{
"enabled": true,
"name": "mytargetserver",
"description": "My first target server",
"host": "localhost",
"port": 80
}
]以下示例使用密钥库配置使用双向 TLS 的目标服务器:
[
{
"name": "mtlsserver",
"host": "mytargetserver.mydomain",
"port": 443,
"enabled": true,
"protocol": "HTTP",
"tlsInfo": {
"enabled": true,
"clientAuthEnabled": true,
"keyStore": "mykeystore",
"keyAlias": "mykeyandcert",
"trustStore": "mytruststore"
}
}
]配置密钥库 (keystores.json)
密钥库定义了用于目标端点和目标服务器中的 TLS 加密的安全证书库。
如需详细了解 TLS 配置,请参阅用于配置 TLS 的选项。
如需配置密钥库,请执行以下操作:
- 在编辑器中打开环境的
keystores.json文件。该文件包含两个主要元素stores- 添加的密钥库名称和别名的映射。references- 所有密钥库引用名称和关联的密钥库名称的映射。
- 根据需要修改配置。
- 选择 File > Save 或 ⌘S 保存修改。
以下示例展示了包含两个别名 mycert-alias 和 mykeycert-alias 的密钥库 mykeystore:
{
"stores": {
"mykeystore": {
"my-cert-alias": {
"cert": "/Users/jdoe/testkeys/cert1.pem"
},
"my-keycert-alias": {
"key": "/Users/jdoe/testkeys/key1.pem",
"cert": "/Users/jdoe/testkeys/cert1.pem"
}
}
}
}部署环境
部署为环境配置的 API 代理和共享流,以便对其进行访问以进行测试。
要部署环境,请执行以下操作:
- 在 Apigee 部分中,将光标放在要部署的环境的文件夹上。
- 点击
。

- 如果 Apigee 模拟器有多个容器正在运行,请选择要在其中部署环境的容器。
- 选择要使用部署导出的测试软件包,或选择不使用测试软件包进行部署。

您可以稍后导出测试资源,如将测试资源导出到 Apigee 模拟器中所述。
环境部署完成,输出标签页中显示成功消息。
已部署的应用显示在 Apigee 模拟器中:
