您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
借助托管目标,您可以在由 Apigee 托管的原生运行时环境中运行 Node.js 应用。托管目标的目的是让您能够在原生、安全、可扩缩且隔离的环境中部署应用,以便 Edge API 代理可以将其作为目标服务进行调用。
如下图所示,Edge API 代理会调用部署到托管目标环境的 Node.js 应用。请注意,托管目标环境的范围限定在 Apigee 组织:环境中。

要使 Edge API 代理与正确构建和部署的托管目标应用进行通信,需要在代理的目标端点中进行简单配置。如需开始使用,请参阅托管目标平台教程。
托管目标支持哪些应用运行时?
目前,您只能将 Node.js 应用部署到托管目标。
安装托管目标
托管目标可在所有 Edge Public Cloud 组织中使用。您无需安装任何内容即可使用托管目标。
验证是否已启用托管目标平台
如果您想验证贵组织是否已启用托管目标,请获取贵组织的详细信息,并确保 features.isEdgeFunctionsEnabled 属性设置为 true。该属性为只读属性。
例如:
https://api.enterprise.apigee.com/v1/organizations/myorg
{ "createdAt":1507572884047, "createdBy":"jdoe@apigee.com", "displayName":"myorg", "environments":[ "prod", "dev", "test", "portal" ], "lastModifiedAt":1507578673194, "lastModifiedBy":"jdoe@apigee.com", "name":"jdoe", "properties":{ "property":[ { "name":"features.isSmbOrganization", "value":"false" }, { "name":"self.service.virtual.host.enabled", "value":"true" }, { "name":"features.isCpsEnabled", "value":"true" }, { "name":"features.isEdgeFunctionsEnabled", "value":"true" } ] }, "type":"paid" }
关于托管目标的注意事项
借助托管目标,Node.js 应用可在不依赖任何 Apigee 特定运行时技术的原生环境中运行。您可以在本地调试和测试应用,然后再部署该应用,并确保部署的版本与本地版本完全相同。在部署时,您可以选择任何应用运行时版本,以便在托管目标平台中运行应用。例如,您可以专门选择在 v8.10.0 环境中运行 Node.js 应用。
限制
如需了解托管目标的用量限制,请参阅 Apigee 产品限制。
需要遵循的基本步骤
如果您熟悉 Edge 代理开发,只需学习几个简单的步骤即可成功使用托管目标。从本质上讲,您创建、部署和管理托管目标的 Edge 代理的方式与管理任何其他 Apigee Edge 代理的方式相同。
如需使用托管目标,您需要完成以下任务。教程详细介绍了每项任务。
- 在本地开发和测试 Node.js 应用。
- 在应用项目的根目录中创建一个清单文件。清单是一个 YAML 文件,用于指定构建和部署应用所需的信息。
- 将应用作为托管资源类型添加到 Edge 代理。
- 在代理的目标端点中,添加一个空的
<HostedTarget/>标记。此标记用于告知 Edge 将 Node.js 应用部署到托管目标环境。例如:
<?xml version="1.0" encoding="UTF-8"?>
<TargetEndpoint name="default">
<PreFlow name="PreFlow">
<Request />
<Response />
</PreFlow>
<PostFlow name="PostFlow">
<Request />
<Response />
</PostFlow>
<Flows />
<HostedTarget />
</TargetEndpoint>托管目标应用的应用范围
托管目标应用的作用范围限定为 Edge 组织环境。此范围与任何 Edge 代理的范围相同。
托管目标应用能否访问代理数据?
托管目标应用目前无法访问代理运行时环境。这意味着您无法直接从托管目标平台应用访问流程变量、缓存和其他实体。
借助嵌入式 Node.js(Edge 中基于 Trireme 的传统 Node.js 支持),您可以使用 apigee-access 访问 Edge 中的流变量和其他实体。不过,托管目标不支持 Node.js 部署的 apigee-access 模块。
另请参阅是否可以绕过缺少 apigee-access 的问题?
将现有应用代码迁移到托管目标平台
目前,没有从传统的 基于 Trireme 的嵌入式 Node.js 应用到托管目标的自动迁移路径。 不过,您可以手动将现有应用代码转换为托管目标平台。如需查看示例,请参阅将现有 Node.js 代理迁移到托管目标代理。