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
applicationContextApplicationContextThe shared context for your application.
mqttClientIMqttPubSubClientThe MQTT client to use.
topicTokenMapDictionary<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
requestCreateOrUpdateDiscoveredAssetRequestPayloadrequestMetadataCommandRequestMetadatacancellationTokenCancellationToken
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
disposingbool
Returns
GetAssetAsync(GetAssetRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<GetAssetResponsePayload>> GetAssetAsync(GetAssetRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
requestGetAssetRequestPayloadrequestMetadataCommandRequestMetadatacancellationTokenCancellationToken
Returns
GetAssetStatusAsync(GetAssetStatusRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<GetAssetStatusResponsePayload>> GetAssetStatusAsync(GetAssetStatusRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
requestGetAssetStatusRequestPayloadrequestMetadataCommandRequestMetadatacancellationTokenCancellationToken
Returns
GetDeviceAsync(CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<GetDeviceResponsePayload>> GetDeviceAsync(CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
requestMetadataCommandRequestMetadatacancellationTokenCancellationToken
Returns
GetDeviceStatusAsync(CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<GetDeviceStatusResponsePayload>> GetDeviceStatusAsync(CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
requestMetadataCommandRequestMetadatacancellationTokenCancellationToken
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
telemetryAssetUpdateEventTelemetryThe payload of the telemetry.
metadataOutgoingTelemetryMetadataThe metadata of the telemetry.
additionalTopicTokenMapDictionary<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.
qosMqttQualityOfServiceLevelThe quality of service to send the telemetry with.
telemetryTimeoutTimeSpan?How long the telemetry message will be available on the broker for a receiver to receive.
cancellationTokenCancellationTokenCancellation 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
telemetryDeviceUpdateEventTelemetryThe payload of the telemetry.
metadataOutgoingTelemetryMetadataThe metadata of the telemetry.
additionalTopicTokenMapDictionary<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.
qosMqttQualityOfServiceLevelThe quality of service to send the telemetry with.
telemetryTimeoutTimeSpan?How long the telemetry message will be available on the broker for a receiver to receive.
cancellationTokenCancellationTokenCancellation token.
Returns
SetNotificationPreferenceForAssetUpdatesAsync(SetNotificationPreferenceForAssetUpdatesRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<SetNotificationPreferenceForAssetUpdatesResponsePayload>> SetNotificationPreferenceForAssetUpdatesAsync(SetNotificationPreferenceForAssetUpdatesRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
requestSetNotificationPreferenceForAssetUpdatesRequestPayloadrequestMetadataCommandRequestMetadatacancellationTokenCancellationToken
Returns
SetNotificationPreferenceForDeviceUpdatesAsync(SetNotificationPreferenceForDeviceUpdatesRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<SetNotificationPreferenceForDeviceUpdatesResponsePayload>> SetNotificationPreferenceForDeviceUpdatesAsync(SetNotificationPreferenceForDeviceUpdatesRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
requestSetNotificationPreferenceForDeviceUpdatesRequestPayloadrequestMetadataCommandRequestMetadatacancellationTokenCancellationToken
Returns
StartAsync(int?, CancellationToken)
Begin accepting command invocations for all command executors.
public Task StartAsync(int? preferredDispatchConcurrency = null, CancellationToken cancellationToken = default)
Parameters
preferredDispatchConcurrencyint?The dispatch concurrency count for the command response cache to use.
cancellationTokenCancellationTokenCancellation token.
Returns
StopAsync(CancellationToken)
public Task StopAsync(CancellationToken cancellationToken = default)
Parameters
cancellationTokenCancellationToken
Returns
UpdateAssetStatusAsync(UpdateAssetStatusRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<UpdateAssetStatusResponsePayload>> UpdateAssetStatusAsync(UpdateAssetStatusRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
requestUpdateAssetStatusRequestPayloadrequestMetadataCommandRequestMetadatacancellationTokenCancellationToken
Returns
UpdateDeviceStatusAsync(UpdateDeviceStatusRequestPayload, CommandRequestMetadata, CancellationToken)
public abstract Task<ExtendedResponse<UpdateDeviceStatusResponsePayload>> UpdateDeviceStatusAsync(UpdateDeviceStatusRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)
Parameters
requestUpdateDeviceStatusRequestPayloadrequestMetadataCommandRequestMetadatacancellationTokenCancellationToken