當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python ArcGIS HttpPoller用法及代碼示例

本文簡要介紹 python 語言中 arcgis.realtime.velocity.feeds.HttpPoller 的用法。

用法:

class arcgis.realtime.velocity.feeds.HttpPoller(label, description, url, http_method, http_auth_type, url_params=<factory>, http_headers=<factory>, enable_long_polling=False, data_format=None, track_id_field=None, geometry=None, time=None, run_interval=RunInterval(cron_expression='0 * * ? * * *', timezone='America/Los_Angeles'))

可選參數:

  • data_format: [ EsriJsonFormat GeoJsonFormat DelimitedFormat JsonFormat XMLFormat ]。包含此 feed 的數據格式配置的實例。僅配置允許的格式。如果在初始化期間未正確設置,則會自動檢測格式並根據傳入數據的樣本進行設置。該示例將從 init 中迄今為止提供的配置中獲取。
  • track_id_field: String 。應設置為軌道 ID 的傳入數據的字段名稱。
  • geometry: [XYZGeometrySingleFieldGeometry]。幾何配置的實例,將用於從傳入數據創建幾何對象。
  • time: [TimeInstantTimeInterval]。時間配置實例,將用於根據傳入數據創建時間信息。
  • run_interval: RunInterval 。調度程序配置的實例。默認為:RunInterval(cron_expression=”0 * * ? * * *”, timezone=”America/Los_Angeles”)

返回:

具有 Http poller feed 配置的數據類。

輪詢 HTTP 端點以獲取事件數據。該數據類可用於定義提要配置並創建提要。

Parameter

Description

label

String 。此 Feed 實例的唯一標簽。

description

String 。飼料說明。

url

String 。提供數據的 HTTP 端點的 URL。

http_http_method

String 。 HTTP 方法。選項:GET 或 POST。

http_auth_type

[ NoAuth BasicAuth CertificateAuth 、OAuth]。包含此 feed 實例的身份驗證信息的實例。

url_params

字典[str, str]。 URL 參數/值對的字典,包含用於訪問 HTTP 資源的 HTTP 參數。

http_headers

字典[str,str]。 Name-Value 字典,其中包含用於連接到 HTTP 資源的 HTTP 標頭。

enable_long_polling

布爾。默認值為:False。

例子:

# Usage Example

from arcgis.realtime.velocity.feeds import HttpPoller
from arcgis.realtime.velocity.http_authentication_type import (
    NoAuth,
    BasicAuth,
    CertificateAuth,
)
arcgis.realtime.velocity.input.format import DelimitedFormat
from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry
from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant
from arcgis.realtime.velocity.feeds.run_interval import RunInterval

name = "http_poller_feed_name"
description = "http_poller_description_feed"
url = "http_poller_url"
http_auth = NoAuth()
# http_auth = BasicAuth(username="username", password="password")
# http_auth = CertificateAuth(pfx_file_http_location="http_auth_link", password="password")

http_headers = {"Content-Type": "application/json"}
url_params = {"f": "json"}

http_poller = HttpPoller(
    label=name,
    description=description,
    url=url,
    http_method="GET",
    http_auth_type=http_auth,
    url_params=url_params,
    http_headers=http_headers,
    enable_long_polling=False,
    data_format=None
)

# Set track id field
http_poller.set_track_id("track_id")

# Set time field
time = TimeInstant(time_field="time_field")
http_poller.set_time_config(time=time)

# Set geometry field
geometry = XYZGeometry(
    x_field="x",
    y_field="y",
    wkid=4326
)
http_poller.set_geometry_config(geometry=geometry)

# Set recurrence
http_poller.run_interval = RunInterval(
    cron_expression="0 * * ? * * *", timezone="America/Los_Angeles"
)

# use velocity object to get the FeedsManager instance
feeds = velocity.feeds

# use the FeedsManager object to create a feed from this feed configuration
http_poller_feed = feeds.create(http_poller)
http_poller_feed.start()
feeds.items

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.realtime.velocity.feeds.HttpPoller。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。