gRPC

ArcGIS Velocity 中的 gRPC 源类型可创建一个内置 gRPC 路径端点,该端点可用于以编程方式将数据从 gRPC 客户端和应用程序以离散请求或连续流的形式发送至 Velocity。gRPC 是一个开源的远程过程调用框架,用于连接分布式应用程序和服务。

示例

以下是源的使用示例:

  • GIS 研讨会实现了一个自定义 gRPC 客户端,该客户端将使用 Python 通过 gRPC 源将结构化数据发送到 Velocity
  • 拥有多个数据收集应用程序(以不同语言编写)的组织希望将其数据用于地理空间分析。 可以开发自定义 gRPC 客户端以通过 gRPC 源将数据从其各种应用程序发送至 Velocity

用法说明

使用源时,请谨记以下内容:

  • gRPC 源由 Velocity 用户进行配置,包括方案和关键字段指定。 在创建源后,将在源详细信息页面上提供 gRPC 端点标头路径密钥gRPC 端点标头路径gRPC 端点 URL 参数。 在创建 gRPC 客户端时,这些参数为必填项。
  • 身份验证类型参数设置为 ArcGIS 以使用 OAuth 2.0 身份验证。 每个传入消息都必须包含源所有者的有效令牌。 没有有效令牌的消息将被拒绝。
  • 必须将来自 gRPC 客户端的数据格式化为由 velocity_grpc.proto 文件定义的结构化对象。
  • gRPC 源类型支持同步和异步调用。
  • gRPC 源类型支持客户端流式 RPC(多个请求,单个响应)和一元 RPC(单个请求,单个响应)。
  • 除了配置源连接参数之外,还需要创建一个 gRPC 客户端才能将要素发送至 Velocity。 gRPC 框架支持多种开发语言。 realtime-grpc-feed GitHub 资料档案库包含基本资源,例如用于定义客户端与 gRPC 源服务之间协定的 velocity_grpc.proto 文件、开发人员文档以及说明如何创建 gRPC 客户端的参考实现。
  • 有关 gRPC 功能和客户端开发策略的详细信息,请参阅 gRPC 网页。
  • 如果您的方案具有可能为空的字段,请使用 Any.getDefaultInstance()(在 Java 中)或您的编程语言中的等效项来表示空值。 Velocity 会自动将要素中的相应字段设置为空。

参数

以下是源的参数:

参数描述数据类型
身份验证类型

指定是否对传入消息进行身份验证。 选项如下:

  • - 不执行身份验证。
  • ArcGIS - 每个传入消息都必须包含源所有者的有效令牌。 没有有效令牌的消息将被拒绝。

请求标头中的令牌格式必须为 Authorization: Bearer <your_token>

字符串

gRPC 端点标头路径键

标识用于路径选择消息的源的键。 该键将与标头路径配合使用以将消息路由到源。

此参数将在源发布后由 Velocity 生成并填充。

字符串

gRPC 端点标头路径

标识用于路径选择消息的源的路径。

此参数将在源发布后由 Velocity 生成并填充。

字符串

gRPC 端点 URL

gRPC 客户端通道中定义的用于发送消息的完整 URL。

此参数将在源发布后由 Velocity 生成并填充。

字符串

注意事项和限制

使用源时,请考虑以下事项:

可以与其他用户和群组共享 gRPC 源,该源使用 ArcGIS 身份验证类型并且具有写入权限。 在共享具有写入权限的 gRPC 源后,与之共享该源的用户和群组可以将数据写入源。 如果您不希望其他用户和群组能够将数据写入源,请勿共享打开了写入权限的源。 您可以从 Velocity 中的源详细信息页面打开和关闭写入权限。 有关详细信息,请参阅共享源