Выход HTTP в ArcGIS Velocity позволяет отправлять объекты и другой текст в конечную точку HTTP через запросы POST, PUT или DELETE. Запрос будет отправлен для каждого выходного объекта, отправленного в выходной оператор.
Пример
Аналитик настраивает выход HTTP для отправки объектов в настраиваемом формате JSON на назначенный веб-перехватчик.
Примечания по использованию
При работе с выходными данными нужно учитывать следующее:
- При отправке JSON в теле сообщения оберните JSON выражением Text() Arcade, чтобы правильно отформатировать JSON.
- При использовании выхода HTTP важно понимать скорость передачи данных. Каждая запись, отправленная на выход, будет генерировать отдельный запрос. Это может быстро привести к перегрузке настроек ограничения емкости или скорости веб-сервера. Используйте выход HTTP для инцидентов, которые, как ожидается, будут происходить не часто.
- При использовании аутентификации Открытая авторизация (OAuth) применяются следующие правила:
- Выходной тип поддерживает аутентификацию, используя конечные точки OAuth 2.0 for HTTP, соответствующие назначенным типам Учетные данные пользователя или Пароль. Эти типы предоставления OAuth соответствуют образцу, включающему конфигурацию запроса HTTP согласно токену доступа, и дополнительно настраивают запрос на использование токена обновления для получения новых токенов доступа. Во время настройки запроса токена доступа вам будет предложено указать токен доступа и необязательный токен обновления, а также поля ключа окончания срока действия JSON в ответе сервера авторизации OAuth. Если выбран срок окончания действия, необходимо задать тип окончания срока действия (продолжительность или метка времени) и единицы измерения. Чтобы настроить временную метку окончания срока действия, выраженную в виде строки, установите единицу окончания срока действия на Другое и укажите формат даты, добавив строку форматирования даты окончания срока действия. Если указан токен обновления без окончания срока действия, канал попытается выполнить запрос токена обновления, если основной запрос данных не будет выполнен дважды подряд.
- Если по запросу токена доступа идентифицируется токен обновления, необходимо использовать глобальную переменную $refreshToken, чтобы определить, где в конфигурации запроса токена обновления используется токен обновления. При желании глобальную переменную $accessToken можно использовать в запросе токена обновления. Обе глобальные переменные $refreshToken и $accessToken доступны для ссылок в теле POST, параметрах URL и параметрах Пользовательских заголовков.
- При возвращении к конфигурации запроса данных, необходимо использовать глобальную переменную $accessToken, чтобы задать, где используется токен доступа. Часто это происходит в настраиваемом заголовке Authorization, со значением Bearer $accessToken.
- Токены доступа могут храниться как JSON Web Tokens (JWT). При использовании формата JWT для токена доступа, включите опцию Использовать формат JWT. Velocity декодирует токен, и если полезные данные включают заявление exp, это значение автоматически используется в качестве окончания срока действия. exp - временная метка окончания срока действия токена доступа в секундах эпохи.
Выходные данные HTTP позволяют пользователям динамически заполнять URL или пользовательские значения заголовков из значений полей. Это позволяет пользователям создавать URL конечных точек, настраиваемые заголовки и параметры URL, специфичные для каждой обрабатываемой записи.
Пользователи могут ссылаться на значения полей в URL, Пользовательских заголовках и Параметрах URL, используя один из следующих форматов:
- $feature.fieldName - для стандартных имен полей.
- $feature['field name'] - если имя поля содержит пробелы.
Для поддержки тестирования и проверки соединения необходимо предоставить примеры значений для каждого указанного поля, используемого в URL, Пользовательских заголовках или Параметрах URL. Эти значения используются во время аналитической проверки и при тестировании подключения к целевой системе. Во время выполнения Velocity заменяет каждый заполнитель соответствующим значением атрибута из текущей записи.
Предположим, что ваша аналитика включает поле с именем sensor_id. Вы можете определить выходной URL как https://yourAPIURL.com/$feature.sensor_id. Для записи, где sensor_id = 1234, выход разрешается в https://yourAPIURL.com/1234. Тот же шаблон можно использовать для Пользовательских заголовков и Параметров URL.
- При отправке выражения Arcade, включающего атрибутивные поля в тело запроса, для оценки выражения требуются примеры значений. Используйте ниспадающий список Примеры значений, чтобы указать репрезентативные значения для любых полей атрибутов, на которые есть ссылки в выражении Arcade.
Параметры
Ниже приведены параметры выходных данных:
Параметр | Описание | Тип данных |
---|---|---|
URL | URL-адрес для отправки запросов выхода. | Строка |
Метод HTTP | Метод HTTP для запроса. Доступные варианты: POST, PUT и DELETE. | Строка |
Текст POST | Выражение JSON Arcade. | Выражение Arcade |
Content-Type | Заголовок content-type для исходящих запросов. Можно выбрать следующее:
| Строка |
Тип аутентификации | Выберите между опцией аутентификации None (отсутствие аутентификации), Базовая и OAuth. Если настроена опция аутентификации Базовая, появятся дополнительные поля, предлагающие ввести имя пользователя и пароль. Если настроена опция аутентификации OAuth, появится всплывающее окно, позволяющее настроить следующее:
После указания вышеперечисленного производится проверка соединения. Необходимо щелкнуть, чтобы идентифицировать токен доступа (и, при необходимости, значение токена обновления и окончания срока действия) в ответе JSON. Если указано значение токена обновления, появится дополнительное всплывающее окно, позволяющее настроить следующее:
После указания вышеперечисленного производится проверка соединения. Необходимо нажать, чтобы идентифицировать токен доступа и обновить токен в ответе JSON. | Различные параметры |
Параметры URL | Дополнительные параметры URL, включающиеся в URL запроса HTTP, отправляемого на указанный веб-сайт. Хотя параметры также могут быть отправлены с помощью указанного выше параметра URL, параметры URL, указанные здесь как отдельное свойство, имеют приоритет над соответствующими параметрами, указанными в параметре URL. Заданные в этом свойстве URL-параметры всегда закодированы в URL. | Пара ключ-значение |
Пользовательские заголовки | Дополнительные пользовательские заголовки, включающиеся в запрос HTTP, отправляемый на указанный веб-сайт. Например, пользовательские заголовки могут использоваться для указания стороннего ключа API или заголовка. | Пара ключ-значение |
Дополнительное ведение журнала | При желании можно включить ведение журнала необработанных HTTP-запросов и ответов, выдаваемых Velocity. Примечание:Этот параметр следует включать только для устранения неполадок и отключать после их завершения. После включения запустите аналитику, и журналы уровня отладки будут доступны на странице журналов аналитики. При необходимости обратитесь в EsriТехническую поддержку Поддержка за помощью в устранении неполадок. | Boolean |
Примеры значений | Позволяет пользователям определять выборку данных для каждого поля, на которое ссылается $feature.fieldName или $feature['fieldName']. Эти значения необходимы для тестирования и проверки соединения. | Пара ключ-значение |
Советы и ограничения
При использовании выходных данных учитывайте следующее:
- При использовании опции аутентификации OAuth помните следующее:
- При создании выходных данных выполняется множество запросов к серверу авторизации и связанной конечной точке данных. Некоторые API реализуют ограничение скорости для определенных запросов, и это может повлиять на создание выходных данных.
- В целях безопасности POST сообщения запросов токенов доступа должны быть переконфигурированы, если отредактированы параметры аутентификации.
- Веб-сервер должен быть доступен через Интернет.