Broker - Get

Get a BrokerResource

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.IoTOperations/instances/{instanceName}/brokers/{brokerName}?api-version=2024-08-15-preview

URI Parameters

Name In Required Type Description
brokerName
path True

string

Name of broker.

Regex pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$

instanceName
path True

string

Name of instance.

Regex pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$

resourceGroupName
path True

string

The name of the resource group. The name is case insensitive.

subscriptionId
path True

string

uuid

The ID of the target subscription. The value must be an UUID.

api-version
query True

string

The API version to use for this operation.

Responses

Name Type Description
200 OK

BrokerResource

Azure operation completed successfully.

Other Status Codes

ErrorResponse

An unexpected error response.

Security

azure_auth

Azure Active Directory OAuth2 Flow.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation impersonate your user account

Examples

Broker_Get

Sample request

GET https://management.azure.com/subscriptions/F8C729F9-DF9C-4743-848F-96EE433D8E53/resourceGroups/rgiotoperations/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123?api-version=2024-08-15-preview

Sample response

{
  "properties": {
    "advanced": {
      "clients": {
        "maxSessionExpirySeconds": 3859,
        "maxMessageExpirySeconds": 3263,
        "maxPacketSizeBytes": 3029,
        "subscriberQueueLimit": {
          "length": 6,
          "strategy": "None"
        },
        "maxReceiveMaximum": 2365,
        "maxKeepAliveSeconds": 3744
      },
      "encryptInternalTraffic": "Enabled",
      "internalCerts": {
        "duration": "bchrc",
        "renewBefore": "xkafmpgjfifkwwrhkswtopdnne",
        "privateKey": {
          "algorithm": "Ec256",
          "rotationPolicy": "Always"
        }
      }
    },
    "cardinality": {
      "backendChain": {
        "partitions": 11,
        "redundancyFactor": 5,
        "workers": 15
      },
      "frontend": {
        "replicas": 2,
        "workers": 6
      }
    },
    "diagnostics": {
      "logs": {
        "opentelemetryExportConfig": {
          "otlpGrpcEndpoint": "tbfsk",
          "intervalSeconds": 145,
          "level": "rwq"
        },
        "level": "rnmwokumdmebpmfxxxzvvjfdywotav"
      },
      "metrics": {
        "opentelemetryExportConfig": {
          "otlpGrpcEndpoint": "iwbklzcm",
          "intervalSeconds": 98
        },
        "prometheusPort": 7581
      },
      "selfCheck": {
        "mode": "Enabled",
        "intervalSeconds": 158,
        "timeoutSeconds": 14
      },
      "traces": {
        "mode": "Enabled",
        "opentelemetryExportConfig": {
          "otlpGrpcEndpoint": "iwbklzcm",
          "intervalSeconds": 98
        },
        "cacheSizeMegabytes": 28,
        "selfTracing": {
          "mode": "Enabled",
          "intervalSeconds": 22
        },
        "spanChannelCapacity": 1000
      }
    },
    "diskBackedMessageBuffer": {
      "maxSize": "500M",
      "ephemeralVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      },
      "persistentVolumeClaimSpec": {
        "volumeName": "c",
        "volumeMode": "rxvpksjuuugqnqzeiprocknbn",
        "storageClassName": "sseyhrjptkhrqvpdpjmornkqvon",
        "accessModes": [
          "nuluhigrbb"
        ],
        "dataSource": {
          "apiGroup": "npqapyksvvpkohujx",
          "kind": "wazgyb",
          "name": "cwhsgxxcxsyppoefm"
        },
        "dataSourceRef": {
          "apiGroup": "mnfnykznjjsoqpfsgdqioupt",
          "kind": "odynqzekfzsnawrctaxg",
          "name": "envszivbbmixbyddzg",
          "namespace": "etcfzvxqd"
        },
        "resources": {
          "limits": {
            "key2719": "hmphcrgctu"
          },
          "requests": {
            "key2909": "txocprnyrsgvhfrg"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "e",
              "operator": "In",
              "values": [
                "slmpajlywqvuyknipgztsonqyybt"
              ]
            }
          ],
          "matchLabels": {
            "key6673": "wlngfalznwxnurzpgxomcxhbqefpr"
          }
        }
      }
    },
    "generateResourceLimits": {
      "cpu": "Enabled"
    },
    "memoryProfile": "Tiny",
    "provisioningState": "Succeeded"
  },
  "extendedLocation": {
    "name": "qmbrfwcpwwhggszhrdjv",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/0000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup123/providers/Microsoft.IoTOperations/instances/resource-name123/brokers/resource-name123",
  "name": "dowrkel",
  "type": "xshjnsdgadygb",
  "systemData": {
    "createdBy": "ssvaslsmudloholronopqyxjcu",
    "createdByType": "User",
    "createdAt": "2024-08-09T18:13:29.389Z",
    "lastModifiedBy": "gnicpuszwd",
    "lastModifiedByType": "User",
    "lastModifiedAt": "2024-08-09T18:13:29.389Z"
  }
}

Definitions

Name Description
AdvancedSettings

Broker Advanced Settings

BackendChain

Desired properties of the backend instances of the broker

BrokerDiagnostics

Broker Diagnostic Setting properties

BrokerMemoryProfile

The memory profile settings of the Broker

BrokerProperties

Broker Resource properties

BrokerResource

Instance broker resource

Cardinality

Cardinality properties

CertManagerCertOptions

Cert Manager Cert properties

CertManagerPrivateKey

Cert Manager private key properties

ClientConfig

The settings of Client Config.

createdByType

The type of identity that created the resource.

DiagnosticsLogs

Diagnostic Log properties

DiskBackedMessageBuffer

DiskBackedMessageBuffer properties

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

ExtendedLocation

Extended location is an extension of Azure locations. They provide a way to use their Azure ARC enabled Kubernetes clusters as target locations for deploying Azure services instances.

ExtendedLocationType

The enum defining type of ExtendedLocation accepted.

Frontend

The desired properties of the frontend instances of the Broker

GenerateResourceLimits

GenerateResourceLimits properties

KubernetesReference

Kubernetes reference

LocalKubernetesReference

Kubernetes reference

Metrics

Diagnostic Metrics properties

OpenTelemetryExportConfig

OpenTelemetry Export Configuration properties

OpenTelemetryLogExportConfig

OpenTelemetry Log Export Configuration properties

OperationalMode

Mode properties

OperatorValues

Valid operators are In, NotIn, Exists and DoesNotExist.

PrivateKeyAlgorithm

Private key algorithm types.

PrivateKeyRotationPolicy

Private key rotation policy.

ProvisioningState

The enum defining status of resource.

SelfCheck

Broker Diagnostic Self check properties

SelfTracing

Diagnostic Self tracing properties

SubscriberMessageDropStrategy

The enum defining strategies for dropping messages from the subscriber queue.

SubscriberQueueLimit

The settings of Subscriber Queue Limit.

systemData

Metadata pertaining to creation and last modification of the resource.

Traces

Broker Diagnostic Trace properties

VolumeClaimResourceRequirements

VolumeClaimResourceRequirements properties

VolumeClaimSpec

VolumeClaimSpec properties

VolumeClaimSpecSelector

VolumeClaimSpecSelector properties

VolumeClaimSpecSelectorMatchExpressions

VolumeClaimSpecSelectorMatchExpressions properties

AdvancedSettings

Broker Advanced Settings

Name Type Default value Description
clients

ClientConfig

Configurations related to All Clients.

encryptInternalTraffic

OperationalMode

Enabled

The setting to enable or disable encryption of internal Traffic.

internalCerts

CertManagerCertOptions

Certificate rotation and private key configuration.

BackendChain

Desired properties of the backend instances of the broker

Name Type Default value Description
partitions

integer

The desired number of physical backend partitions.

redundancyFactor

integer

The desired numbers of backend replicas (pods) in a physical partition.

workers

integer

1

Number of logical backend workers per replica (pod).

BrokerDiagnostics

Broker Diagnostic Setting properties

Name Type Description
logs

DiagnosticsLogs

Diagnostic log settings for the resource.

metrics

Metrics

The metrics settings for the resource.

selfCheck

SelfCheck

The self check properties.

traces

Traces

The trace properties.

BrokerMemoryProfile

The memory profile settings of the Broker

Name Type Description
High

string

High memory profile.

Low

string

Low memory profile.

Medium

string

Medium memory profile.

Tiny

string

Tiny memory profile.

BrokerProperties

Broker Resource properties

Name Type Default value Description
advanced

AdvancedSettings

Advanced settings of Broker.

cardinality

Cardinality

The cardinality details of the broker.

diagnostics

BrokerDiagnostics

Spec defines the desired identities of Broker diagnostics settings.

diskBackedMessageBuffer

DiskBackedMessageBuffer

Settings of Disk Backed Message Buffer.

generateResourceLimits

GenerateResourceLimits

This setting controls whether Kubernetes CPU resource limits are requested. Increasing the number of replicas or workers proportionally increases the amount of CPU resources requested. If this setting is enabled and there are insufficient CPU resources, an error will be emitted.

memoryProfile

BrokerMemoryProfile

Medium

Memory profile of Broker.

provisioningState

ProvisioningState

The status of the last operation.

BrokerResource

Instance broker resource

Name Type Description
extendedLocation

ExtendedLocation

Edge location of the resource.

id

string

Fully qualified resource ID for the resource. E.g. "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}"

name

string

The name of the resource

properties

BrokerProperties

The resource-specific properties for this resource.

systemData

systemData

Azure Resource Manager metadata containing createdBy and modifiedBy information.

type

string

The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"

Cardinality

Cardinality properties

Name Type Description
backendChain

BackendChain

The backend broker desired properties

frontend

Frontend

The frontend desired properties

CertManagerCertOptions

Cert Manager Cert properties

Name Type Description
duration

string

Lifetime of certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes.

privateKey

CertManagerPrivateKey

Configuration of certificate private key.

renewBefore

string

When to begin renewing certificate. Must be specified using a Go time.Duration format (h|m|s). E.g. 240h for 240 hours and 45m for 45 minutes.

CertManagerPrivateKey

Cert Manager private key properties

Name Type Description
algorithm

PrivateKeyAlgorithm

algorithm for private key.

rotationPolicy

PrivateKeyRotationPolicy

cert-manager private key rotationPolicy.

ClientConfig

The settings of Client Config.

Name Type Description
maxKeepAliveSeconds

integer

Upper bound of a client's Keep Alive, in seconds.

maxMessageExpirySeconds

integer

Upper bound of Message Expiry Interval, in seconds.

maxPacketSizeBytes

integer

Max message size for a packet in Bytes.

maxReceiveMaximum

integer

Upper bound of Receive Maximum that a client can request in the CONNECT packet.

maxSessionExpirySeconds

integer

Upper bound of Session Expiry Interval, in seconds.

subscriberQueueLimit

SubscriberQueueLimit

The limit on the number of queued messages for a subscriber.

createdByType

The type of identity that created the resource.

Name Type Description
Application

string

Key

string

ManagedIdentity

string

User

string

DiagnosticsLogs

Diagnostic Log properties

Name Type Default value Description
level

string

info

The log level. Examples - 'debug', 'info', 'warn', 'error', 'trace'.

opentelemetryExportConfig

OpenTelemetryLogExportConfig

The open telemetry export configuration.

DiskBackedMessageBuffer

DiskBackedMessageBuffer properties

Name Type Description
ephemeralVolumeClaimSpec

VolumeClaimSpec

Use the specified persistent volume claim template to mount a "generic ephemeral volume" for the message buffer. See https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes for details.

maxSize

string

The max size of the message buffer on disk. If a PVC template is specified using one of ephemeralVolumeClaimSpec or persistentVolumeClaimSpec, then this size is used as the request and limit sizes of that template. If neither ephemeralVolumeClaimSpec nor persistentVolumeClaimSpec are specified, then an emptyDir volume is mounted with this size as its limit. See https://kubernetes.io/docs/concepts/storage/volumes/#emptydir for details.

persistentVolumeClaimSpec

VolumeClaimSpec

Use the specified persistent volume claim template to mount a persistent volume for the message buffer.

ErrorAdditionalInfo

The resource management error additional info.

Name Type Description
info

object

The additional info.

type

string

The additional info type.

ErrorDetail

The error detail.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

ExtendedLocation

Extended location is an extension of Azure locations. They provide a way to use their Azure ARC enabled Kubernetes clusters as target locations for deploying Azure services instances.

Name Type Description
name

string

The name of the extended location.

type

ExtendedLocationType

Type of ExtendedLocation.

ExtendedLocationType

The enum defining type of ExtendedLocation accepted.

Name Type Description
CustomLocation

string

CustomLocation type

Frontend

The desired properties of the frontend instances of the Broker

Name Type Default value Description
replicas

integer

The desired number of frontend instances (pods).

workers

integer

2

Number of logical frontend workers per instance (pod).

GenerateResourceLimits

GenerateResourceLimits properties

Name Type Default value Description
cpu

OperationalMode

Enabled

The toggle to enable/disable cpu resource limits.

KubernetesReference

Kubernetes reference

Name Type Description
apiGroup

string

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kind

string

Kind is the type of resource being referenced

name

string

Name is the name of resource being referenced

namespace

string

Namespace is the namespace of the resource being referenced. This field is required when the resource has a namespace.

LocalKubernetesReference

Kubernetes reference

Name Type Description
apiGroup

string

APIGroup is the group for the resource being referenced. If APIGroup is not specified, the specified Kind must be in the core API group. For any other third-party types, APIGroup is required.

kind

string

Kind is the type of resource being referenced

name

string

Name is the name of resource being referenced

Metrics

Diagnostic Metrics properties

Name Type Default value Description
opentelemetryExportConfig

OpenTelemetryExportConfig

The open telemetry export configuration.

prometheusPort

integer

9600

The prometheus port to expose the metrics.

OpenTelemetryExportConfig

OpenTelemetry Export Configuration properties

Name Type Default value Description
intervalSeconds

integer

30

How often to export the metrics to the open telemetry collector.

otlpGrpcEndpoint

string

The open telemetry collector endpoint to export to.

OpenTelemetryLogExportConfig

OpenTelemetry Log Export Configuration properties

Name Type Default value Description
intervalSeconds

integer

30

How often to export the metrics to the open telemetry collector.

level

string

error

The log level. Examples - 'debug', 'info', 'warn', 'error', 'trace'.

otlpGrpcEndpoint

string

The open telemetry collector endpoint to export to.

OperationalMode

Mode properties

Name Type Description
Disabled

string

Disabled is equivalent to False.

Enabled

string

Enabled is equivalent to True

OperatorValues

Valid operators are In, NotIn, Exists and DoesNotExist.

Name Type Description
DoesNotExist

string

DoesNotExist operator.

Exists

string

Exists operator.

In

string

In operator.

NotIn

string

NotIn operator.

PrivateKeyAlgorithm

Private key algorithm types.

Name Type Description
Ec256

string

Algorithm - ec256.

Ec384

string

Algorithm - ec384.

Ec521

string

Algorithm - ec521.

Ed25519

string

Algorithm - ed25519.

Rsa2048

string

Algorithm - rsa2048.

Rsa4096

string

Algorithm - rsa4096.

Rsa8192

string

Algorithm - rsa8192.

PrivateKeyRotationPolicy

Private key rotation policy.

Name Type Description
Always

string

Rotation Policy - Always.

Never

string

Rotation Policy - Never.

ProvisioningState

The enum defining status of resource.

Name Type Description
Accepted

string

Resource has been Accepted.

Canceled

string

Resource creation was canceled.

Deleting

string

Resource is Deleting.

Failed

string

Resource creation failed.

Provisioning

string

Resource is getting provisioned.

Succeeded

string

Resource has been created.

Updating

string

Resource is Updating.

SelfCheck

Broker Diagnostic Self check properties

Name Type Default value Description
intervalSeconds

integer

30

The self check interval.

mode

OperationalMode

Enabled

The toggle to enable/disable self check.

timeoutSeconds

integer

15

The timeout for self check.

SelfTracing

Diagnostic Self tracing properties

Name Type Default value Description
intervalSeconds

integer

30

The self tracing interval.

mode

OperationalMode

Enabled

The toggle to enable/disable self tracing.

SubscriberMessageDropStrategy

The enum defining strategies for dropping messages from the subscriber queue.

Name Type Description
DropOldest

string

The oldest message is dropped.

None

string

Messages are never dropped.

SubscriberQueueLimit

The settings of Subscriber Queue Limit.

Name Type Default value Description
length

integer

The maximum length of the queue before messages start getting dropped.

strategy

SubscriberMessageDropStrategy

None

The strategy to use for dropping messages from the queue.

systemData

Metadata pertaining to creation and last modification of the resource.

Name Type Description
createdAt

string

The timestamp of resource creation (UTC).

createdBy

string

The identity that created the resource.

createdByType

createdByType

The type of identity that created the resource.

lastModifiedAt

string

The timestamp of resource last modification (UTC)

lastModifiedBy

string

The identity that last modified the resource.

lastModifiedByType

createdByType

The type of identity that last modified the resource.

Traces

Broker Diagnostic Trace properties

Name Type Default value Description
cacheSizeMegabytes

integer

16

The cache size in megabytes.

mode

OperationalMode

Enabled

The toggle to enable/disable traces.

opentelemetryExportConfig

OpenTelemetryExportConfig

The open telemetry export configuration.

selfTracing

SelfTracing

The self tracing properties.

spanChannelCapacity

integer

1000

The span channel capacity.

VolumeClaimResourceRequirements

VolumeClaimResourceRequirements properties

Name Type Description
limits

object

Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

requests

object

Requests describes the minimum amount of compute resources required. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/

VolumeClaimSpec

VolumeClaimSpec properties

Name Type Description
accessModes

string[]

AccessModes contains the desired access modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1

dataSource

LocalKubernetesReference

This field can be used to specify either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) * An existing PVC (PersistentVolumeClaim) If the provisioner or an external controller can support the specified data source, it will create a new volume based on the contents of the specified data source. If the AnyVolumeDataSource feature gate is enabled, this field will always have the same contents as the DataSourceRef field.

dataSourceRef

KubernetesReference

Specifies the object from which to populate the volume with data, if a non-empty volume is desired. This may be any local object from a non-empty API group (non core object) or a PersistentVolumeClaim object. When this field is specified, volume binding will only succeed if the type of the specified object matches some installed volume populator or dynamic provisioner. This field will replace the functionality of the DataSource field and as such if both fields are non-empty, they must have the same value. For backwards compatibility, both fields (DataSource and DataSourceRef) will be set to the same value automatically if one of them is empty and the other is non-empty. There are two important differences between DataSource and DataSourceRef: * While DataSource only allows two specific types of objects, DataSourceRef allows any non-core object, as well as PersistentVolumeClaim objects. * While DataSource ignores disallowed values (dropping them), DataSourceRef preserves all values, and generates an error if a disallowed value is specified. (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.

resources

VolumeClaimResourceRequirements

Resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources

selector

VolumeClaimSpecSelector

A label query over volumes to consider for binding.

storageClassName

string

Name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1

volumeMode

string

volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec. This is a beta feature.

volumeName

string

VolumeName is the binding reference to the PersistentVolume backing this claim.

VolumeClaimSpecSelector

VolumeClaimSpecSelector properties

Name Type Description
matchExpressions

VolumeClaimSpecSelectorMatchExpressions[]

MatchExpressions is a list of label selector requirements. The requirements are ANDed.

matchLabels

object

MatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.

VolumeClaimSpecSelectorMatchExpressions

VolumeClaimSpecSelectorMatchExpressions properties

Name Type Description
key

string

key is the label key that the selector applies to.

operator

OperatorValues

operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.

values

string[]

values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.