Skip to content

Edge App Deployment Service

Idea

This service provides an interface for triggering installation and removal jobs of Edge apps for Edge devices. Edge devices are responsible for polling the jobs and executing the required actions.

Extensibility

The Edge App Deployment Service guarantees that it will adhere to the contract specified in the API specification. It will return the listed fields as specified. However, additional fields might be introduced as backwards compatible extensions of the API.

Make sure that your client is able to handle such extensions gracefully.

Info

The Edge App Deployment Service is currently only available in region Europe 1.

Access

For accessing this service you need to have the respective roles listed in Edge App Deployment Service roles and scopes.

Download URIs

Download URIs specified in the installation jobs must contain embedded credentials or refer to public resources. Devices access the URIs directly without using MindSphere credentials.

Basics

App Deployment

The Edge App Deployment Service tracks the status of Edge app deployment jobs. The typical workflow for deploying apps to a device is:

  1. The user selects a published app release via a user interface.
  2. The associated terms and conditions document is presented to the user .
  3. The user has to accept the terms and conditions. This information can be stored and queried using the Edge App Deployment Service.
  4. After accepting the terms and conditions, the user can trigger the Edge app deployment job via the user interface.
  5. The Edge App Deployment Service automatically verifies that the user's device is of the correct device type and sends the job to the device.
  6. The device receives the job.
  7. The device performs the app installation while sending status messages to the Edge App Deployment Service. Meanwhile, the job can be updated or canceled via the user interface.
  8. The Edge App Deployment Service receives the job's result and records version information of the actual app on the device.

State Machine

The Firmware Deployment Service uses a state machine to track the Edge app deployment progress. For detailed information, refer to the Basics.

App Removal

The Edge App Deployment Service allows users to remove apps from devices and tracks the status of app removal jobs. The typical workflow for deploying apps to a device is:

  1. The user triggers the app removal job via a user interface.
  2. The Edge App Deployment Service sends the job to the device.
  3. The device receives the job.
  4. The device performs the app removal while sending status messages to the Edge App Deployment Service. Meanwhile, the job can be updated or canceled via the user interface.
  5. The Edge App Deployment Service receives the job's result and updates information about apps available on the device.

State Machine

The Firmware Deployment Service uses a state machine to track the app removal progress. For detailed information, refer to the Basics.

Periodic Polls

Devices have to regularly poll for open jobs from this service using the following endpoints:

1
2
GET /api/edgeappdeployment/v3/devices/{deviceId}/installation/jobs
GET /api/edgeappdeployment/v3/devices/{deviceId}/removal/jobs

Features

The Edge App Deployment Service exposes its API for realizing the following tasks:

  • deploy and remove app releases to/from devices
  • manage Edge app deployment jobs
  • record user's acceptance of terms and conditions

Limitations

  • Edge App deployment and removal jobs older than 90 days are automatically cleaned up.

Controlled Content

Upload, download and distribution operations of controlled content to MindSphere are not allowed. Users are accountable for the content of files they distribute using Edge Services.

Example Scenario

The producer of a sensor, which uploads data to MindSphere, wants to regularly provide new versions of device software to their customers. They develop a user interface for MindSphere, which uses the Edge App Deployment Service for uploading the software to the devices. Before deployment, the user interface requests that the user accepts the terms and conditions of the software. Their acceptance is recorded using the Edge App Deployment Service, so the user won't be asked again when downloading the same software to other devices afterwards.

Any questions left?

Ask the community


Except where otherwise noted, content on this site is licensed under the MindSphere Development License Agreement.