使用 python 脚本访问 Orion CB

Accessing Orion CB with python script

想使用 python 脚本(不使用 curl 或 Postman)访问 orion 数据。下面显示我的 orion.py 脚本中的 python 脚本:

import json
import requests

orion_endpoint="some-endpoint"

url_query=("orion_url" % (orion_endpoint))
body_dict = {
  'entities': [
    {
      'type': 'AirQualityObserved',
      'idPattern': '.*',
    }
  ],

}

r_headers = {'Content-Type': 'application/json'}
#print(data["coordinates"][0][0])
r = requests.post(
    url=url_query,
    data=json.dumps(body_dict),
    headers=r_headers
)

print(r.content) 

运行 此脚本将实体信息转储到控制台。我如何使用脚本订阅通知以便收到通知(不仅仅是转储上下文)?

Orion Context Broker 实现了 REST API,因此可以使用任何能够执行 HTTP 请求的编程语言(Python 是其中之一,例如使用 requests 模块) .

要创建订阅,您可以使用您正在使用的相同 requests.post(),但参数化不同。特别是:

  • url 将是 API 中订阅资源对应的那个,即 /v2/entities.
  • 根据 NGSIv2 specification. 中的 "Subscriptions" 部分,
  • data 应该遵循订阅的语法
  • headers可以一样

如有帮助,this script 展示了如何在 Python 中创建订阅。