Core Metadata - Configuration
Please refer to the general Common Configuration documentation for configuration settings common to all services. Below are only the additional settings and sections that are specific to Core Metadata.
EdgeX 3.0
Notifications configuration is removed in EdgeX 3.0. Metadata will leverage Device System Events to replace the original device change notifications.
Edgex 3.0
For EdgeX 3.0 the MessageQueue
configuration has been moved to MessageBus
in Common Configuration.
Property | Default Value | Description |
---|---|---|
entries in the Writable section of the configuration can be changed on the fly while the service is running if the service is running with the -cp/--configProvider flag |
||
LogLevel | INFO | log entry severity level. Log entries not of the default level or higher are ignored. |
Property | Default Value | Description |
---|---|---|
See Writable.Telemetry at Common Configuration for the Telemetry configuration common to all services |
||
Metrics | <TBD> |
Service metrics that Core Metadata collects. Boolean value indicates if reporting of the metric is enabled. |
Tags | <empty> |
List of arbitrary Core Metadata service level tags to included with every metric that is reported. |
Property | Default Value | Description |
---|---|---|
StrictDeviceProfileChanges | false | Whether to allow device profile modifications, set to true to reject all modifications which might impact the existing events and readings. Thus, the changes like manufacture , isHidden , or description can still be made. |
StrictDeviceProfileDeletes | false | Whether to allow device profile deletionsm set to true to reject all deletions. |
Property | Default Value | Description |
---|---|---|
Validation | false | Whether to enable units of measure validation, set to true to validate all device profile units against the list of units of measure by core metadata. |
Property | Default Value | Description |
---|---|---|
Unique settings for Core Metadata. The common settings can be found at Common Configuration | ||
Port | 59881 | Micro service port number |
StartupMsg | This is the EdgeX Core Metadata Microservice | Message logged when service completes bootstrap start-up |
Property | Default Value | Description |
---|---|---|
UoMFile | './res/uom.yaml' | path to the location of units of measure configuration |
Property | Default Value | Description |
---|---|---|
Unique settings for Core Metadata. The common settings can be found at Common Configuration | ||
Name | metadata | Database or document store name |
Property | Default Value | Description |
---|---|---|
Unique settings for Core Metadata. The common settings can be found at Common Configuration | ||
ClientId | core-metadata | Id used when connecting to MQTT or NATS base MessageBus |
Units of Measure
Core metadata will read unit of measure configuration (see configuration example below) located in UoM.UoMFile
during startup.
The specified configuration may be a local configuration file or the URI of the configuration. See the URI for Files section for more details.
EdgeX 3.1
Support for loading the UoM.UoMFile
configuration via URI is new in EdgeX 3.1.
Sample unit of measure configuration
Source: reference to source for all UoM if not specified below
Units:
temperature:
Source: www.weather.com
Values:
- C
- F
- K
weights:
Source: www.usa.gov/federal-agencies/weights-and-measures-division
Values:
- lbs
- ounces
- kilos
- grams
When validation is turned on (Writable.UoM.Validation
is set to true
),
all device profile units
(in device resource, device properties) will be validated against the list of units of measure by core metadata.
In other words, when a device profile is created or updated via the core metadata API, the units specified in the device resource's units
field
will be checked against the valid list of UoM provided via core metadata configuration.
If the units
value matches any one of the configuration units of measure, then the device resource is considered valid - allowing the create or update operation to continue.
If the units
value does not match any one of the configuration units of measure, then the device profile or device resource operation (create or update) is rejected (error code 500 is returned) and an appropriate error message is returned in the response to the caller of the core metadata API.
Note
The units
field on a profile is and shall remain optional. If the units
field is not specified in the device profile, then it is assumed that the device resource does not have well-defined units of measure. In other words, core metadata will not fail a profile with no units
field specified on a device resource.
V3 Configuration Migration Guide
- Removed
RequireMessageBus
- UoMFile value changed to point to YAML file instead of TOML file
See Common Configuration Reference for complete details on common configuration changes.