Meta Data Service APIs
Meta Data microservice is the repository of knowledge about the devices and sensors and how to communicate with them that is used by the other services.
Content
Meta Data's purpose
Data dictionary
REST API outline
Reference
Meta Data’s Purpose
Is the repository of knowledge about the devices and sensors and how to communicate with them that is used by the other services, such as Core Data, Command, analytics, etc.
Specifically, Metadata has the following abilities:
Manages information about the devices and sensors connected to, and operated by, EdgeX Foundry
Knows the type, and organization of data reported by the devices and sensors
Knows how to command the devices and sensors
Data Dictionary
A Device represents a physical device or sensor
However, another EdgeX gateway or a system could be a “device”
Each device / sensor that is managed by EdgeX Foundry must be registered with Metadata and have a unique ID and name associated to it.
Device services represent other micro services that manage one or more devices
Each device is associated to one and only one device service
Each device service has a unique ID and name
A Device Profile can be thought of as a template of a type or classification of Device.
A device profile provides general characteristics for the types of data a device sends and what types of commands or actions can be sent to the device
A device must be associated to a single device profile
Each profile has a unique ID and name
Addressable represents some way to address a device or service, and managed by Meta Data
Could be an HTTP/REST address/endpoint
Could be an MQTT topic
REST API Outline
Device and Device Service APIs
GET's galore to query for Device by id, name, label, associated elements, etc.
Device Profile APIs
GET's galore to query for profile by id, name, label, manufacturer, etc.
Addressable APIs
GET's galore to query for Addressable by id, topic, address url, port, etc.
Some API Examples
GET device by name
http://localhost:48081/api/v1/device/name/{name}
Return Device matching given name (device names should be unique). The information includes the device, device service and device profile.
GET device by addressable name
http://localhost:48081/api/v1/device/addressablename/{addressablename}
Find all devices associated to the Addressable with the specified addressable name.
GET devices by service name
http://localhost:48081/api/v1/device/servicename/{servicename}
Find all devices associated to the Device Service with the specified service name (DeviceService names must be unique).
GET all devices
http://localhost:48081/api/v1/device
Return all devices sorted by id.
GET all device services
http://localhost:48081/api/v1/deviceservice
Return all device services sorted by id.
Reference
Core-metadata API document link: https://docs.edgexfoundry.org/core-metadata.html
Last updated
Was this helpful?