托管的目标概览

<ph type="x-smartling-placeholder"></ph> 您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
信息

<ph type="x-smartling-placeholder">

利用 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 代理