Class AdrBaseService.Service
- Assembly
- Azure.Iot.Operations.Services.dll
public abstract class AdrBaseService.Service : IAsyncDisposable
- Inheritance
-
AdrBaseService.Service
- Implements
- Inherited Members
Constructors
Service(ApplicationContext, IMqttPubSubClient, Dictionary<string, string>?)
Construct a new instance of this service.
public Service(ApplicationContext applicationContext, IMqttPubSubClient mqttClient, Dictionary<string, string>? topicTokenMap = null)
Parameters
applicationContext
ApplicationContextThe shared context for your application.
mqttClient
IMqttPubSubClientThe MQTT client to use.
topicTokenMap
Dictionary<string, string>The topic token replacement map to use for all operations by default. Generally, this will include the token values for topic tokens such as "modelId" which should be the same for the duration of this service's lifetime. Note that additional topic tokens can be specified per-telemetry message.
Properties
AssetUpdateEventTelemetrySender
public AdrBaseService.AssetUpdateEventTelemetrySender AssetUpdateEventTelemetrySender { get; }
Property Value
CreateOrUpdateDiscoveredAssetCommandExecutor
public AdrBaseService.CreateOrUpdateDiscoveredAssetCommandExecutor CreateOrUpdateDiscoveredAssetCommandExecutor { get; }
Property Value
DeviceUpdateEventTelemetrySender
public AdrBaseService.DeviceUpdateEventTelemetrySender DeviceUpdateEventTelemetrySender { get; }
Property Value
GetAssetCommandExecutor
public AdrBaseService.GetAssetCommandExecutor GetAssetCommandExecutor { get; }
Property Value
GetAssetStatusCommandExecutor
public AdrBaseService.GetAssetStatusCommandExecutor GetAssetStatusCommandExecutor { get; }
Property Value
GetDeviceCommandExecutor
public AdrBaseService.GetDeviceCommandExecutor GetDeviceCommandExecutor { get; }
Property Value
GetDeviceStatusCommandExecutor
public AdrBaseService.GetDeviceStatusCommandExecutor GetDeviceStatusCommandExecutor { get; }
Property Value
SetNotificationPreferenceForAssetUpdatesCommandExecutor
public AdrBaseService.SetNotificationPreferenceForAssetUpdatesCommandExecutor SetNotificationPreferenceForAssetUpdatesCommandExecutor { get; }
Property Value
SetNotificationPreferenceForDeviceUpdatesCommandExecutor
public AdrBaseService.SetNotificationPreferenceForDeviceUpdatesCommandExecutor SetNotificationPreferenceForDeviceUpdatesCommandExecutor { get; }
Property Value
UpdateAssetStatusCommandExecutor
public AdrBaseService.UpdateAssetStatusCommandExecutor UpdateAssetStatusCommandExecutor { get; }
Property Value
UpdateDeviceStatusCommandExecutor
public AdrBaseService.UpdateDeviceStatusCommandExecutor UpdateDeviceStatusCommandExecutor { get; }
Property Value
Methods
CreateOrUpdateDiscoveredAssetAsync(CreateOrUpdateDiscoveredAssetRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<CreateOrUpdateDiscoveredAssetResponsePayload>> CreateOrUpdateDiscoveredAssetAsync(CreateOrUpdateDiscoveredAssetRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
request
CreateOrUpdateDiscoveredAssetRequestPayloadrequestMetadata
CommandRequestMetadatacancellationToken
CancellationToken
Returns
DisposeAsync()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.
public ValueTask DisposeAsync()
Returns
- ValueTask
A task that represents the asynchronous dispose operation.
DisposeAsync(bool)
public ValueTask DisposeAsync(bool disposing)
Parameters
disposing
bool
Returns
GetAssetAsync(GetAssetRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<GetAssetResponsePayload>> GetAssetAsync(GetAssetRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
request
GetAssetRequestPayloadrequestMetadata
CommandRequestMetadatacancellationToken
CancellationToken
Returns
GetAssetStatusAsync(GetAssetStatusRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<GetAssetStatusResponsePayload>> GetAssetStatusAsync(GetAssetStatusRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
request
GetAssetStatusRequestPayloadrequestMetadata
CommandRequestMetadatacancellationToken
CancellationToken
Returns
GetDeviceAsync(CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<GetDeviceResponsePayload>> GetDeviceAsync(CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
requestMetadata
CommandRequestMetadatacancellationToken
CancellationToken
Returns
GetDeviceStatusAsync(CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<GetDeviceStatusResponsePayload>> GetDeviceStatusAsync(CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
requestMetadata
CommandRequestMetadatacancellationToken
CancellationToken
Returns
SendTelemetryAsync(AssetUpdateEventTelemetry, OutgoingTelemetryMetadata, Dictionary<string, string>?, MqttQualityOfServiceLevel, TimeSpan?, CancellationToken)
Send telemetry.
public Task SendTelemetryAsync(AssetUpdateEventTelemetry telemetry, OutgoingTelemetryMetadata metadata, Dictionary<string, string>? additionalTopicTokenMap = null, MqttQualityOfServiceLevel qos = MqttQualityOfServiceLevel.AtLeastOnce, TimeSpan? telemetryTimeout = null, CancellationToken cancellationToken = default)
Parameters
telemetry
AssetUpdateEventTelemetryThe payload of the telemetry.
metadata
OutgoingTelemetryMetadataThe metadata of the telemetry.
additionalTopicTokenMap
Dictionary<string, string>The topic token replacement map to use in addition to the topic token map provided in the constructor. If this map contains any keys that topic token map provided in the constructor also has, then values specified in this map will take precedence.
qos
MqttQualityOfServiceLevelThe quality of service to send the telemetry with.
telemetryTimeout
TimeSpan?How long the telemetry message will be available on the broker for a receiver to receive.
cancellationToken
CancellationTokenCancellation token.
Returns
SendTelemetryAsync(DeviceUpdateEventTelemetry, OutgoingTelemetryMetadata, Dictionary<string, string>?, MqttQualityOfServiceLevel, TimeSpan?, CancellationToken)
Send telemetry.
public Task SendTelemetryAsync(DeviceUpdateEventTelemetry telemetry, OutgoingTelemetryMetadata metadata, Dictionary<string, string>? additionalTopicTokenMap = null, MqttQualityOfServiceLevel qos = MqttQualityOfServiceLevel.AtLeastOnce, TimeSpan? telemetryTimeout = null, CancellationToken cancellationToken = default)
Parameters
telemetry
DeviceUpdateEventTelemetryThe payload of the telemetry.
metadata
OutgoingTelemetryMetadataThe metadata of the telemetry.
additionalTopicTokenMap
Dictionary<string, string>The topic token replacement map to use in addition to the topic token map provided in the constructor. If this map contains any keys that topic token map provided in the constructor also has, then values specified in this map will take precedence.
qos
MqttQualityOfServiceLevelThe quality of service to send the telemetry with.
telemetryTimeout
TimeSpan?How long the telemetry message will be available on the broker for a receiver to receive.
cancellationToken
CancellationTokenCancellation token.
Returns
SetNotificationPreferenceForAssetUpdatesAsync(SetNotificationPreferenceForAssetUpdatesRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<SetNotificationPreferenceForAssetUpdatesResponsePayload>> SetNotificationPreferenceForAssetUpdatesAsync(SetNotificationPreferenceForAssetUpdatesRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
request
SetNotificationPreferenceForAssetUpdatesRequestPayloadrequestMetadata
CommandRequestMetadatacancellationToken
CancellationToken
Returns
SetNotificationPreferenceForDeviceUpdatesAsync(SetNotificationPreferenceForDeviceUpdatesRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<SetNotificationPreferenceForDeviceUpdatesResponsePayload>> SetNotificationPreferenceForDeviceUpdatesAsync(SetNotificationPreferenceForDeviceUpdatesRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
request
SetNotificationPreferenceForDeviceUpdatesRequestPayloadrequestMetadata
CommandRequestMetadatacancellationToken
CancellationToken
Returns
StartAsync(int?, CancellationToken)
Begin accepting command invocations for all command executors.
public Task StartAsync(int? preferredDispatchConcurrency = null, CancellationToken cancellationToken = default)
Parameters
preferredDispatchConcurrency
int?The dispatch concurrency count for the command response cache to use.
cancellationToken
CancellationTokenCancellation token.
Returns
StopAsync(CancellationToken)
public Task StopAsync(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationToken
Returns
UpdateAssetStatusAsync(UpdateAssetStatusRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<UpdateAssetStatusResponsePayload>> UpdateAssetStatusAsync(UpdateAssetStatusRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
request
UpdateAssetStatusRequestPayloadrequestMetadata
CommandRequestMetadatacancellationToken
CancellationToken
Returns
UpdateDeviceStatusAsync(UpdateDeviceStatusRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<UpdateDeviceStatusResponsePayload>> UpdateDeviceStatusAsync(UpdateDeviceStatusRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
request
UpdateDeviceStatusRequestPayloadrequestMetadata
CommandRequestMetadatacancellationToken
CancellationToken