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 |
---|---|---|---|---|
broker
|
path | True |
string |
Name of broker. Regex pattern: |
instance
|
path | True |
string |
Name of instance. Regex pattern: |
resource
|
path | True |
string |
The name of the resource group. The name is case insensitive. |
subscription
|
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 |
Azure operation completed successfully. |
|
Other Status Codes |
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 |
---|---|
Advanced |
Broker Advanced Settings |
Backend |
Desired properties of the backend instances of the broker |
Broker |
Broker Diagnostic Setting properties |
Broker |
The memory profile settings of the Broker |
Broker |
Broker Resource properties |
Broker |
Instance broker resource |
Cardinality |
Cardinality properties |
Cert |
Cert Manager Cert properties |
Cert |
Cert Manager private key properties |
Client |
The settings of Client Config. |
created |
The type of identity that created the resource. |
Diagnostics |
Diagnostic Log properties |
Disk |
DiskBackedMessageBuffer properties |
Error |
The resource management error additional info. |
Error |
The error detail. |
Error |
Error response |
Extended |
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. |
Extended |
The enum defining type of ExtendedLocation accepted. |
Frontend |
The desired properties of the frontend instances of the Broker |
Generate |
GenerateResourceLimits properties |
Kubernetes |
Kubernetes reference |
Local |
Kubernetes reference |
Metrics |
Diagnostic Metrics properties |
Open |
OpenTelemetry Export Configuration properties |
Open |
OpenTelemetry Log Export Configuration properties |
Operational |
Mode properties |
Operator |
Valid operators are In, NotIn, Exists and DoesNotExist. |
Private |
Private key algorithm types. |
Private |
Private key rotation policy. |
Provisioning |
The enum defining status of resource. |
Self |
Broker Diagnostic Self check properties |
Self |
Diagnostic Self tracing properties |
Subscriber |
The enum defining strategies for dropping messages from the subscriber queue. |
Subscriber |
The settings of Subscriber Queue Limit. |
system |
Metadata pertaining to creation and last modification of the resource. |
Traces |
Broker Diagnostic Trace properties |
Volume |
VolumeClaimResourceRequirements properties |
Volume |
VolumeClaimSpec properties |
Volume |
VolumeClaimSpecSelector properties |
Volume |
VolumeClaimSpecSelectorMatchExpressions properties |
AdvancedSettings
Broker Advanced Settings
Name | Type | Default value | Description |
---|---|---|---|
clients |
Configurations related to All Clients. |
||
encryptInternalTraffic | Enabled |
The setting to enable or disable encryption of internal Traffic. |
|
internalCerts |
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 |
Diagnostic log settings for the resource. |
|
metrics |
The metrics settings for the resource. |
|
selfCheck |
The self check properties. |
|
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 |
Advanced settings of Broker. |
||
cardinality |
The cardinality details of the broker. |
||
diagnostics |
Spec defines the desired identities of Broker diagnostics settings. |
||
diskBackedMessageBuffer |
Settings of Disk Backed Message Buffer. |
||
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 | Medium |
Memory profile of Broker. |
|
provisioningState |
The status of the last operation. |
BrokerResource
Instance broker resource
Name | Type | Description |
---|---|---|
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 |
The resource-specific properties for this resource. |
|
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 |
The backend broker desired properties |
|
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 |
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 |
algorithm for private key. |
|
rotationPolicy |
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 |
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 |
The open telemetry export configuration. |
DiskBackedMessageBuffer
DiskBackedMessageBuffer properties
Name | Type | Description |
---|---|---|
ephemeralVolumeClaimSpec |
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 |
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 |
The error additional info. |
|
code |
string |
The error code. |
details |
The error details. |
|
message |
string |
The error message. |
target |
string |
The error target. |
ErrorResponse
Error response
Name | Type | Description |
---|---|---|
error |
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 |
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 | 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 |
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 | 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 | 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 | 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 |
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 |
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 | Enabled |
The toggle to enable/disable traces. |
|
opentelemetryExportConfig |
The open telemetry export configuration. |
||
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 |
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 |
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 |
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 |
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 |
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 |
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. |