Namespaces/tópicos/assinaturas/regras do Microsoft.ServiceBus 2017-04-01

Definição de recurso do Bicep

O tipo de recurso namespaces/topics/subscriptions/rules pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.ServiceBus/namespaces/topics/subscriptions/rules, adicione o Bicep a seguir ao seu modelo.

resource symbolicname 'Microsoft.ServiceBus/namespaces/topics/subscriptions/rules@2017-04-01' = {
  parent: resourceSymbolicName
  name: 'string'
  properties: {
    action: {
      compatibilityLevel: int
      requiresPreprocessing: bool
      sqlExpression: 'string'
    }
    correlationFilter: {
      contentType: 'string'
      correlationId: 'string'
      label: 'string'
      messageId: 'string'
      properties: {
        {customized property}: 'string'
      }
      replyTo: 'string'
      replyToSessionId: 'string'
      requiresPreprocessing: bool
      sessionId: 'string'
      to: 'string'
    }
    filterType: 'string'
    sqlFilter: {
      compatibilityLevel: int
      requiresPreprocessing: bool
      sqlExpression: 'string'
    }
  }
}

Valores de propriedade

Microsoft.ServiceBus/namespaces/topics/subscriptions/rules

Nome Descrição Valor
nome O nome do recurso corda

Restrições:
Comprimento mínimo = 1
Comprimento máximo = 50 (obrigatório)
pai No Bicep, você pode especificar o recurso pai para um recurso filho. Você só precisa adicionar essa propriedade quando o recurso filho é declarado fora do recurso pai.

Para obter mais informações, consulte recurso filho fora do recurso pai.
Nome simbólico para o recurso do tipo: namespaces/tópicos/assinaturas
Propriedades Propriedades do recurso Rule de Ruleproperties

Ação

Nome Descrição Valor
nívelDeCompatibilidade Essa propriedade é reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado como 20. int
requerPré-processamento Valor que indica se a ação de regra requer pré-processamento. Bool
sqlExpressão Expressão SQL. por exemplo, MyProperty='ABC' cadeia

Filtro de correlação

Nome Descrição Valor
tipo de conteúdo Tipo de conteúdo da mensagem. cadeia
correlationId Identificador da correlação. cadeia
etiqueta Rótulo específico do aplicativo. cadeia
ID da mensagem Identificador da mensagem. cadeia
Propriedades objeto dictionary para filtros personalizados CorrelationFilterProperties
replyTo Endereço da fila à qual responder. cadeia
replyToSessionId Identificador de sessão ao qual responder. cadeia
requerPré-processamento Valor que indica se a ação de regra requer pré-processamento. Bool
sessionID Identificador de sessão. cadeia
Para Endereço para o qual enviar. cadeia

CorrelationFilterProperties

Nome Descrição Valor

Regramentos

Nome Descrição Valor
ação Representa as ações de filtro permitidas para a transformação de uma mensagem que foram correspondidas por uma expressão de filtro. de Ação
correlaçãoFilter Propriedades de correlationFilter CorrelationFilter
tipo de filtro Tipo de filtro que é avaliado em relação a um BrokeredMessage. 'CorrelationFilter'
'Filtro Sql'
Filtro sql Propriedades do sqlFilter sqlFilter

Filtro Sql

Nome Descrição Valor
nívelDeCompatibilidade Essa propriedade é reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado como 20. int

Restrições:
Valor mínimo = 20
Valor máximo = 20
requerPré-processamento Valor que indica se a ação de regra requer pré-processamento. Bool
sqlExpressão A expressão SQL. por exemplo, MyProperty='ABC' cadeia

Exemplos de uso

Exemplos do Bicep

Um exemplo básico de implantação da Regra de Assinatura do ServiceBus.

param resourceName string = 'acctest0001'
param location string = 'westeurope'

resource namespace 'Microsoft.ServiceBus/namespaces@2022-01-01-preview' = {
  name: resourceName
  location: location
  properties: {
    disableLocalAuth: false
    publicNetworkAccess: 'Enabled'
    zoneRedundant: false
  }
  sku: {
    capacity: 0
    name: 'Standard'
    tier: 'Standard'
  }
}

resource topic 'Microsoft.ServiceBus/namespaces/topics@2021-06-01-preview' = {
  parent: namespace
  name: resourceName
  properties: {
    enableBatchedOperations: false
    enableExpress: false
    enablePartitioning: false
    maxSizeInMegabytes: 5120
    requiresDuplicateDetection: false
    status: 'Active'
    supportOrdering: false
  }
}

resource subscription 'Microsoft.ServiceBus/namespaces/topics/subscriptions@2021-06-01-preview' = {
  parent: topic
  name: resourceName
  properties: {
    clientAffineProperties: {}
    deadLetteringOnFilterEvaluationExceptions: true
    deadLetteringOnMessageExpiration: false
    enableBatchedOperations: false
    isClientAffine: false
    maxDeliveryCount: 10
    requiresSession: false
    status: 'Active'
  }
}

resource rule 'Microsoft.ServiceBus/namespaces/topics/subscriptions/rules@2021-06-01-preview' = {
  parent: subscription
  name: resourceName
  properties: {
    correlationFilter: {
      contentType: 'test_content_type'
      correlationId: 'test_correlation_id'
      label: 'test_label'
      messageId: 'test_message_id'
      replyTo: 'test_reply_to'
      replyToSessionId: 'test_reply_to_session_id'
      sessionId: 'test_session_id'
      to: 'test_to'
    }
    filterType: 'CorrelationFilter'
  }
}

Definição de recurso de modelo do ARM

O tipo de recurso namespaces/topics/subscriptions/rules pode ser implantado com operações direcionadas:

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.ServiceBus/namespaces/topics/subscriptions/rules, adicione o JSON a seguir ao seu modelo.

{
  "type": "Microsoft.ServiceBus/namespaces/topics/subscriptions/rules",
  "apiVersion": "2017-04-01",
  "name": "string",
  "properties": {
    "action": {
      "compatibilityLevel": "int",
      "requiresPreprocessing": "bool",
      "sqlExpression": "string"
    },
    "correlationFilter": {
      "contentType": "string",
      "correlationId": "string",
      "label": "string",
      "messageId": "string",
      "properties": {
        "{customized property}": "string"
      },
      "replyTo": "string",
      "replyToSessionId": "string",
      "requiresPreprocessing": "bool",
      "sessionId": "string",
      "to": "string"
    },
    "filterType": "string",
    "sqlFilter": {
      "compatibilityLevel": "int",
      "requiresPreprocessing": "bool",
      "sqlExpression": "string"
    }
  }
}

Valores de propriedade

Microsoft.ServiceBus/namespaces/topics/subscriptions/rules

Nome Descrição Valor
apiVersion A versão da API '2017-04-01'
nome O nome do recurso corda

Restrições:
Comprimento mínimo = 1
Comprimento máximo = 50 (obrigatório)
Propriedades Propriedades do recurso Rule de Ruleproperties
tipo O tipo de recurso 'Microsoft.ServiceBus/namespaces/topics/subscriptions/rules'

Ação

Nome Descrição Valor
nívelDeCompatibilidade Essa propriedade é reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado como 20. int
requerPré-processamento Valor que indica se a ação de regra requer pré-processamento. Bool
sqlExpressão Expressão SQL. por exemplo, MyProperty='ABC' cadeia

Filtro de correlação

Nome Descrição Valor
tipo de conteúdo Tipo de conteúdo da mensagem. cadeia
correlationId Identificador da correlação. cadeia
etiqueta Rótulo específico do aplicativo. cadeia
ID da mensagem Identificador da mensagem. cadeia
Propriedades objeto dictionary para filtros personalizados CorrelationFilterProperties
replyTo Endereço da fila à qual responder. cadeia
replyToSessionId Identificador de sessão ao qual responder. cadeia
requerPré-processamento Valor que indica se a ação de regra requer pré-processamento. Bool
sessionID Identificador de sessão. cadeia
Para Endereço para o qual enviar. cadeia

CorrelationFilterProperties

Nome Descrição Valor

Regramentos

Nome Descrição Valor
ação Representa as ações de filtro permitidas para a transformação de uma mensagem que foram correspondidas por uma expressão de filtro. de Ação
correlaçãoFilter Propriedades de correlationFilter CorrelationFilter
tipo de filtro Tipo de filtro que é avaliado em relação a um BrokeredMessage. 'CorrelationFilter'
'Filtro Sql'
Filtro sql Propriedades do sqlFilter sqlFilter

Filtro Sql

Nome Descrição Valor
nívelDeCompatibilidade Essa propriedade é reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado como 20. int

Restrições:
Valor mínimo = 20
Valor máximo = 20
requerPré-processamento Valor que indica se a ação de regra requer pré-processamento. Bool
sqlExpressão A expressão SQL. por exemplo, MyProperty='ABC' cadeia

Exemplos de uso

Modelos de Início Rápido do Azure

Os modelos de Início Rápido do Azure a seguir implantar esse tipo de recurso.

Modelo Descrição
correlacionar mensagens em aplicativos lógicos usando do Barramento de Serviço

Implantar no Azure
que mostra como podemos correlacionar mensagens em aplicativos lógicos usando o Barramento de Serviço do Azure

Definição de recurso do Terraform (provedor de AzAPI)

O tipo de recurso namespaces/topics/subscriptions/rules pode ser implantado com operações direcionadas:

  • Grupos de recursos

Para obter uma lista de propriedades alteradas em cada versão da API, consulte de log de alterações.

Formato de recurso

Para criar um recurso Microsoft.ServiceBus/namespaces/topics/subscriptions/rules, adicione o Terraform a seguir ao seu modelo.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.ServiceBus/namespaces/topics/subscriptions/rules@2017-04-01"
  name = "string"
  parent_id = "string"
  body = {
    properties = {
      action = {
        compatibilityLevel = int
        requiresPreprocessing = bool
        sqlExpression = "string"
      }
      correlationFilter = {
        contentType = "string"
        correlationId = "string"
        label = "string"
        messageId = "string"
        properties = {
          {customized property} = "string"
        }
        replyTo = "string"
        replyToSessionId = "string"
        requiresPreprocessing = bool
        sessionId = "string"
        to = "string"
      }
      filterType = "string"
      sqlFilter = {
        compatibilityLevel = int
        requiresPreprocessing = bool
        sqlExpression = "string"
      }
    }
  }
}

Valores de propriedade

Microsoft.ServiceBus/namespaces/topics/subscriptions/rules

Nome Descrição Valor
nome O nome do recurso corda

Restrições:
Comprimento mínimo = 1
Comprimento máximo = 50 (obrigatório)
parent_id A ID do recurso que é o pai desse recurso. ID do recurso do tipo: namespaces/tópicos/assinaturas
Propriedades Propriedades do recurso Rule de Ruleproperties
tipo O tipo de recurso "Microsoft.ServiceBus/namespaces/topics/subscriptions/rules@2017-04-01"

Ação

Nome Descrição Valor
nívelDeCompatibilidade Essa propriedade é reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado como 20. int
requerPré-processamento Valor que indica se a ação de regra requer pré-processamento. Bool
sqlExpressão Expressão SQL. por exemplo, MyProperty='ABC' cadeia

Filtro de correlação

Nome Descrição Valor
tipo de conteúdo Tipo de conteúdo da mensagem. cadeia
correlationId Identificador da correlação. cadeia
etiqueta Rótulo específico do aplicativo. cadeia
ID da mensagem Identificador da mensagem. cadeia
Propriedades objeto dictionary para filtros personalizados CorrelationFilterProperties
replyTo Endereço da fila à qual responder. cadeia
replyToSessionId Identificador de sessão ao qual responder. cadeia
requerPré-processamento Valor que indica se a ação de regra requer pré-processamento. Bool
sessionID Identificador de sessão. cadeia
Para Endereço para o qual enviar. cadeia

CorrelationFilterProperties

Nome Descrição Valor

Regramentos

Nome Descrição Valor
ação Representa as ações de filtro permitidas para a transformação de uma mensagem que foram correspondidas por uma expressão de filtro. de Ação
correlaçãoFilter Propriedades de correlationFilter CorrelationFilter
tipo de filtro Tipo de filtro que é avaliado em relação a um BrokeredMessage. 'CorrelationFilter'
'Filtro Sql'
Filtro sql Propriedades do sqlFilter sqlFilter

Filtro Sql

Nome Descrição Valor
nívelDeCompatibilidade Essa propriedade é reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado como 20. int

Restrições:
Valor mínimo = 20
Valor máximo = 20
requerPré-processamento Valor que indica se a ação de regra requer pré-processamento. Bool
sqlExpressão A expressão SQL. por exemplo, MyProperty='ABC' cadeia

Exemplos de uso

Exemplos do Terraform

Um exemplo básico de implantação da Regra de Assinatura do ServiceBus.

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "namespace" {
  type      = "Microsoft.ServiceBus/namespaces@2022-01-01-preview"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      disableLocalAuth    = false
      publicNetworkAccess = "Enabled"
      zoneRedundant       = false
    }
    sku = {
      capacity = 0
      name     = "Standard"
      tier     = "Standard"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "topic" {
  type      = "Microsoft.ServiceBus/namespaces/topics@2021-06-01-preview"
  parent_id = azapi_resource.namespace.id
  name      = var.resource_name
  body = {
    properties = {
      enableBatchedOperations    = false
      enableExpress              = false
      enablePartitioning         = false
      maxSizeInMegabytes         = 5120
      requiresDuplicateDetection = false
      status                     = "Active"
      supportOrdering            = false
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "subscription" {
  type      = "Microsoft.ServiceBus/namespaces/topics/subscriptions@2021-06-01-preview"
  parent_id = azapi_resource.topic.id
  name      = var.resource_name
  body = {
    properties = {
      clientAffineProperties = {
      }
      deadLetteringOnFilterEvaluationExceptions = true
      deadLetteringOnMessageExpiration          = false
      enableBatchedOperations                   = false
      isClientAffine                            = false
      maxDeliveryCount                          = 10
      requiresSession                           = false
      status                                    = "Active"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "rule" {
  type      = "Microsoft.ServiceBus/namespaces/topics/subscriptions/rules@2021-06-01-preview"
  parent_id = azapi_resource.subscription.id
  name      = var.resource_name
  body = {
    properties = {
      correlationFilter = {
        contentType      = "test_content_type"
        correlationId    = "test_correlation_id"
        label            = "test_label"
        messageId        = "test_message_id"
        replyTo          = "test_reply_to"
        replyToSessionId = "test_reply_to_session_id"
        sessionId        = "test_session_id"
        to               = "test_to"
      }
      filterType = "CorrelationFilter"
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}