gRPC

The gRPC feed type in ArcGIS Velocity creates a built-in gRPC path endpoint that can be used to programmatically send data from gRPC clients and applications to Velocity, either in discrete requests or in a continuous stream. gRPC is an open-source remote procedure call framework used to connect distributed applications and services.

Examples

  • A GIS workshop implemented a custom gRPC client that uses Python to send structured data to Velocity using the gRPC feed type.
  • An organization with several data gathering applications, written in different languages, wants to make their data available for geospatial analysis. Custom gRPC clients are developed to send data from their various applications to Velocity using the gRPC feed type.

Usage notes

  • The gRPC feed is configured by a Velocity user including the schema and key field specification. Once the feed is created, on the feed details page, the gRPC endpoint header path key, gRPC endpoint header path, and gRPC endpoint URL parameters are available. These parameters are required when creating a gRPC client.
  • Set the Authentication type value to ArcGIS to utilize OAuth2.0 authentication. Each incoming message must include a valid token for the owner of the feed. Messages without a valid token will be rejected.
  • Data from a gRPC client needs to be formed as a structured object which is defined by the velocity_grpc.proto file.
  • The gRPC feed type supports synchronous or asynchronous calls.
  • The gRPC feed type supports client-streaming RPC (multiple requests with a single response) and unary RPC (single request with a single response).
  • In addition to configuring feed connection parameters, a gRPC client will need to be created to send features to Velocity. The gRPC framework supports many development languages. The realtime-grpc-feed Github repository contains essential resources such as the velocity_grpc.proto file used to define the contract between the client and the gRPC feed service, developer documentation, and reference implementations that illustrate how to create a gRPC client.
  • To learn more about gRPC capabilities and client development strategies, see the gRPC web page.

Parameters

ParameterDescriptionData type

Authentication type

Specifies whether incoming messages will be authenticated. Options are as follows:

  • None—Authentication is not performed.
  • ArcGIS—Each incoming message must include a valid token for the owner of the feed. Messages without a valid token will be rejected.

The token must be in the request headers as: Authorization: Bearer <your_token>

String

gRPC endpoint header path key

The key that identifies the feed for routing messages. The key is used with the header path to route messages to the feed.

This parameter is generated and populated by Velocity after the feed is published.

String

gRPC endpoint header path

The path that identifies the feed for routing messages.

This parameter is generated and populated by Velocity after the feed is published.

String

gRPC endpoint URL

The full URL to send messages as defined in the gRPC client channel.

This parameter is generated and populated by Velocity after the feed is published.

String