gRPC

Тип канала gRPC в ArcGIS Velocity создает встроенную конечную точку пути gRPC, которую можно использовать для программной отправки данных из клиентов и приложений gRPC в Velocity дискретными запросами или непрерывным потоком. gRPC - это платформа удаленного вызова процедур с открытым исходным кодом, используемая для подключения распределенных приложений и служб.

Примеры

Ниже приведены примеры использования канала gRPC:

  • Мастерская ГИС реализовала собственный клиент gRPC, который использует Python для отправки структурированных данных в Velocity с использованием канала типа gRPC.
  • Организация с несколькими предназначенными для сбора данных приложениями, написанными на разных языках, хочет сделать свои данные доступными для геопространственного анализа. Настраиваемые клиенты gRPC разработаны для отправки данных из различных приложений Velocity с использованием канала gRPC.

Примечания по использованию

При работе с каналом gRPC учитывайте следующее:

  • Канал gRPC настраивается пользователем Velocity, в том числе со спецификацией схемы и ключевого поля. После создания канала на странице сведений о канале становятся доступны параметры Ключ пути заголовка конечной точки gRPC, Путь заголовка конечной точки gRPC и URL конечной точки gRPC. Эти параметры необходимы при создании клиента gRPC.
  • Установите для параметра Тип аутентификации значение ArcGIS, чтобы использовать аутентификацию OAuth 2.0. Каждое входящее сообщение затем должно включать допустимый токен для владельца канала. Сообщения без допустимого токена будут отклонены.
  • Данные, полученные от клиента gRPC, должны быть сформированы как структурированный объект, который определяется файлом velocity_grpc.proto.
  • Канал типа gRPC поддерживает синхронный и асинхронный вызовы.
  • Канал типа gRPC поддерживает RPC с потоковой передачей клиента (несколько запросов с одним ответом) и унарный RPC (один запрос с одним ответом).
  • Помимо настройки параметров подключения к каналу, клиент gRPC должен быть создан для отправки объектов в Velocity. Фреймворк gRPC поддерживает большое число языков программирования. Репозиторий realtime-grpc-feed GitHub содержит важные ресурсы, например, файл velocity_grpc.proto, используемый для определения контракта между клиентом и сервисом канала gRPC, документацию для разработчиков и справочные реализации, иллюстрирующие создание клиента gRPC.
  • Чтобы подробнее изучить возможности gRPC и стратегии разработки клиентов, см. веб-страницу gRPC.

Параметры

Ниже приведены параметры канала gRPC:

ПараметрОписаниеТип данных

Тип аутентификации

Определяет, будут ли входящие сообщения аутентифицированы. Можно выбрать следующие опции:

  • Нет: аутентификация не выполняется.
  • ArcGIS — каждое входящее сообщение затем должно включать допустимый токен для владельца канала. Сообщения без допустимого токена будут отклонены.

Токен должен быть в заголовках запроса в следующей форме: Authorization: Bearer <your_token>

Строка

Ключ пути заголовка конечной точки gRPC

Ключ, определяющий канал для сообщений маршрутизации. Ключ используется с путем заголовка для сообщений маршрутизации к каналу.

Этот параметр создается и заполняется Velocity после публикации канала.

Строка

Путь заголовка конечной точки gRPC

Путь, определяющий канал для сообщений маршрутизации.

Этот параметр создается и заполняется Velocity после публикации канала.

Строка

URL конечной точки gRPC

Полный URL для отправки сообщений, как задано в канале клиента gRPC.

Этот параметр создается и заполняется Velocity после публикации канала.

Строка

Советы и ограничения

Каналы gRPC, использующие тип аутентификации ArcGIS, могут быть доступны другим пользователям и группам с правами на запись. Когда канал gRPC публикуется с правами на запись, пользователи и группы, для которых он опубликован, могут записывать данные в канал. Не предоставляйте общий доступ к каналу с включенными правами на запись, если вы не хотите, чтобы другие пользователи и группы могли записывать в него данные. Вы можете включать и отключать права на запись на странице сведений о канале в разделе Velocity. Дополнительные сведения см. в разделе Публикация каналов.