你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Microsoft.IoTOperations 实例/中转站

Bicep 资源定义

可以使用目标操作部署实例/中转站资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.IoTOperations/instances/brokers 资源,请将以下 Bicep 添加到模板。

resource symbolicname 'Microsoft.IoTOperations/instances/brokers@2024-11-01' = {
  parent: resourceSymbolicName
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  name: 'string'
  properties: {
    advanced: {
      clients: {
        maxKeepAliveSeconds: int
        maxMessageExpirySeconds: int
        maxPacketSizeBytes: int
        maxReceiveMaximum: int
        maxSessionExpirySeconds: int
        subscriberQueueLimit: {
          length: int
          strategy: 'string'
        }
      }
      encryptInternalTraffic: 'string'
      internalCerts: {
        duration: 'string'
        privateKey: {
          algorithm: 'string'
          rotationPolicy: 'string'
        }
        renewBefore: 'string'
      }
    }
    cardinality: {
      backendChain: {
        partitions: int
        redundancyFactor: int
        workers: int
      }
      frontend: {
        replicas: int
        workers: int
      }
    }
    diagnostics: {
      logs: {
        level: 'string'
      }
      metrics: {
        prometheusPort: int
      }
      selfCheck: {
        intervalSeconds: int
        mode: 'string'
        timeoutSeconds: int
      }
      traces: {
        cacheSizeMegabytes: int
        mode: 'string'
        selfTracing: {
          intervalSeconds: int
          mode: 'string'
        }
        spanChannelCapacity: int
      }
    }
    diskBackedMessageBuffer: {
      ephemeralVolumeClaimSpec: {
        accessModes: [
          'string'
        ]
        dataSource: {
          apiGroup: 'string'
          kind: 'string'
          name: 'string'
        }
        dataSourceRef: {
          apiGroup: 'string'
          kind: 'string'
          name: 'string'
          namespace: 'string'
        }
        resources: {
          limits: {
            {customized property}: 'string'
          }
          requests: {
            {customized property}: 'string'
          }
        }
        selector: {
          matchExpressions: [
            {
              key: 'string'
              operator: 'string'
              values: [
                'string'
              ]
            }
          ]
          matchLabels: {
            {customized property}: 'string'
          }
        }
        storageClassName: 'string'
        volumeMode: 'string'
        volumeName: 'string'
      }
      maxSize: 'string'
      persistentVolumeClaimSpec: {
        accessModes: [
          'string'
        ]
        dataSource: {
          apiGroup: 'string'
          kind: 'string'
          name: 'string'
        }
        dataSourceRef: {
          apiGroup: 'string'
          kind: 'string'
          name: 'string'
          namespace: 'string'
        }
        resources: {
          limits: {
            {customized property}: 'string'
          }
          requests: {
            {customized property}: 'string'
          }
        }
        selector: {
          matchExpressions: [
            {
              key: 'string'
              operator: 'string'
              values: [
                'string'
              ]
            }
          ]
          matchLabels: {
            {customized property}: 'string'
          }
        }
        storageClassName: 'string'
        volumeMode: 'string'
        volumeName: 'string'
      }
    }
    generateResourceLimits: {
      cpu: 'string'
    }
    memoryProfile: 'string'
  }
}

属性值

AdvancedSettings

名字 描述 价值
客户 与所有客户端相关的配置。 ClientConfig
encryptInternalTraffic 启用或禁用内部流量加密的设置。 “Disabled”
“Enabled”
internalCerts 证书轮换和私钥配置。 CertManagerCertOptions

BackendChain

名字 描述 价值
分区 所需的物理后端分区数。 int

约束:
最小值 = 1
最大值 = 16 (必需)
redundancyFactor 物理分区中所需的后端副本数(Pod)。 int

约束:
最小值 = 1
最大值 = 5 (必需)
工人 每个副本(Pod)的逻辑后端辅助角色数。 int

约束:
最小值 = 1
最大值 = 16

BrokerDiagnostics

名字 描述 价值
原木 资源的诊断日志设置。 DiagnosticsLogs
指标 资源的指标设置。 指标
selfCheck 自检查属性。 SelfCheck
痕迹 跟踪属性。 跟踪

BrokerProperties

名字 描述 价值
高深 Broker 的高级设置。 AdvancedSettings
基数 中转站的基数详细信息。 基数
诊断 规范定义中转站诊断设置的所需标识。 BrokerDiagnostics
diskBackedMessageBuffer 磁盘支持的消息缓冲区的设置。 DiskBackedMessageBuffer
generateResourceLimits 此设置控制是否请求 Kubernetes CPU 资源限制。 增加副本或辅助角色的数量会相应地增加请求的 CPU 资源量。 如果启用此设置并且 CPU 资源不足,则会发出错误。 GenerateResourceLimits
memoryProfile Broker 的内存配置文件。 “High”
“Low”
“Medium”
“Tiny”

基数

名字 描述 价值
backendChain 后端中转站所需的属性 BackendChain(必需)
frontend 前端所需属性 前端(必需)

CertManagerCertOptions

名字 描述 价值
期间 证书的生存期。 必须使用 Go 时间指定。持续时间格式 (h) m s). 例如 240 小时 240 小时 45 米,45 分钟。 string (必需)
privateKey 证书私钥的配置。 CertManagerPrivateKey(必需)
renewBefore 何时开始续订证书。 必须使用 Go 时间指定。持续时间格式 (h) m s). 例如 240 小时 240 小时 45 米,45 分钟。 string (必需)

CertManagerPrivateKey

名字 描述 价值
算法 私钥的算法。 “Ec256”
“Ec384”
“Ec521”
“Ed25519”
“Rsa2048”
“Rsa4096”
“Rsa8192”(必需)
rotationPolicy cert-manager 私钥 rotationPolicy。 “Always”
“永不”(必需)

ClientConfig

名字 描述 价值
maxKeepAliveSeconds 客户端“保持活动状态”的上限(以秒为单位)。 int

约束:
最小值 = 0
最大值 = 65535
maxMessageExpirySeconds 消息过期间隔上限(以秒为单位)。 int

约束:
最小值 = 1
最大值 = 4294967295
maxPacketSizeBytes 数据包的最大消息大小(以字节为单位)。 int

约束:
最小值 = 1
最大值 = 268435456
maxReceiveMaximum 客户端可以在 CONNECT 数据包中请求的接收最大值上限。 int

约束:
最小值 = 1
最大值 = 65535
maxSessionExpirySeconds 会话到期间隔上限(以秒为单位)。 int

约束:
最小值 = 1
最大值 = 4294967295
subscriberQueueLimit 订阅服务器排队消息数的限制。 SubscriberQueueLimit

DiagnosticsLogs

名字 描述 价值
水平 日志级别。 示例 - “debug”、“info”、“warn”、“error”、“trace”。 字符串

DiskBackedMessageBuffer

名字 描述 价值
ephemeralVolumeClaimSpec 使用指定的永久性卷声明模板为消息缓冲区装载“泛型临时卷”。 有关详细信息,请参阅 <https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes>。 VolumeClaimSpec
maxSize 磁盘上消息缓冲区的最大大小。 如果使用 ephemeralVolumeClaimSpec 或 persistentVolumeClaimSpec 之一指定 PVC 模板,则此大小将用作该模板的请求和限制大小。 如果既未指定临时VolumeClaimSpec,也没有指定 persistentVolumeClaimSpec,则以此大小作为其限制装载 emptyDir 卷。 有关详细信息,请参阅 <https://kubernetes.io/docs/concepts/storage/volumes/#emptydir>。 字符串

约束:
模式 = ^[0-9]+[KMGTPE]$ (必需)
persistentVolumeClaimSpec 使用指定的永久性卷声明模板为消息缓冲区装载永久性卷。 VolumeClaimSpec

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 string (必需)
类型 ExtendedLocation 的类型。 “CustomLocation”(必需)

前端

名字 描述 价值
副本 所需的前端实例数(Pod)。 int

约束:
最小值 = 1
最大值 = 16 (必需)
工人 每个实例(Pod)的逻辑前端辅助角色数。 int

约束:
最小值 = 1
最大值 = 16

GenerateResourceLimits

名字 描述 价值
中央处理器 用于启用/禁用 CPU 资源限制的开关。 “Disabled”
“Enabled”

KubernetesReference

名字 描述 价值
apiGroup APIGroup 是所引用资源的组。 如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。 对于任何其他第三方类型,需要 APIGroup。 字符串
类型是所引用的资源类型 string (必需)
名字 名称是所引用的资源的名称 string (必需)
Namespace 命名空间是所引用资源的命名空间。 当资源具有命名空间时,此字段是必需的。 字符串

LocalKubernetesReference

名字 描述 价值
apiGroup APIGroup 是所引用资源的组。 如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。 对于任何其他第三方类型,需要 APIGroup。 字符串
类型是所引用的资源类型 string (必需)
名字 名称是所引用的资源的名称 string (必需)

指标

名字 描述 价值
prometheusPort 用于公开指标的 prometheus 端口。 int

约束:
最小值 = 0
最大值 = 65535

Microsoft.IoTOperations/instances/brokers

名字 描述 价值
extendedLocation 资源的边缘位置。 ExtendedLocation (必需)
名字 资源名称 字符串

约束:
最小长度 = 3
最大长度 = 63
模式 = ^[a-z0-9][a-z0-9-]*[a-z0-9]$ (必需)
父母 在 Bicep 中,可以为子资源指定父资源。 仅当子资源在父资源外部声明时,才需要添加此属性。

有关详细信息,请参阅 父资源外部的子资源
类型资源的符号名称:实例
性能 此资源的资源特定属性。 BrokerProperties

SelfCheck

名字 描述 价值
intervalSeconds 自我检查间隔。 int

约束:
最小值 = 30
最大值 = 300
模式 用于启用/禁用自我检查的开关。 “Disabled”
“Enabled”
timeoutSeconds 自我检查的超时。 int

约束:
最小值 = 5
最大值 = 120

SelfTracing

名字 描述 价值
intervalSeconds 自我跟踪间隔。 int

约束:
最小值 = 1
最大值 = 300
模式 用于启用/禁用自我跟踪的开关。 “Disabled”
“Enabled”

SubscriberQueueLimit

名字 描述 价值
长度 消息开始删除之前队列的最大长度。 int

约束:
最小值 = 1
策略 用于从队列中删除消息的策略。 “DropOldest”
“None”

痕迹

名字 描述 价值
cacheSizeMegabytes 缓存大小(以 MB 为单位)。 int

约束:
最小值 = 1
最大值 = 128
模式 用于启用/禁用跟踪的开关。 “Disabled”
“Enabled”
selfTracing 自我跟踪属性。 SelfTracing
spanChannelCapacity 范围通道容量。 int

约束:
最小值 = 1000
最大值 = 100000

VolumeClaimResourceRequirements

名字 描述 价值
限制 限制描述允许的最大计算资源量。 详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ VolumeClaimResourceRequirementsLimits
请求 请求描述所需的最小计算资源量。 如果为容器省略请求,则默认为“限制”(如果显式指定)否则为实现定义的值。 详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ VolumeClaimResourceRequirementsRequests

VolumeClaimResourceRequirementsLimits

名字 描述 价值

VolumeClaimResourceRequirementsRequests

名字 描述 价值

VolumeClaimSpec

名字 描述 价值
accessModes AccessModes 包含卷应具有的所需访问模式。 详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 string[]
dataSource 此字段可用于指定任一项:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有 PVC (PersistentVolumeClaim) 如果预配器或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建新卷。 如果启用了 AnyVolumeDataSource 功能门,此字段将始终具有与 DataSourceRef 字段相同的内容。 LocalKubernetesReference
dataSourceRef 指定需要非空卷时使用数据填充卷的对象。 这可能是非空 API 组(非核心对象)或 PersistentVolumeClaim 对象中的任何本地对象。 指定此字段时,仅当指定对象的类型与某些已安装的卷填充器或动态预配器匹配时,卷绑定才会成功。 此字段将替换 DataSource 字段的功能,因此,如果这两个字段均为非空,则它们必须具有相同的值。 为了向后兼容,如果其中一个字段为空,另一个字段为非空,则两个字段(DataSource 和 DataSourceRef)将自动设置为相同的值。 DataSource 和 DataSourceRef 之间存在两个重要差异:* 虽然 DataSource 只允许两种特定类型的对象,但 DataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。 * 虽然 DataSource 忽略不允许的值(删除它们),但 DataSourceRef 会保留所有值,并在指定不允许的值时生成错误。 (Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。 KubernetesReference
资源 资源表示卷应具有的最小资源。 如果已启用 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源要求,但仍必须高于声明状态字段中记录的容量。 详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources VolumeClaimResourceRequirements
选择器 要考虑用于绑定的卷的标签查询。 VolumeClaimSpecSelector
storageClassName 声明所需的 StorageClass 的名称。 详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 字符串
volumeMode volumeMode 定义声明所需的卷类型。 声明规范中未包含时,将隐含文件系统的值。这是一项 beta 功能。 字符串
volumeName VolumeName 是对支持此声明的 PersistentVolume 的绑定引用。 字符串

VolumeClaimSpecSelector

名字 描述 价值
matchExpressions MatchExpressions 是标签选择器要求的列表。 要求是 ANDed。 VolumeClaimSpecSelectorMatchExpressions[]
matchLabels MatchLabels 是 {key,value} 对的映射。 matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其键字段为“key”,运算符为“In”,值数组仅包含“value”。 要求是 ANDed。 VolumeClaimSpecSelectorMatchLabels

VolumeClaimSpecSelectorMatchExpressions

名字 描述 价值
钥匙 键是选择器应用于的标签键。 string (必需)
算子 运算符表示键与一组值的关系。 有效运算符为 In、NotIn、Exists 和 DoesNotExist。 “DoesNotExist”
“Exists”
“In”
“NotIn”(必需)
values 是字符串值的数组。 如果运算符为 In 或 NotIn,则值数组必须为非空。 如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。 此数组在战略合并修补期间被替换。 string[]

VolumeClaimSpecSelectorMatchLabels

名字 描述 价值

ARM 模板资源定义

可以使用目标操作部署实例/中转站资源类型:

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.IoTOperations/instances/brokers 资源,请将以下 JSON 添加到模板。

{
  "type": "Microsoft.IoTOperations/instances/brokers",
  "apiVersion": "2024-11-01",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "properties": {
    "advanced": {
      "clients": {
        "maxKeepAliveSeconds": "int",
        "maxMessageExpirySeconds": "int",
        "maxPacketSizeBytes": "int",
        "maxReceiveMaximum": "int",
        "maxSessionExpirySeconds": "int",
        "subscriberQueueLimit": {
          "length": "int",
          "strategy": "string"
        }
      },
      "encryptInternalTraffic": "string",
      "internalCerts": {
        "duration": "string",
        "privateKey": {
          "algorithm": "string",
          "rotationPolicy": "string"
        },
        "renewBefore": "string"
      }
    },
    "cardinality": {
      "backendChain": {
        "partitions": "int",
        "redundancyFactor": "int",
        "workers": "int"
      },
      "frontend": {
        "replicas": "int",
        "workers": "int"
      }
    },
    "diagnostics": {
      "logs": {
        "level": "string"
      },
      "metrics": {
        "prometheusPort": "int"
      },
      "selfCheck": {
        "intervalSeconds": "int",
        "mode": "string",
        "timeoutSeconds": "int"
      },
      "traces": {
        "cacheSizeMegabytes": "int",
        "mode": "string",
        "selfTracing": {
          "intervalSeconds": "int",
          "mode": "string"
        },
        "spanChannelCapacity": "int"
      }
    },
    "diskBackedMessageBuffer": {
      "ephemeralVolumeClaimSpec": {
        "accessModes": [ "string" ],
        "dataSource": {
          "apiGroup": "string",
          "kind": "string",
          "name": "string"
        },
        "dataSourceRef": {
          "apiGroup": "string",
          "kind": "string",
          "name": "string",
          "namespace": "string"
        },
        "resources": {
          "limits": {
            "{customized property}": "string"
          },
          "requests": {
            "{customized property}": "string"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "string",
              "operator": "string",
              "values": [ "string" ]
            }
          ],
          "matchLabels": {
            "{customized property}": "string"
          }
        },
        "storageClassName": "string",
        "volumeMode": "string",
        "volumeName": "string"
      },
      "maxSize": "string",
      "persistentVolumeClaimSpec": {
        "accessModes": [ "string" ],
        "dataSource": {
          "apiGroup": "string",
          "kind": "string",
          "name": "string"
        },
        "dataSourceRef": {
          "apiGroup": "string",
          "kind": "string",
          "name": "string",
          "namespace": "string"
        },
        "resources": {
          "limits": {
            "{customized property}": "string"
          },
          "requests": {
            "{customized property}": "string"
          }
        },
        "selector": {
          "matchExpressions": [
            {
              "key": "string",
              "operator": "string",
              "values": [ "string" ]
            }
          ],
          "matchLabels": {
            "{customized property}": "string"
          }
        },
        "storageClassName": "string",
        "volumeMode": "string",
        "volumeName": "string"
      }
    },
    "generateResourceLimits": {
      "cpu": "string"
    },
    "memoryProfile": "string"
  }
}

属性值

AdvancedSettings

名字 描述 价值
客户 与所有客户端相关的配置。 ClientConfig
encryptInternalTraffic 启用或禁用内部流量加密的设置。 “Disabled”
“Enabled”
internalCerts 证书轮换和私钥配置。 CertManagerCertOptions

BackendChain

名字 描述 价值
分区 所需的物理后端分区数。 int

约束:
最小值 = 1
最大值 = 16 (必需)
redundancyFactor 物理分区中所需的后端副本数(Pod)。 int

约束:
最小值 = 1
最大值 = 5 (必需)
工人 每个副本(Pod)的逻辑后端辅助角色数。 int

约束:
最小值 = 1
最大值 = 16

BrokerDiagnostics

名字 描述 价值
原木 资源的诊断日志设置。 DiagnosticsLogs
指标 资源的指标设置。 指标
selfCheck 自检查属性。 SelfCheck
痕迹 跟踪属性。 跟踪

BrokerProperties

名字 描述 价值
高深 Broker 的高级设置。 AdvancedSettings
基数 中转站的基数详细信息。 基数
诊断 规范定义中转站诊断设置的所需标识。 BrokerDiagnostics
diskBackedMessageBuffer 磁盘支持的消息缓冲区的设置。 DiskBackedMessageBuffer
generateResourceLimits 此设置控制是否请求 Kubernetes CPU 资源限制。 增加副本或辅助角色的数量会相应地增加请求的 CPU 资源量。 如果启用此设置并且 CPU 资源不足,则会发出错误。 GenerateResourceLimits
memoryProfile Broker 的内存配置文件。 “High”
“Low”
“Medium”
“Tiny”

基数

名字 描述 价值
backendChain 后端中转站所需的属性 BackendChain(必需)
frontend 前端所需属性 前端(必需)

CertManagerCertOptions

名字 描述 价值
期间 证书的生存期。 必须使用 Go 时间指定。持续时间格式 (h) m s). 例如 240 小时 240 小时 45 米,45 分钟。 string (必需)
privateKey 证书私钥的配置。 CertManagerPrivateKey(必需)
renewBefore 何时开始续订证书。 必须使用 Go 时间指定。持续时间格式 (h) m s). 例如 240 小时 240 小时 45 米,45 分钟。 string (必需)

CertManagerPrivateKey

名字 描述 价值
算法 私钥的算法。 “Ec256”
“Ec384”
“Ec521”
“Ed25519”
“Rsa2048”
“Rsa4096”
“Rsa8192”(必需)
rotationPolicy cert-manager 私钥 rotationPolicy。 “Always”
“永不”(必需)

ClientConfig

名字 描述 价值
maxKeepAliveSeconds 客户端“保持活动状态”的上限(以秒为单位)。 int

约束:
最小值 = 0
最大值 = 65535
maxMessageExpirySeconds 消息过期间隔上限(以秒为单位)。 int

约束:
最小值 = 1
最大值 = 4294967295
maxPacketSizeBytes 数据包的最大消息大小(以字节为单位)。 int

约束:
最小值 = 1
最大值 = 268435456
maxReceiveMaximum 客户端可以在 CONNECT 数据包中请求的接收最大值上限。 int

约束:
最小值 = 1
最大值 = 65535
maxSessionExpirySeconds 会话到期间隔上限(以秒为单位)。 int

约束:
最小值 = 1
最大值 = 4294967295
subscriberQueueLimit 订阅服务器排队消息数的限制。 SubscriberQueueLimit

DiagnosticsLogs

名字 描述 价值
水平 日志级别。 示例 - “debug”、“info”、“warn”、“error”、“trace”。 字符串

DiskBackedMessageBuffer

名字 描述 价值
ephemeralVolumeClaimSpec 使用指定的永久性卷声明模板为消息缓冲区装载“泛型临时卷”。 有关详细信息,请参阅 <https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes>。 VolumeClaimSpec
maxSize 磁盘上消息缓冲区的最大大小。 如果使用 ephemeralVolumeClaimSpec 或 persistentVolumeClaimSpec 之一指定 PVC 模板,则此大小将用作该模板的请求和限制大小。 如果既未指定临时VolumeClaimSpec,也没有指定 persistentVolumeClaimSpec,则以此大小作为其限制装载 emptyDir 卷。 有关详细信息,请参阅 <https://kubernetes.io/docs/concepts/storage/volumes/#emptydir>。 字符串

约束:
模式 = ^[0-9]+[KMGTPE]$ (必需)
persistentVolumeClaimSpec 使用指定的永久性卷声明模板为消息缓冲区装载永久性卷。 VolumeClaimSpec

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 string (必需)
类型 ExtendedLocation 的类型。 “CustomLocation”(必需)

前端

名字 描述 价值
副本 所需的前端实例数(Pod)。 int

约束:
最小值 = 1
最大值 = 16 (必需)
工人 每个实例(Pod)的逻辑前端辅助角色数。 int

约束:
最小值 = 1
最大值 = 16

GenerateResourceLimits

名字 描述 价值
中央处理器 用于启用/禁用 CPU 资源限制的开关。 “Disabled”
“Enabled”

KubernetesReference

名字 描述 价值
apiGroup APIGroup 是所引用资源的组。 如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。 对于任何其他第三方类型,需要 APIGroup。 字符串
类型是所引用的资源类型 string (必需)
名字 名称是所引用的资源的名称 string (必需)
Namespace 命名空间是所引用资源的命名空间。 当资源具有命名空间时,此字段是必需的。 字符串

LocalKubernetesReference

名字 描述 价值
apiGroup APIGroup 是所引用资源的组。 如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。 对于任何其他第三方类型,需要 APIGroup。 字符串
类型是所引用的资源类型 string (必需)
名字 名称是所引用的资源的名称 string (必需)

指标

名字 描述 价值
prometheusPort 用于公开指标的 prometheus 端口。 int

约束:
最小值 = 0
最大值 = 65535

Microsoft.IoTOperations/instances/brokers

名字 描述 价值
apiVersion API 版本 '2024-11-01'
extendedLocation 资源的边缘位置。 ExtendedLocation (必需)
名字 资源名称 字符串

约束:
最小长度 = 3
最大长度 = 63
模式 = ^[a-z0-9][a-z0-9-]*[a-z0-9]$ (必需)
性能 此资源的资源特定属性。 BrokerProperties
类型 资源类型 “Microsoft.IoTOperations/instances/brokers”

SelfCheck

名字 描述 价值
intervalSeconds 自我检查间隔。 int

约束:
最小值 = 30
最大值 = 300
模式 用于启用/禁用自我检查的开关。 “Disabled”
“Enabled”
timeoutSeconds 自我检查的超时。 int

约束:
最小值 = 5
最大值 = 120

SelfTracing

名字 描述 价值
intervalSeconds 自我跟踪间隔。 int

约束:
最小值 = 1
最大值 = 300
模式 用于启用/禁用自我跟踪的开关。 “Disabled”
“Enabled”

SubscriberQueueLimit

名字 描述 价值
长度 消息开始删除之前队列的最大长度。 int

约束:
最小值 = 1
策略 用于从队列中删除消息的策略。 “DropOldest”
“None”

痕迹

名字 描述 价值
cacheSizeMegabytes 缓存大小(以 MB 为单位)。 int

约束:
最小值 = 1
最大值 = 128
模式 用于启用/禁用跟踪的开关。 “Disabled”
“Enabled”
selfTracing 自我跟踪属性。 SelfTracing
spanChannelCapacity 范围通道容量。 int

约束:
最小值 = 1000
最大值 = 100000

VolumeClaimResourceRequirements

名字 描述 价值
限制 限制描述允许的最大计算资源量。 详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ VolumeClaimResourceRequirementsLimits
请求 请求描述所需的最小计算资源量。 如果为容器省略请求,则默认为“限制”(如果显式指定)否则为实现定义的值。 详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ VolumeClaimResourceRequirementsRequests

VolumeClaimResourceRequirementsLimits

名字 描述 价值

VolumeClaimResourceRequirementsRequests

名字 描述 价值

VolumeClaimSpec

名字 描述 价值
accessModes AccessModes 包含卷应具有的所需访问模式。 详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 string[]
dataSource 此字段可用于指定任一项:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有 PVC (PersistentVolumeClaim) 如果预配器或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建新卷。 如果启用了 AnyVolumeDataSource 功能门,此字段将始终具有与 DataSourceRef 字段相同的内容。 LocalKubernetesReference
dataSourceRef 指定需要非空卷时使用数据填充卷的对象。 这可能是非空 API 组(非核心对象)或 PersistentVolumeClaim 对象中的任何本地对象。 指定此字段时,仅当指定对象的类型与某些已安装的卷填充器或动态预配器匹配时,卷绑定才会成功。 此字段将替换 DataSource 字段的功能,因此,如果这两个字段均为非空,则它们必须具有相同的值。 为了向后兼容,如果其中一个字段为空,另一个字段为非空,则两个字段(DataSource 和 DataSourceRef)将自动设置为相同的值。 DataSource 和 DataSourceRef 之间存在两个重要差异:* 虽然 DataSource 只允许两种特定类型的对象,但 DataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。 * 虽然 DataSource 忽略不允许的值(删除它们),但 DataSourceRef 会保留所有值,并在指定不允许的值时生成错误。 (Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。 KubernetesReference
资源 资源表示卷应具有的最小资源。 如果已启用 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源要求,但仍必须高于声明状态字段中记录的容量。 详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources VolumeClaimResourceRequirements
选择器 要考虑用于绑定的卷的标签查询。 VolumeClaimSpecSelector
storageClassName 声明所需的 StorageClass 的名称。 详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 字符串
volumeMode volumeMode 定义声明所需的卷类型。 声明规范中未包含时,将隐含文件系统的值。这是一项 beta 功能。 字符串
volumeName VolumeName 是对支持此声明的 PersistentVolume 的绑定引用。 字符串

VolumeClaimSpecSelector

名字 描述 价值
matchExpressions MatchExpressions 是标签选择器要求的列表。 要求是 ANDed。 VolumeClaimSpecSelectorMatchExpressions[]
matchLabels MatchLabels 是 {key,value} 对的映射。 matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其键字段为“key”,运算符为“In”,值数组仅包含“value”。 要求是 ANDed。 VolumeClaimSpecSelectorMatchLabels

VolumeClaimSpecSelectorMatchExpressions

名字 描述 价值
钥匙 键是选择器应用于的标签键。 string (必需)
算子 运算符表示键与一组值的关系。 有效运算符为 In、NotIn、Exists 和 DoesNotExist。 “DoesNotExist”
“Exists”
“In”
“NotIn”(必需)
values 是字符串值的数组。 如果运算符为 In 或 NotIn,则值数组必须为非空。 如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。 此数组在战略合并修补期间被替换。 string[]

VolumeClaimSpecSelectorMatchLabels

名字 描述 价值

Terraform (AzAPI 提供程序)资源定义

可以使用目标操作部署实例/中转站资源类型:

  • 资源组

有关每个 API 版本中已更改属性的列表,请参阅 更改日志

资源格式

若要创建 Microsoft.IoTOperations/instances/brokers 资源,请将以下 Terraform 添加到模板。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.IoTOperations/instances/brokers@2024-11-01"
  name = "string"
  body = jsonencode({
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      advanced = {
        clients = {
          maxKeepAliveSeconds = int
          maxMessageExpirySeconds = int
          maxPacketSizeBytes = int
          maxReceiveMaximum = int
          maxSessionExpirySeconds = int
          subscriberQueueLimit = {
            length = int
            strategy = "string"
          }
        }
        encryptInternalTraffic = "string"
        internalCerts = {
          duration = "string"
          privateKey = {
            algorithm = "string"
            rotationPolicy = "string"
          }
          renewBefore = "string"
        }
      }
      cardinality = {
        backendChain = {
          partitions = int
          redundancyFactor = int
          workers = int
        }
        frontend = {
          replicas = int
          workers = int
        }
      }
      diagnostics = {
        logs = {
          level = "string"
        }
        metrics = {
          prometheusPort = int
        }
        selfCheck = {
          intervalSeconds = int
          mode = "string"
          timeoutSeconds = int
        }
        traces = {
          cacheSizeMegabytes = int
          mode = "string"
          selfTracing = {
            intervalSeconds = int
            mode = "string"
          }
          spanChannelCapacity = int
        }
      }
      diskBackedMessageBuffer = {
        ephemeralVolumeClaimSpec = {
          accessModes = [
            "string"
          ]
          dataSource = {
            apiGroup = "string"
            kind = "string"
            name = "string"
          }
          dataSourceRef = {
            apiGroup = "string"
            kind = "string"
            name = "string"
            namespace = "string"
          }
          resources = {
            limits = {
              {customized property} = "string"
            }
            requests = {
              {customized property} = "string"
            }
          }
          selector = {
            matchExpressions = [
              {
                key = "string"
                operator = "string"
                values = [
                  "string"
                ]
              }
            ]
            matchLabels = {
              {customized property} = "string"
            }
          }
          storageClassName = "string"
          volumeMode = "string"
          volumeName = "string"
        }
        maxSize = "string"
        persistentVolumeClaimSpec = {
          accessModes = [
            "string"
          ]
          dataSource = {
            apiGroup = "string"
            kind = "string"
            name = "string"
          }
          dataSourceRef = {
            apiGroup = "string"
            kind = "string"
            name = "string"
            namespace = "string"
          }
          resources = {
            limits = {
              {customized property} = "string"
            }
            requests = {
              {customized property} = "string"
            }
          }
          selector = {
            matchExpressions = [
              {
                key = "string"
                operator = "string"
                values = [
                  "string"
                ]
              }
            ]
            matchLabels = {
              {customized property} = "string"
            }
          }
          storageClassName = "string"
          volumeMode = "string"
          volumeName = "string"
        }
      }
      generateResourceLimits = {
        cpu = "string"
      }
      memoryProfile = "string"
    }
  })
}

属性值

AdvancedSettings

名字 描述 价值
客户 与所有客户端相关的配置。 ClientConfig
encryptInternalTraffic 启用或禁用内部流量加密的设置。 “Disabled”
“Enabled”
internalCerts 证书轮换和私钥配置。 CertManagerCertOptions

BackendChain

名字 描述 价值
分区 所需的物理后端分区数。 int

约束:
最小值 = 1
最大值 = 16 (必需)
redundancyFactor 物理分区中所需的后端副本数(Pod)。 int

约束:
最小值 = 1
最大值 = 5 (必需)
工人 每个副本(Pod)的逻辑后端辅助角色数。 int

约束:
最小值 = 1
最大值 = 16

BrokerDiagnostics

名字 描述 价值
原木 资源的诊断日志设置。 DiagnosticsLogs
指标 资源的指标设置。 指标
selfCheck 自检查属性。 SelfCheck
痕迹 跟踪属性。 跟踪

BrokerProperties

名字 描述 价值
高深 Broker 的高级设置。 AdvancedSettings
基数 中转站的基数详细信息。 基数
诊断 规范定义中转站诊断设置的所需标识。 BrokerDiagnostics
diskBackedMessageBuffer 磁盘支持的消息缓冲区的设置。 DiskBackedMessageBuffer
generateResourceLimits 此设置控制是否请求 Kubernetes CPU 资源限制。 增加副本或辅助角色的数量会相应地增加请求的 CPU 资源量。 如果启用此设置并且 CPU 资源不足,则会发出错误。 GenerateResourceLimits
memoryProfile Broker 的内存配置文件。 “High”
“Low”
“Medium”
“Tiny”

基数

名字 描述 价值
backendChain 后端中转站所需的属性 BackendChain(必需)
frontend 前端所需属性 前端(必需)

CertManagerCertOptions

名字 描述 价值
期间 证书的生存期。 必须使用 Go 时间指定。持续时间格式 (h) m s). 例如 240 小时 240 小时 45 米,45 分钟。 string (必需)
privateKey 证书私钥的配置。 CertManagerPrivateKey(必需)
renewBefore 何时开始续订证书。 必须使用 Go 时间指定。持续时间格式 (h) m s). 例如 240 小时 240 小时 45 米,45 分钟。 string (必需)

CertManagerPrivateKey

名字 描述 价值
算法 私钥的算法。 “Ec256”
“Ec384”
“Ec521”
“Ed25519”
“Rsa2048”
“Rsa4096”
“Rsa8192”(必需)
rotationPolicy cert-manager 私钥 rotationPolicy。 “Always”
“永不”(必需)

ClientConfig

名字 描述 价值
maxKeepAliveSeconds 客户端“保持活动状态”的上限(以秒为单位)。 int

约束:
最小值 = 0
最大值 = 65535
maxMessageExpirySeconds 消息过期间隔上限(以秒为单位)。 int

约束:
最小值 = 1
最大值 = 4294967295
maxPacketSizeBytes 数据包的最大消息大小(以字节为单位)。 int

约束:
最小值 = 1
最大值 = 268435456
maxReceiveMaximum 客户端可以在 CONNECT 数据包中请求的接收最大值上限。 int

约束:
最小值 = 1
最大值 = 65535
maxSessionExpirySeconds 会话到期间隔上限(以秒为单位)。 int

约束:
最小值 = 1
最大值 = 4294967295
subscriberQueueLimit 订阅服务器排队消息数的限制。 SubscriberQueueLimit

DiagnosticsLogs

名字 描述 价值
水平 日志级别。 示例 - “debug”、“info”、“warn”、“error”、“trace”。 字符串

DiskBackedMessageBuffer

名字 描述 价值
ephemeralVolumeClaimSpec 使用指定的永久性卷声明模板为消息缓冲区装载“泛型临时卷”。 有关详细信息,请参阅 <https://kubernetes.io/docs/concepts/storage/ephemeral-volumes/#generic-ephemeral-volumes>。 VolumeClaimSpec
maxSize 磁盘上消息缓冲区的最大大小。 如果使用 ephemeralVolumeClaimSpec 或 persistentVolumeClaimSpec 之一指定 PVC 模板,则此大小将用作该模板的请求和限制大小。 如果既未指定临时VolumeClaimSpec,也没有指定 persistentVolumeClaimSpec,则以此大小作为其限制装载 emptyDir 卷。 有关详细信息,请参阅 <https://kubernetes.io/docs/concepts/storage/volumes/#emptydir>。 字符串

约束:
模式 = ^[0-9]+[KMGTPE]$ (必需)
persistentVolumeClaimSpec 使用指定的永久性卷声明模板为消息缓冲区装载永久性卷。 VolumeClaimSpec

ExtendedLocation

名字 描述 价值
名字 扩展位置的名称。 string (必需)
类型 ExtendedLocation 的类型。 “CustomLocation”(必需)

前端

名字 描述 价值
副本 所需的前端实例数(Pod)。 int

约束:
最小值 = 1
最大值 = 16 (必需)
工人 每个实例(Pod)的逻辑前端辅助角色数。 int

约束:
最小值 = 1
最大值 = 16

GenerateResourceLimits

名字 描述 价值
中央处理器 用于启用/禁用 CPU 资源限制的开关。 “Disabled”
“Enabled”

KubernetesReference

名字 描述 价值
apiGroup APIGroup 是所引用资源的组。 如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。 对于任何其他第三方类型,需要 APIGroup。 字符串
类型是所引用的资源类型 string (必需)
名字 名称是所引用的资源的名称 string (必需)
Namespace 命名空间是所引用资源的命名空间。 当资源具有命名空间时,此字段是必需的。 字符串

LocalKubernetesReference

名字 描述 价值
apiGroup APIGroup 是所引用资源的组。 如果未指定 APIGroup,则指定的 Kind 必须位于核心 API 组中。 对于任何其他第三方类型,需要 APIGroup。 字符串
类型是所引用的资源类型 string (必需)
名字 名称是所引用的资源的名称 string (必需)

指标

名字 描述 价值
prometheusPort 用于公开指标的 prometheus 端口。 int

约束:
最小值 = 0
最大值 = 65535

Microsoft.IoTOperations/instances/brokers

名字 描述 价值
extendedLocation 资源的边缘位置。 ExtendedLocation (必需)
名字 资源名称 字符串

约束:
最小长度 = 3
最大长度 = 63
模式 = ^[a-z0-9][a-z0-9-]*[a-z0-9]$ (必需)
parent_id 此资源的父资源的 ID。 类型资源的 ID:实例
性能 此资源的资源特定属性。 BrokerProperties
类型 资源类型 “Microsoft.IoTOperations/instances/brokers@2024-11-01”

SelfCheck

名字 描述 价值
intervalSeconds 自我检查间隔。 int

约束:
最小值 = 30
最大值 = 300
模式 用于启用/禁用自我检查的开关。 “Disabled”
“Enabled”
timeoutSeconds 自我检查的超时。 int

约束:
最小值 = 5
最大值 = 120

SelfTracing

名字 描述 价值
intervalSeconds 自我跟踪间隔。 int

约束:
最小值 = 1
最大值 = 300
模式 用于启用/禁用自我跟踪的开关。 “Disabled”
“Enabled”

SubscriberQueueLimit

名字 描述 价值
长度 消息开始删除之前队列的最大长度。 int

约束:
最小值 = 1
策略 用于从队列中删除消息的策略。 “DropOldest”
“None”

痕迹

名字 描述 价值
cacheSizeMegabytes 缓存大小(以 MB 为单位)。 int

约束:
最小值 = 1
最大值 = 128
模式 用于启用/禁用跟踪的开关。 “Disabled”
“Enabled”
selfTracing 自我跟踪属性。 SelfTracing
spanChannelCapacity 范围通道容量。 int

约束:
最小值 = 1000
最大值 = 100000

VolumeClaimResourceRequirements

名字 描述 价值
限制 限制描述允许的最大计算资源量。 详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ VolumeClaimResourceRequirementsLimits
请求 请求描述所需的最小计算资源量。 如果为容器省略请求,则默认为“限制”(如果显式指定)否则为实现定义的值。 详细信息:https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ VolumeClaimResourceRequirementsRequests

VolumeClaimResourceRequirementsLimits

名字 描述 价值

VolumeClaimResourceRequirementsRequests

名字 描述 价值

VolumeClaimSpec

名字 描述 价值
accessModes AccessModes 包含卷应具有的所需访问模式。 详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 string[]
dataSource 此字段可用于指定任一项:* 现有的 VolumeSnapshot 对象 (snapshot.storage.k8s.io/VolumeSnapshot) * 现有 PVC (PersistentVolumeClaim) 如果预配器或外部控制器可以支持指定的数据源,它将基于指定数据源的内容创建新卷。 如果启用了 AnyVolumeDataSource 功能门,此字段将始终具有与 DataSourceRef 字段相同的内容。 LocalKubernetesReference
dataSourceRef 指定需要非空卷时使用数据填充卷的对象。 这可能是非空 API 组(非核心对象)或 PersistentVolumeClaim 对象中的任何本地对象。 指定此字段时,仅当指定对象的类型与某些已安装的卷填充器或动态预配器匹配时,卷绑定才会成功。 此字段将替换 DataSource 字段的功能,因此,如果这两个字段均为非空,则它们必须具有相同的值。 为了向后兼容,如果其中一个字段为空,另一个字段为非空,则两个字段(DataSource 和 DataSourceRef)将自动设置为相同的值。 DataSource 和 DataSourceRef 之间存在两个重要差异:* 虽然 DataSource 只允许两种特定类型的对象,但 DataSourceRef 允许任何非核心对象,以及 PersistentVolumeClaim 对象。 * 虽然 DataSource 忽略不允许的值(删除它们),但 DataSourceRef 会保留所有值,并在指定不允许的值时生成错误。 (Beta)使用此字段需要启用 AnyVolumeDataSource 功能门。 KubernetesReference
资源 资源表示卷应具有的最小资源。 如果已启用 RecoverVolumeExpansionFailure 功能,则允许用户指定低于先前值的资源要求,但仍必须高于声明状态字段中记录的容量。 详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources VolumeClaimResourceRequirements
选择器 要考虑用于绑定的卷的标签查询。 VolumeClaimSpecSelector
storageClassName 声明所需的 StorageClass 的名称。 详细信息:https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 字符串
volumeMode volumeMode 定义声明所需的卷类型。 声明规范中未包含时,将隐含文件系统的值。这是一项 beta 功能。 字符串
volumeName VolumeName 是对支持此声明的 PersistentVolume 的绑定引用。 字符串

VolumeClaimSpecSelector

名字 描述 价值
matchExpressions MatchExpressions 是标签选择器要求的列表。 要求是 ANDed。 VolumeClaimSpecSelectorMatchExpressions[]
matchLabels MatchLabels 是 {key,value} 对的映射。 matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的元素,其键字段为“key”,运算符为“In”,值数组仅包含“value”。 要求是 ANDed。 VolumeClaimSpecSelectorMatchLabels

VolumeClaimSpecSelectorMatchExpressions

名字 描述 价值
钥匙 键是选择器应用于的标签键。 string (必需)
算子 运算符表示键与一组值的关系。 有效运算符为 In、NotIn、Exists 和 DoesNotExist。 “DoesNotExist”
“Exists”
“In”
“NotIn”(必需)
values 是字符串值的数组。 如果运算符为 In 或 NotIn,则值数组必须为非空。 如果运算符为 Exists 或 DoesNotExist,则值数组必须为空。 此数组在战略合并修补期间被替换。 string[]

VolumeClaimSpecSelectorMatchLabels

名字 描述 价值