JFrog连接REST API -触发更新

本指南解释了如何使用JFrog Connect REST API从设备上控制更新触发器来停止或启动更新的部署,包括现成的Python脚本。

时间阅读:

3.

分钟

JFrog Connect设备管理平台可用于在Linux边缘设备上部署OTA更新。但是,在边缘设备上执行更新例程时必须谨慎,以尽量减少更新过程可能引起的干扰和停机时间。这可以通过两种方法实现:

  • 手动-在边缘设备空转时更新它们
  • 自动-使用边缘设备从平台请求更新时,它是空转的

通常情况下,由于可能有许多设备执行不同的任务,因此仅为了推送一个更新而监视设备的使用情况是很困难的。因此,在运行在Linux设备上的程序中添加一个小型REST API调用将是一个优雅的解决方案,该调用可以通知仪表板它的可用性以接收更新。

JFrog连接的更新触发器API调用允许您利用这种机制,您可以使用该机制简单地通知仪表板它是否准备好接收更新。这个API调用是一个HTTP POST请求,其有效负载应该是JSON格式的。

为了简单起见,脚本是用Python编写的,前提模块是json而且请求.默认情况下,每个Python安装都会安装这些脚本,并且这些脚本是跨平台兼容的。

步骤1 -用于更改更新触发器的Python脚本模板

每个设备的设备令牌是唯一的,每个设备在第一次注册/注册时收到一个,可以在/etc/upswift/service/settings中找到Json文件在每个设备上。下一个python脚本包含一个自动函数,用于提取设备令牌和用户令牌,这些令牌将用于使用API调用更改更新触发器。


使用nano .py创建一个新文件,并输入脚本,并相应地更新详细信息。然后按“Ctrl+O”并按“Enter”确认保存。

进口json进口请求UPSWIFT_SETTINGS_FILE“/ etc / upswift /服务/ settings.json”#拉JFrog连接令牌开放(UPSWIFT_SETTINGS_FILE)作为json_file:数据json.load (json_file)# JFrog连接令牌user_token数据(“user_token”device_token数据(“device_token”json_content“user_token”user_token,“device_token”device_token,“trigger_set”真正的call_requestrequests.post (“https://api.upswift.io/v1/set_update_trigger”json = json_content)call_responsejson.loads (call_request.text)如果call_request.status_code! =200如果call_request.status_code= =429错误“API的限制达到“其他的错误call_response [“error_message”打印(错误)其他的打印"更新触发器状态已成功更新。"

步骤2 -执行脚本并验证功能


输入命令python .py,然后按Enter键。(在下面的例子中,文件被保存为upswift_device_update_trigger.py

步骤3 -更改更新触发器可用性

通过改变trigger_setJSON重要的价值真正的/在第2步的脚本中,并重新运行脚本,设备接收更新的可用性可以很容易地在仪表板上更改。如果trigger_set已经设置为真正的和脚本被执行,JFrog Connect将推迟任何未来的更新,直到trigger_setflag被脚本的未来执行设置为False。


尽管为了清晰起见,本示例是用Python编写的,但基本上任何支持HTTP POST请求的编程语言都应该能够使用所需的JSON格式有效负载调用这些api,并执行相同的任务。


有关JFrog Connect Change Device Details API的更多信息,请参阅官方文档