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

Definição de recursos do bíceps

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 log de alterações.

Formato do recurso

Para criar um recurso Microsoft.ServiceBus/namespaces/topics/subscriptions/rules, adicione o seguinte Bicep 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

Designação Descrição Valor
Designação O nome do recurso cadeia de caracteres

Restrições:
Comprimento mínimo = 1
Comprimento máximo = 50 (obrigatório)
elemento principal 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 recurso do tipo: namespaces/topics/subscriptions
propriedades Propriedades do recurso Regra Propriedades da regra

Ação

Designação Descrição Valor
compatibilidadeNível Esta propriedade está reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado para 20. Int
requiresPré-processamento Valor que indica se a ação da regra requer pré-processamento. Bool
sqlExpression Expressão SQL. por exemplo, MyProperty='ABC' cadeia (de caracteres)

CorrelationFilter

Designação Descrição Valor
TipoDeConteúdo Tipo de conteúdo da mensagem. cadeia (de caracteres)
correlationId Identificador da correlação. cadeia (de caracteres)
etiqueta Rótulo específico da aplicação. cadeia (de caracteres)
ID da Mensagem Identificador da mensagem. cadeia (de caracteres)
propriedades objeto de dicionário para filtros personalizados CorrelationFilterProperties
replyTo Endereço da fila para responder. cadeia (de caracteres)
replyToSessionId Identificador de sessão para responder. cadeia (de caracteres)
requiresPré-processamento Valor que indica se a ação da regra requer pré-processamento. Bool
ID de sessão Identificador de sessão. cadeia (de caracteres)
Para Endereço para o qual enviar. cadeia (de caracteres)

CorrelationFilterProperties

Designação Descrição Valor

Propriedades da regra

Designação Descrição Valor
ação Representa as ações de filtro que são permitidas para a transformação de uma mensagem que foram correspondidas por uma expressão de filtro. Ação
correlationFilter Propriedades de correlationFilter CorrelationFilter
Tipo de filtro Tipo de filtro que é avaliado em relação a um BrokeredMessage. 'CorrelationFilter'
'SqlFilter'
sqlFilter Propriedades de sqlFilter SqlFilter

SqlFilter

Designação Descrição Valor
compatibilidadeNível Esta propriedade está reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado para 20. Int

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

Exemplos de uso

Amostras de bíceps

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 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 log de alterações.

Formato do recurso

Para criar um recurso Microsoft.ServiceBus/namespaces/topics/subscriptions/rules, adicione o seguinte JSON 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

Designação Descrição Valor
Versão da API A versão api '2017-04-01'
Designação O nome do recurso cadeia de caracteres

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

Ação

Designação Descrição Valor
compatibilidadeNível Esta propriedade está reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado para 20. Int
requiresPré-processamento Valor que indica se a ação da regra requer pré-processamento. Bool
sqlExpression Expressão SQL. por exemplo, MyProperty='ABC' cadeia (de caracteres)

CorrelationFilter

Designação Descrição Valor
TipoDeConteúdo Tipo de conteúdo da mensagem. cadeia (de caracteres)
correlationId Identificador da correlação. cadeia (de caracteres)
etiqueta Rótulo específico da aplicação. cadeia (de caracteres)
ID da Mensagem Identificador da mensagem. cadeia (de caracteres)
propriedades objeto de dicionário para filtros personalizados CorrelationFilterProperties
replyTo Endereço da fila para responder. cadeia (de caracteres)
replyToSessionId Identificador de sessão para responder. cadeia (de caracteres)
requiresPré-processamento Valor que indica se a ação da regra requer pré-processamento. Bool
ID de sessão Identificador de sessão. cadeia (de caracteres)
Para Endereço para o qual enviar. cadeia (de caracteres)

CorrelationFilterProperties

Designação Descrição Valor

Propriedades da regra

Designação Descrição Valor
ação Representa as ações de filtro que são permitidas para a transformação de uma mensagem que foram correspondidas por uma expressão de filtro. Ação
correlationFilter Propriedades de correlationFilter CorrelationFilter
Tipo de filtro Tipo de filtro que é avaliado em relação a um BrokeredMessage. 'CorrelationFilter'
'SqlFilter'
sqlFilter Propriedades de sqlFilter SqlFilter

SqlFilter

Designação Descrição Valor
compatibilidadeNível Esta propriedade está reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado para 20. Int

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

Exemplos de uso

Modelos de início rápido do Azure

Os seguintes modelos de início rápido do Azure implantar esse tipo de recurso.

Modelo Descrição
Correlacionar mensagens em aplicativos lógicos usando o Service Bus

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

Definição de recursos Terraform (provedor 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 log de alterações.

Formato do recurso

Para criar um recurso Microsoft.ServiceBus/namespaces/topics/subscriptions/rules, adicione o seguinte Terraform 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

Designação Descrição Valor
Designação O nome do recurso cadeia de caracteres

Restrições:
Comprimento mínimo = 1
Comprimento máximo = 50 (obrigatório)
parent_id A ID do recurso que é o pai para este recurso. ID para recurso do tipo: namespaces/topics/subscriptions
propriedades Propriedades do recurso Regra Propriedades da regra
tipo O tipo de recurso "Microsoft.ServiceBus/namespaces/topics/subscriptions/rules@2017-04-01"

Ação

Designação Descrição Valor
compatibilidadeNível Esta propriedade está reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado para 20. Int
requiresPré-processamento Valor que indica se a ação da regra requer pré-processamento. Bool
sqlExpression Expressão SQL. por exemplo, MyProperty='ABC' cadeia (de caracteres)

CorrelationFilter

Designação Descrição Valor
TipoDeConteúdo Tipo de conteúdo da mensagem. cadeia (de caracteres)
correlationId Identificador da correlação. cadeia (de caracteres)
etiqueta Rótulo específico da aplicação. cadeia (de caracteres)
ID da Mensagem Identificador da mensagem. cadeia (de caracteres)
propriedades objeto de dicionário para filtros personalizados CorrelationFilterProperties
replyTo Endereço da fila para responder. cadeia (de caracteres)
replyToSessionId Identificador de sessão para responder. cadeia (de caracteres)
requiresPré-processamento Valor que indica se a ação da regra requer pré-processamento. Bool
ID de sessão Identificador de sessão. cadeia (de caracteres)
Para Endereço para o qual enviar. cadeia (de caracteres)

CorrelationFilterProperties

Designação Descrição Valor

Propriedades da regra

Designação Descrição Valor
ação Representa as ações de filtro que são permitidas para a transformação de uma mensagem que foram correspondidas por uma expressão de filtro. Ação
correlationFilter Propriedades de correlationFilter CorrelationFilter
Tipo de filtro Tipo de filtro que é avaliado em relação a um BrokeredMessage. 'CorrelationFilter'
'SqlFilter'
sqlFilter Propriedades de sqlFilter SqlFilter

SqlFilter

Designação Descrição Valor
compatibilidadeNível Esta propriedade está reservada para uso futuro. Um valor inteiro mostrando o nível de compatibilidade, atualmente codificado para 20. Int

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

Exemplos de uso

Amostras 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    = ["*"]
}