Table of Contents

Class AdrBaseService.Service

Namespace
Azure.Iot.Operations.Services.AssetAndDeviceRegistry.AdrBaseService
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 ApplicationContext

The shared context for your application.

mqttClient IMqttPubSubClient

The 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

AdrBaseService.AssetUpdateEventTelemetrySender

CreateOrUpdateDiscoveredAssetCommandExecutor

public AdrBaseService.CreateOrUpdateDiscoveredAssetCommandExecutor CreateOrUpdateDiscoveredAssetCommandExecutor { get; }

Property Value

AdrBaseService.CreateOrUpdateDiscoveredAssetCommandExecutor

DeviceUpdateEventTelemetrySender

public AdrBaseService.DeviceUpdateEventTelemetrySender DeviceUpdateEventTelemetrySender { get; }

Property Value

AdrBaseService.DeviceUpdateEventTelemetrySender

GetAssetCommandExecutor

public AdrBaseService.GetAssetCommandExecutor GetAssetCommandExecutor { get; }

Property Value

AdrBaseService.GetAssetCommandExecutor

GetAssetStatusCommandExecutor

public AdrBaseService.GetAssetStatusCommandExecutor GetAssetStatusCommandExecutor { get; }

Property Value

AdrBaseService.GetAssetStatusCommandExecutor

GetDeviceCommandExecutor

public AdrBaseService.GetDeviceCommandExecutor GetDeviceCommandExecutor { get; }

Property Value

AdrBaseService.GetDeviceCommandExecutor

GetDeviceStatusCommandExecutor

public AdrBaseService.GetDeviceStatusCommandExecutor GetDeviceStatusCommandExecutor { get; }

Property Value

AdrBaseService.GetDeviceStatusCommandExecutor

SetNotificationPreferenceForAssetUpdatesCommandExecutor

public AdrBaseService.SetNotificationPreferenceForAssetUpdatesCommandExecutor SetNotificationPreferenceForAssetUpdatesCommandExecutor { get; }

Property Value

AdrBaseService.SetNotificationPreferenceForAssetUpdatesCommandExecutor

SetNotificationPreferenceForDeviceUpdatesCommandExecutor

public AdrBaseService.SetNotificationPreferenceForDeviceUpdatesCommandExecutor SetNotificationPreferenceForDeviceUpdatesCommandExecutor { get; }

Property Value

AdrBaseService.SetNotificationPreferenceForDeviceUpdatesCommandExecutor

UpdateAssetStatusCommandExecutor

public AdrBaseService.UpdateAssetStatusCommandExecutor UpdateAssetStatusCommandExecutor { get; }

Property Value

AdrBaseService.UpdateAssetStatusCommandExecutor

UpdateDeviceStatusCommandExecutor

public AdrBaseService.UpdateDeviceStatusCommandExecutor UpdateDeviceStatusCommandExecutor { get; }

Property Value

AdrBaseService.UpdateDeviceStatusCommandExecutor

Methods

CreateOrUpdateDiscoveredAssetAsync(CreateOrUpdateDiscoveredAssetRequestPayload, CommandRequestMetadata, CancellationToken)

public abstract Task<ExtendedResponse<CreateOrUpdateDiscoveredAssetResponsePayload>> CreateOrUpdateDiscoveredAssetAsync(CreateOrUpdateDiscoveredAssetRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)

Parameters

request CreateOrUpdateDiscoveredAssetRequestPayload
requestMetadata CommandRequestMetadata
cancellationToken CancellationToken

Returns

Task<ExtendedResponse<CreateOrUpdateDiscoveredAssetResponsePayload>>

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

ValueTask

GetAssetAsync(GetAssetRequestPayload, CommandRequestMetadata, CancellationToken)

public abstract Task<ExtendedResponse<GetAssetResponsePayload>> GetAssetAsync(GetAssetRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)

Parameters

request GetAssetRequestPayload
requestMetadata CommandRequestMetadata
cancellationToken CancellationToken

Returns

Task<ExtendedResponse<GetAssetResponsePayload>>

GetAssetStatusAsync(GetAssetStatusRequestPayload, CommandRequestMetadata, CancellationToken)

public abstract Task<ExtendedResponse<GetAssetStatusResponsePayload>> GetAssetStatusAsync(GetAssetStatusRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)

Parameters

request GetAssetStatusRequestPayload
requestMetadata CommandRequestMetadata
cancellationToken CancellationToken

Returns

Task<ExtendedResponse<GetAssetStatusResponsePayload>>

GetDeviceAsync(CommandRequestMetadata, CancellationToken)

public abstract Task<ExtendedResponse<GetDeviceResponsePayload>> GetDeviceAsync(CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)

Parameters

requestMetadata CommandRequestMetadata
cancellationToken CancellationToken

Returns

Task<ExtendedResponse<GetDeviceResponsePayload>>

GetDeviceStatusAsync(CommandRequestMetadata, CancellationToken)

public abstract Task<ExtendedResponse<GetDeviceStatusResponsePayload>> GetDeviceStatusAsync(CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)

Parameters

requestMetadata CommandRequestMetadata
cancellationToken CancellationToken

Returns

Task<ExtendedResponse<GetDeviceStatusResponsePayload>>

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 AssetUpdateEventTelemetry

The payload of the telemetry.

metadata OutgoingTelemetryMetadata

The 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 MqttQualityOfServiceLevel

The 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 CancellationToken

Cancellation token.

Returns

Task

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 DeviceUpdateEventTelemetry

The payload of the telemetry.

metadata OutgoingTelemetryMetadata

The 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 MqttQualityOfServiceLevel

The 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 CancellationToken

Cancellation token.

Returns

Task

SetNotificationPreferenceForAssetUpdatesAsync(SetNotificationPreferenceForAssetUpdatesRequestPayload, CommandRequestMetadata, CancellationToken)

public abstract Task<ExtendedResponse<SetNotificationPreferenceForAssetUpdatesResponsePayload>> SetNotificationPreferenceForAssetUpdatesAsync(SetNotificationPreferenceForAssetUpdatesRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)

Parameters

request SetNotificationPreferenceForAssetUpdatesRequestPayload
requestMetadata CommandRequestMetadata
cancellationToken CancellationToken

Returns

Task<ExtendedResponse<SetNotificationPreferenceForAssetUpdatesResponsePayload>>

SetNotificationPreferenceForDeviceUpdatesAsync(SetNotificationPreferenceForDeviceUpdatesRequestPayload, CommandRequestMetadata, CancellationToken)

public abstract Task<ExtendedResponse<SetNotificationPreferenceForDeviceUpdatesResponsePayload>> SetNotificationPreferenceForDeviceUpdatesAsync(SetNotificationPreferenceForDeviceUpdatesRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)

Parameters

request SetNotificationPreferenceForDeviceUpdatesRequestPayload
requestMetadata CommandRequestMetadata
cancellationToken CancellationToken

Returns

Task<ExtendedResponse<SetNotificationPreferenceForDeviceUpdatesResponsePayload>>

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 CancellationToken

Cancellation token.

Returns

Task

StopAsync(CancellationToken)

public Task StopAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

Returns

Task

UpdateAssetStatusAsync(UpdateAssetStatusRequestPayload, CommandRequestMetadata, CancellationToken)

public abstract Task<ExtendedResponse<UpdateAssetStatusResponsePayload>> UpdateAssetStatusAsync(UpdateAssetStatusRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)

Parameters

request UpdateAssetStatusRequestPayload
requestMetadata CommandRequestMetadata
cancellationToken CancellationToken

Returns

Task<ExtendedResponse<UpdateAssetStatusResponsePayload>>

UpdateDeviceStatusAsync(UpdateDeviceStatusRequestPayload, CommandRequestMetadata, CancellationToken)

public abstract Task<ExtendedResponse<UpdateDeviceStatusResponsePayload>> UpdateDeviceStatusAsync(UpdateDeviceStatusRequestPayload request, CommandRequestMetadata requestMetadata, CancellationToken cancellationToken)

Parameters

request UpdateDeviceStatusRequestPayload
requestMetadata CommandRequestMetadata
cancellationToken CancellationToken

Returns

Task<ExtendedResponse<UpdateDeviceStatusResponsePayload>>