托管目标常见问题解答

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

我可以创建或部署的托管目标数量是否有限制?

如需了解您的方案的托管目标权限,请参阅 Apigee Edge Cloud 比较矩阵规范表

Hosted Target 代理是否支持 Management API?

未创建新的管理 API,或更改了现有 API 以支持托管目标;但是,只要正确构建托管目标代理,您就可以使用现有管理 API 部署和管理使用托管目标的代理。另请参阅 Node.js 应用所需的目录结构

我可以使用 IP 许可名单来保护目标后端吗?

构建托管目标的技术 Google App Engine (GAE) 不提供为应用提供静态 IP 地址的方式。GAE 使用 IP 池范围;因此,可以允许一系列 IP 地址。如需了解详情,请参阅此 GAE 常见问题解答条目:静态 IP 地址和 App Engine 应用

我可以在一个代理中放置多个 <HostedTarget> 目标端点吗?

不可以。每个代理只能部署一个托管目标应用。已部署的应用是位于代理的 resources/managed 目录中的应用。

能否解决缺少 apigee-access 的问题?

您无法在 Hosted Targets 应用中使用 apigee-access 模块。如果您将传统嵌入式 Node.js 与 apigee-access 搭配使用,并且想要迁移到托管的目标平台,请考虑以下可能性:

  • 使用 Edge 政策 - 尽可能使用标准 Edge 政策替换现有 apigee-access 代码的功能。
  • 使用标头 - 您可以通过 HTTP 请求标头将 KVM 值和流变量放入 Node.js 应用中。此策略适用于 API 代理的请求流中可用的 KVM 值或流变量。
  • 使用环境变量 - 您可以设置环境变量,其值由 KVM 提供。相关说明请参阅用户指南的清单文件部分。

我可以使用 Java 密钥库 (JKS) 文件进行 TLS 加密吗?

Hosted Targets 不支持将 JKS 用于 TLS 来替代 PEM 文件,请参阅此处之前的文档。Hosted Targets 使用原生 Node.js,因此以原生方式使用 OpenSSL。设置 TLS/SSL 连接时,请参阅 Node.js 文档提供的 TLS (SSL) 文档

管理临时文件的最佳方式是什么?

务必删除临时文件。临时目录中的本地磁盘存储是内存中的文件系统。您写入的所有文件都会占用函数可以使用的内存。您写入的文件通常在连续调用时可用,因此如果不删除这些文件,最终可能会导致内存不足错误,并且随后需要进行冷启动。

请勿试图在临时目录之外执行写入操作。此外,请使用 os.tmpdir()path.join() 等独立于平台的方法来构建临时文件路径,确保您的函数也可以在任何平台上的模拟器上运行。

如需了解详情,请参阅此 Google Cloud 文档

我可以部署多个代理修订版本吗?

借助 Apigee Edge,您可以将代理的多个修订版部署到具有不同基本路径的环境;不过,托管式目标不支持此行为。

请求标头大小是否有限制?

对于最新版本的 Node.js (11.3.0+) 以及 LTS 版本(包括 6.14.0+、8.14.0+ 和 11.3.0+),您可以在 Node.js 应用中使用的请求标头大小上限为 8 KB。如果要传递大于 8 KB 的标头,请指定上方列表中未列出的其他 Node.js 版本。您可以在应用的清单文件中执行此操作。例如:

  runtime: node
  runtimeVersion:6.4.1
  application:my-express-app
  env:
    - name: NODE_ENV
      value: production
    - name: LOG_LEVEL
      value: 3
  

我可以对托管目标使用 HTTP 响应流式传输吗?

托管式目标不支持 HTTP 响应流式传输,因为托管式目标的构建基础技术 Google App Engine (GAE) 不支持流式传输

有请求超时限制吗?

Google App Engine (GAE) 规定了 60 秒的请求超时时间。另请参阅 GAE 文档中的配额和限制