<ph type="x-smartling-placeholder"></ph>
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
利用 Hosted Targets,您可以在原生运行时中运行 Node.js 应用 由 Apigee 托管的环境Hosted Targets 的目标很简单:让您可以将 在原生、安全、可扩缩且隔离的环境中构建应用程序,在此环境中,Edge API 代理可以将它们作为目标服务进行调用。
如下图所示,Edge API 代理会调用 部署到 Hosted Targets 环境请注意,Hosted Targets 环境的范围是 。
获取 Edge API 代理与正确构建和部署的 Hosted Targets 应用通信 需要在代理的目标端点中进行简单配置。要开始使用,请参阅托管目标教程。
托管目标支持哪些应用运行时?
目前,您只能将 Node.js 应用部署到托管目标。
安装托管目标
Hosted Targets 适用于所有 Edge 公有云组织。您无需安装 任何使用 Hosted Targets 的工具。
验证是否已启用托管目标
如果您想验证贵组织是否已
已启用托管目标,获取
您的组织详细信息,并确保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" }
您需要了解的有关托管目标的注意事项
Hosted Targets 让 Node.js 应用能够在原生环境中运行 不依赖于任何 Apigee 专属运行时技术的工作负载。您可以调试和测试您的 然后再部署应用 与本地相同部署时,您可以为 在 Hosted Targets 中运行您的应用例如,您可以专门选择 在 v8.10.0 环境中运行 Node.js 应用。
限制
如需了解托管目标的用量限额,请参阅 Apigee 产品 限制。
需要遵循的基本步骤
如果您熟悉 Edge 代理开发,只需了解几个简单的步骤 以便成功使用托管目标本质上,您可以创建、部署和管理 Edge 代理 和任何其他 Apigee Edge 代理一样设置托管目标。
要使用托管目标,您需要执行以下任务。教程 详细介绍每项任务。
- 在本地开发和测试 Node.js 应用。
- 创建清单文件 放在应用项目的根目录下清单是一个 YAML 文件 构建和部署应用所需的信息。
- 以如下身份将应用添加到 Edge 代理: 托管资源 类型。
- 在代理的目标端点中,添加一个空的
<HostedTarget/>
标记。此代码 指示 Edge 将 Node.js 应用部署到 Hosted Targets 环境。例如:
<?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>
Hosted Targets 应用的范围
Hosted Targets 应用的范围限定为 Edge 组织环境。这一范围是 与任何 Edge 代理相同。
Hosted Targets 应用能否访问代理数据?
Hosted Targets 应用不支持 当前有权访问代理运行时环境。这意味着您无法访问 变量、缓存和其他实体。
借助嵌入式 Node.js(Edge 支持基于 Trireme 的传统 Node.js),您可以使用
apigee-access
在 Edge 中访问流变量和其他实体。不过,Hosted Targets 不
支持用于 Node.js 部署的 apigee-access
模块。
另请参阅
是否可以解决缺少 apigee-access 的问题?
将现有应用代码迁移到托管的目标
目前没有从传统的 向托管目标应用基于 Trireme 的嵌入式 Node.js 应用。 但是,您可以手动将现有应用代码转换为 Hosted Targets。例如: 请参阅迁移 一个现有的 Node.js 代理连接到 Hosted Targets 代理。