Microsoft.EventGrid namespaces/topics/eventSubscriptions 2023-06-01-preview

Bicep resource definition

The namespaces/topics/eventSubscriptions resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.EventGrid/namespaces/topics/eventSubscriptions resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.EventGrid/namespaces/topics/eventSubscriptions@2023-06-01-preview' = {
  name: 'string'
  parent: resourceSymbolicName
  properties: {
    deliveryConfiguration: {
      deliveryMode: 'Queue'
      queue: {
        deadLetterDestinationWithResourceIdentity: {
          deadLetterDestination: {
            endpointType: 'string'
            // For remaining properties, see DeadLetterDestination objects
          }
          identity: {
            type: 'string'
            userAssignedIdentity: 'string'
          }
        }
        eventTimeToLive: 'string'
        maxDeliveryCount: int
        receiveLockDurationInSeconds: int
      }
    }
    eventDeliverySchema: 'CloudEventSchemaV1_0'
    filtersConfiguration: {
      filters: [
        {
          key: 'string'
          operatorType: 'string'
          // For remaining properties, see Filter objects
        }
      ]
      includedEventTypes: [
        'string'
      ]
    }
  }
}

DeadLetterDestination objects

Set the endpointType property to specify the type of object.

For StorageBlob, use:

  endpointType: 'StorageBlob'
  properties: {
    blobContainerName: 'string'
    resourceId: 'string'
  }

Filter objects

Set the operatorType property to specify the type of object.

For BoolEquals, use:

  operatorType: 'BoolEquals'
  value: bool

For IsNotNull, use:

  operatorType: 'IsNotNull'

For IsNullOrUndefined, use:

  operatorType: 'IsNullOrUndefined'

For NumberGreaterThan, use:

  operatorType: 'NumberGreaterThan'
  value: int

For NumberGreaterThanOrEquals, use:

  operatorType: 'NumberGreaterThanOrEquals'
  value: int

For NumberIn, use:

  operatorType: 'NumberIn'
  values: [
    int
  ]

For NumberInRange, use:

  operatorType: 'NumberInRange'
  values: [
    [
      int
    ]
  ]

For NumberLessThan, use:

  operatorType: 'NumberLessThan'
  value: int

For NumberLessThanOrEquals, use:

  operatorType: 'NumberLessThanOrEquals'
  value: int

For NumberNotIn, use:

  operatorType: 'NumberNotIn'
  values: [
    int
  ]

For NumberNotInRange, use:

  operatorType: 'NumberNotInRange'
  values: [
    [
      int
    ]
  ]

For StringBeginsWith, use:

  operatorType: 'StringBeginsWith'
  values: [
    'string'
  ]

For StringContains, use:

  operatorType: 'StringContains'
  values: [
    'string'
  ]

For StringEndsWith, use:

  operatorType: 'StringEndsWith'
  values: [
    'string'
  ]

For StringIn, use:

  operatorType: 'StringIn'
  values: [
    'string'
  ]

For StringNotBeginsWith, use:

  operatorType: 'StringNotBeginsWith'
  values: [
    'string'
  ]

For StringNotContains, use:

  operatorType: 'StringNotContains'
  values: [
    'string'
  ]

For StringNotEndsWith, use:

  operatorType: 'StringNotEndsWith'
  values: [
    'string'
  ]

For StringNotIn, use:

  operatorType: 'StringNotIn'
  values: [
    'string'
  ]

Property values

namespaces/topics/eventSubscriptions

Name Description Value
name The resource name

See how to set names and types for child resources in Bicep.
string (required)
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: topics
properties Properties of the event subscription. SubscriptionProperties

SubscriptionProperties

Name Description Value
deliveryConfiguration Information about the delivery configuration of the event subscription. DeliveryConfiguration
eventDeliverySchema The event delivery schema for the event subscription. 'CloudEventSchemaV1_0'
filtersConfiguration Information about the filter for the event subscription. FiltersConfiguration

DeliveryConfiguration

Name Description Value
deliveryMode Delivery mode of the event subscription. 'Queue'
queue This property should be populated when deliveryMode is queue and represents information about the queue subscription. QueueInfo

QueueInfo

Name Description Value
deadLetterDestinationWithResourceIdentity The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.
Uses the managed identity setup on the parent resource (namely, topic) to acquire the authentication tokens being used during delivery / dead-lettering.
DeadLetterWithResourceIdentity
eventTimeToLive Time span duration in ISO 8601 format that determines how long messages are available to the subscription from the time the message was published.
This duration value is expressed using the following format: 'P(n)Y(n)M(n)DT(n)H(n)M(n)S', where:
- (n) is replaced by the value of each time element that follows the (n).
- P is the duration (or Period) designator and is always placed at the beginning of the duration.
- Y is the year designator, and it follows the value for the number of years.
- M is the month designator, and it follows the value for the number of months.
- W is the week designator, and it follows the value for the number of weeks.
- D is the day designator, and it follows the value for the number of days.
- T is the time designator, and it precedes the time components.
- H is the hour designator, and it follows the value for the number of hours.
- M is the minute designator, and it follows the value for the number of minutes.
- S is the second designator, and it follows the value for the number of seconds.
This duration value cannot be set greater than the topic’s EventRetentionInDays. It is is an optional field where its minimum value is 1 minute, and its maximum is determined
by topic’s EventRetentionInDays value. The followings are examples of valid values:
- 'P0DT23H12M' or 'PT23H12M': for duration of 23 hours and 12 minutes.
- 'P1D' or 'P1DT0H0M0S': for duration of 1 day.
string
maxDeliveryCount The maximum delivery count of the events. int
receiveLockDurationInSeconds Maximum period in seconds in which once the message is in received (by the client) state and waiting to be accepted, released or rejected.
If this time elapsed after a message has been received by the client and not transitioned into accepted (not processed), released or rejected,
the message is available for redelivery. This is an optional field, where default is 60 seconds, minimum is 60 seconds and maximum is 300 seconds.
int

DeadLetterWithResourceIdentity

Name Description Value
deadLetterDestination Information about the destination where events have to be delivered for the event subscription.
Uses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering.
DeadLetterDestination
identity The identity to use when dead-lettering events. EventSubscriptionIdentity

DeadLetterDestination

Name Description Value
endpointType Set the object type StorageBlob (required)

StorageBlobDeadLetterDestination

Name Description Value
endpointType Type of the endpoint for the dead letter destination 'StorageBlob' (required)
properties The properties of the Storage Blob based deadletter destination StorageBlobDeadLetterDestinationProperties

StorageBlobDeadLetterDestinationProperties

Name Description Value
blobContainerName The name of the Storage blob container that is the destination of the deadletter events string
resourceId The Azure Resource ID of the storage account that is the destination of the deadletter events string

EventSubscriptionIdentity

Name Description Value
type The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity. 'SystemAssigned'
'UserAssigned'
userAssignedIdentity The user identity associated with the resource. string

FiltersConfiguration

Name Description Value
filters An array of filters that are used for filtering event subscriptions. Filter[]
includedEventTypes A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null. string[]

Filter

Name Description Value
key The field/property in the event based on which you want to filter. string
operatorType Set the object type BoolEquals
IsNotNull
IsNullOrUndefined
NumberGreaterThan
NumberGreaterThanOrEquals
NumberIn
NumberInRange
NumberLessThan
NumberLessThanOrEquals
NumberNotIn
NumberNotInRange
StringBeginsWith
StringContains
StringEndsWith
StringIn
StringNotBeginsWith
StringNotContains
StringNotEndsWith
StringNotIn (required)

BoolEqualsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'BoolEquals' (required)
value The boolean filter value. bool

IsNotNullFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'IsNotNull' (required)

IsNullOrUndefinedFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'IsNullOrUndefined' (required)

NumberGreaterThanFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberGreaterThan' (required)
value The filter value. int

NumberGreaterThanOrEqualsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberGreaterThanOrEquals' (required)
value The filter value. int

NumberInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberIn' (required)
values The set of filter values. int[]

NumberInRangeFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberInRange' (required)
values The set of filter values. int[][]

NumberLessThanFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberLessThan' (required)
value The filter value. int

NumberLessThanOrEqualsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberLessThanOrEquals' (required)
value The filter value. int

NumberNotInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberNotIn' (required)
values The set of filter values. int[]

NumberNotInRangeFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberNotInRange' (required)
values The set of filter values. int[][]

StringBeginsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringBeginsWith' (required)
values The set of filter values. string[]

StringContainsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringContains' (required)
values The set of filter values. string[]

StringEndsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringEndsWith' (required)
values The set of filter values. string[]

StringInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringIn' (required)
values The set of filter values. string[]

StringNotBeginsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringNotBeginsWith' (required)
values The set of filter values. string[]

StringNotContainsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringNotContains' (required)
values The set of filter values. string[]

StringNotEndsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringNotEndsWith' (required)
values The set of filter values. string[]

StringNotInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringNotIn' (required)
values The set of filter values. string[]

ARM template resource definition

The namespaces/topics/eventSubscriptions resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.EventGrid/namespaces/topics/eventSubscriptions resource, add the following JSON to your template.

{
  "type": "Microsoft.EventGrid/namespaces/topics/eventSubscriptions",
  "apiVersion": "2023-06-01-preview",
  "name": "string",
  "properties": {
    "deliveryConfiguration": {
      "deliveryMode": "Queue",
      "queue": {
        "deadLetterDestinationWithResourceIdentity": {
          "deadLetterDestination": {
            "endpointType": "string"
            // For remaining properties, see DeadLetterDestination objects
          },
          "identity": {
            "type": "string",
            "userAssignedIdentity": "string"
          }
        },
        "eventTimeToLive": "string",
        "maxDeliveryCount": "int",
        "receiveLockDurationInSeconds": "int"
      }
    },
    "eventDeliverySchema": "CloudEventSchemaV1_0",
    "filtersConfiguration": {
      "filters": [
        {
          "key": "string",
          "operatorType": "string"
          // For remaining properties, see Filter objects
        }
      ],
      "includedEventTypes": [ "string" ]
    }
  }
}

DeadLetterDestination objects

Set the endpointType property to specify the type of object.

For StorageBlob, use:

  "endpointType": "StorageBlob",
  "properties": {
    "blobContainerName": "string",
    "resourceId": "string"
  }

Filter objects

Set the operatorType property to specify the type of object.

For BoolEquals, use:

  "operatorType": "BoolEquals",
  "value": "bool"

For IsNotNull, use:

  "operatorType": "IsNotNull"

For IsNullOrUndefined, use:

  "operatorType": "IsNullOrUndefined"

For NumberGreaterThan, use:

  "operatorType": "NumberGreaterThan",
  "value": "int"

For NumberGreaterThanOrEquals, use:

  "operatorType": "NumberGreaterThanOrEquals",
  "value": "int"

For NumberIn, use:

  "operatorType": "NumberIn",
  "values": [ "int" ]

For NumberInRange, use:

  "operatorType": "NumberInRange",
  "values": [ [ "int" ] ]

For NumberLessThan, use:

  "operatorType": "NumberLessThan",
  "value": "int"

For NumberLessThanOrEquals, use:

  "operatorType": "NumberLessThanOrEquals",
  "value": "int"

For NumberNotIn, use:

  "operatorType": "NumberNotIn",
  "values": [ "int" ]

For NumberNotInRange, use:

  "operatorType": "NumberNotInRange",
  "values": [ [ "int" ] ]

For StringBeginsWith, use:

  "operatorType": "StringBeginsWith",
  "values": [ "string" ]

For StringContains, use:

  "operatorType": "StringContains",
  "values": [ "string" ]

For StringEndsWith, use:

  "operatorType": "StringEndsWith",
  "values": [ "string" ]

For StringIn, use:

  "operatorType": "StringIn",
  "values": [ "string" ]

For StringNotBeginsWith, use:

  "operatorType": "StringNotBeginsWith",
  "values": [ "string" ]

For StringNotContains, use:

  "operatorType": "StringNotContains",
  "values": [ "string" ]

For StringNotEndsWith, use:

  "operatorType": "StringNotEndsWith",
  "values": [ "string" ]

For StringNotIn, use:

  "operatorType": "StringNotIn",
  "values": [ "string" ]

Property values

namespaces/topics/eventSubscriptions

Name Description Value
type The resource type 'Microsoft.EventGrid/namespaces/topics/eventSubscriptions'
apiVersion The resource api version '2023-06-01-preview'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)
properties Properties of the event subscription. SubscriptionProperties

SubscriptionProperties

Name Description Value
deliveryConfiguration Information about the delivery configuration of the event subscription. DeliveryConfiguration
eventDeliverySchema The event delivery schema for the event subscription. 'CloudEventSchemaV1_0'
filtersConfiguration Information about the filter for the event subscription. FiltersConfiguration

DeliveryConfiguration

Name Description Value
deliveryMode Delivery mode of the event subscription. 'Queue'
queue This property should be populated when deliveryMode is queue and represents information about the queue subscription. QueueInfo

QueueInfo

Name Description Value
deadLetterDestinationWithResourceIdentity The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.
Uses the managed identity setup on the parent resource (namely, topic) to acquire the authentication tokens being used during delivery / dead-lettering.
DeadLetterWithResourceIdentity
eventTimeToLive Time span duration in ISO 8601 format that determines how long messages are available to the subscription from the time the message was published.
This duration value is expressed using the following format: 'P(n)Y(n)M(n)DT(n)H(n)M(n)S', where:
- (n) is replaced by the value of each time element that follows the (n).
- P is the duration (or Period) designator and is always placed at the beginning of the duration.
- Y is the year designator, and it follows the value for the number of years.
- M is the month designator, and it follows the value for the number of months.
- W is the week designator, and it follows the value for the number of weeks.
- D is the day designator, and it follows the value for the number of days.
- T is the time designator, and it precedes the time components.
- H is the hour designator, and it follows the value for the number of hours.
- M is the minute designator, and it follows the value for the number of minutes.
- S is the second designator, and it follows the value for the number of seconds.
This duration value cannot be set greater than the topic’s EventRetentionInDays. It is is an optional field where its minimum value is 1 minute, and its maximum is determined
by topic’s EventRetentionInDays value. The followings are examples of valid values:
- 'P0DT23H12M' or 'PT23H12M': for duration of 23 hours and 12 minutes.
- 'P1D' or 'P1DT0H0M0S': for duration of 1 day.
string
maxDeliveryCount The maximum delivery count of the events. int
receiveLockDurationInSeconds Maximum period in seconds in which once the message is in received (by the client) state and waiting to be accepted, released or rejected.
If this time elapsed after a message has been received by the client and not transitioned into accepted (not processed), released or rejected,
the message is available for redelivery. This is an optional field, where default is 60 seconds, minimum is 60 seconds and maximum is 300 seconds.
int

DeadLetterWithResourceIdentity

Name Description Value
deadLetterDestination Information about the destination where events have to be delivered for the event subscription.
Uses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering.
DeadLetterDestination
identity The identity to use when dead-lettering events. EventSubscriptionIdentity

DeadLetterDestination

Name Description Value
endpointType Set the object type StorageBlob (required)

StorageBlobDeadLetterDestination

Name Description Value
endpointType Type of the endpoint for the dead letter destination 'StorageBlob' (required)
properties The properties of the Storage Blob based deadletter destination StorageBlobDeadLetterDestinationProperties

StorageBlobDeadLetterDestinationProperties

Name Description Value
blobContainerName The name of the Storage blob container that is the destination of the deadletter events string
resourceId The Azure Resource ID of the storage account that is the destination of the deadletter events string

EventSubscriptionIdentity

Name Description Value
type The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity. 'SystemAssigned'
'UserAssigned'
userAssignedIdentity The user identity associated with the resource. string

FiltersConfiguration

Name Description Value
filters An array of filters that are used for filtering event subscriptions. Filter[]
includedEventTypes A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null. string[]

Filter

Name Description Value
key The field/property in the event based on which you want to filter. string
operatorType Set the object type BoolEquals
IsNotNull
IsNullOrUndefined
NumberGreaterThan
NumberGreaterThanOrEquals
NumberIn
NumberInRange
NumberLessThan
NumberLessThanOrEquals
NumberNotIn
NumberNotInRange
StringBeginsWith
StringContains
StringEndsWith
StringIn
StringNotBeginsWith
StringNotContains
StringNotEndsWith
StringNotIn (required)

BoolEqualsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'BoolEquals' (required)
value The boolean filter value. bool

IsNotNullFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'IsNotNull' (required)

IsNullOrUndefinedFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'IsNullOrUndefined' (required)

NumberGreaterThanFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberGreaterThan' (required)
value The filter value. int

NumberGreaterThanOrEqualsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberGreaterThanOrEquals' (required)
value The filter value. int

NumberInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberIn' (required)
values The set of filter values. int[]

NumberInRangeFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberInRange' (required)
values The set of filter values. int[][]

NumberLessThanFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberLessThan' (required)
value The filter value. int

NumberLessThanOrEqualsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberLessThanOrEquals' (required)
value The filter value. int

NumberNotInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberNotIn' (required)
values The set of filter values. int[]

NumberNotInRangeFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'NumberNotInRange' (required)
values The set of filter values. int[][]

StringBeginsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringBeginsWith' (required)
values The set of filter values. string[]

StringContainsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringContains' (required)
values The set of filter values. string[]

StringEndsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringEndsWith' (required)
values The set of filter values. string[]

StringInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringIn' (required)
values The set of filter values. string[]

StringNotBeginsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringNotBeginsWith' (required)
values The set of filter values. string[]

StringNotContainsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringNotContains' (required)
values The set of filter values. string[]

StringNotEndsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringNotEndsWith' (required)
values The set of filter values. string[]

StringNotInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. 'StringNotIn' (required)
values The set of filter values. string[]

Terraform (AzAPI provider) resource definition

The namespaces/topics/eventSubscriptions resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.EventGrid/namespaces/topics/eventSubscriptions resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.EventGrid/namespaces/topics/eventSubscriptions@2023-06-01-preview"
  name = "string"
  parent_id = "string"
  body = jsonencode({
    properties = {
      deliveryConfiguration = {
        deliveryMode = "Queue"
        queue = {
          deadLetterDestinationWithResourceIdentity = {
            deadLetterDestination = {
              endpointType = "string"
              // For remaining properties, see DeadLetterDestination objects
            }
            identity = {
              type = "string"
              userAssignedIdentity = "string"
            }
          }
          eventTimeToLive = "string"
          maxDeliveryCount = int
          receiveLockDurationInSeconds = int
        }
      }
      eventDeliverySchema = "CloudEventSchemaV1_0"
      filtersConfiguration = {
        filters = [
          {
            key = "string"
            operatorType = "string"
            // For remaining properties, see Filter objects
          }
        ]
        includedEventTypes = [
          "string"
        ]
      }
    }
  })
}

DeadLetterDestination objects

Set the endpointType property to specify the type of object.

For StorageBlob, use:

  endpointType = "StorageBlob"
  properties = {
    blobContainerName = "string"
    resourceId = "string"
  }

Filter objects

Set the operatorType property to specify the type of object.

For BoolEquals, use:

  operatorType = "BoolEquals"
  value = bool

For IsNotNull, use:

  operatorType = "IsNotNull"

For IsNullOrUndefined, use:

  operatorType = "IsNullOrUndefined"

For NumberGreaterThan, use:

  operatorType = "NumberGreaterThan"
  value = int

For NumberGreaterThanOrEquals, use:

  operatorType = "NumberGreaterThanOrEquals"
  value = int

For NumberIn, use:

  operatorType = "NumberIn"
  values = [
    int
  ]

For NumberInRange, use:

  operatorType = "NumberInRange"
  values = [
    [
      int
    ]
  ]

For NumberLessThan, use:

  operatorType = "NumberLessThan"
  value = int

For NumberLessThanOrEquals, use:

  operatorType = "NumberLessThanOrEquals"
  value = int

For NumberNotIn, use:

  operatorType = "NumberNotIn"
  values = [
    int
  ]

For NumberNotInRange, use:

  operatorType = "NumberNotInRange"
  values = [
    [
      int
    ]
  ]

For StringBeginsWith, use:

  operatorType = "StringBeginsWith"
  values = [
    "string"
  ]

For StringContains, use:

  operatorType = "StringContains"
  values = [
    "string"
  ]

For StringEndsWith, use:

  operatorType = "StringEndsWith"
  values = [
    "string"
  ]

For StringIn, use:

  operatorType = "StringIn"
  values = [
    "string"
  ]

For StringNotBeginsWith, use:

  operatorType = "StringNotBeginsWith"
  values = [
    "string"
  ]

For StringNotContains, use:

  operatorType = "StringNotContains"
  values = [
    "string"
  ]

For StringNotEndsWith, use:

  operatorType = "StringNotEndsWith"
  values = [
    "string"
  ]

For StringNotIn, use:

  operatorType = "StringNotIn"
  values = [
    "string"
  ]

Property values

namespaces/topics/eventSubscriptions

Name Description Value
type The resource type "Microsoft.EventGrid/namespaces/topics/eventSubscriptions@2023-06-01-preview"
name The resource name string (required)
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: topics
properties Properties of the event subscription. SubscriptionProperties

SubscriptionProperties

Name Description Value
deliveryConfiguration Information about the delivery configuration of the event subscription. DeliveryConfiguration
eventDeliverySchema The event delivery schema for the event subscription. "CloudEventSchemaV1_0"
filtersConfiguration Information about the filter for the event subscription. FiltersConfiguration

DeliveryConfiguration

Name Description Value
deliveryMode Delivery mode of the event subscription. "Queue"
queue This property should be populated when deliveryMode is queue and represents information about the queue subscription. QueueInfo

QueueInfo

Name Description Value
deadLetterDestinationWithResourceIdentity The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.
Uses the managed identity setup on the parent resource (namely, topic) to acquire the authentication tokens being used during delivery / dead-lettering.
DeadLetterWithResourceIdentity
eventTimeToLive Time span duration in ISO 8601 format that determines how long messages are available to the subscription from the time the message was published.
This duration value is expressed using the following format: 'P(n)Y(n)M(n)DT(n)H(n)M(n)S', where:
- (n) is replaced by the value of each time element that follows the (n).
- P is the duration (or Period) designator and is always placed at the beginning of the duration.
- Y is the year designator, and it follows the value for the number of years.
- M is the month designator, and it follows the value for the number of months.
- W is the week designator, and it follows the value for the number of weeks.
- D is the day designator, and it follows the value for the number of days.
- T is the time designator, and it precedes the time components.
- H is the hour designator, and it follows the value for the number of hours.
- M is the minute designator, and it follows the value for the number of minutes.
- S is the second designator, and it follows the value for the number of seconds.
This duration value cannot be set greater than the topic’s EventRetentionInDays. It is is an optional field where its minimum value is 1 minute, and its maximum is determined
by topic’s EventRetentionInDays value. The followings are examples of valid values:
- 'P0DT23H12M' or 'PT23H12M': for duration of 23 hours and 12 minutes.
- 'P1D' or 'P1DT0H0M0S': for duration of 1 day.
string
maxDeliveryCount The maximum delivery count of the events. int
receiveLockDurationInSeconds Maximum period in seconds in which once the message is in received (by the client) state and waiting to be accepted, released or rejected.
If this time elapsed after a message has been received by the client and not transitioned into accepted (not processed), released or rejected,
the message is available for redelivery. This is an optional field, where default is 60 seconds, minimum is 60 seconds and maximum is 300 seconds.
int

DeadLetterWithResourceIdentity

Name Description Value
deadLetterDestination Information about the destination where events have to be delivered for the event subscription.
Uses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering.
DeadLetterDestination
identity The identity to use when dead-lettering events. EventSubscriptionIdentity

DeadLetterDestination

Name Description Value
endpointType Set the object type StorageBlob (required)

StorageBlobDeadLetterDestination

Name Description Value
endpointType Type of the endpoint for the dead letter destination "StorageBlob" (required)
properties The properties of the Storage Blob based deadletter destination StorageBlobDeadLetterDestinationProperties

StorageBlobDeadLetterDestinationProperties

Name Description Value
blobContainerName The name of the Storage blob container that is the destination of the deadletter events string
resourceId The Azure Resource ID of the storage account that is the destination of the deadletter events string

EventSubscriptionIdentity

Name Description Value
type The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity. "SystemAssigned"
"UserAssigned"
userAssignedIdentity The user identity associated with the resource. string

FiltersConfiguration

Name Description Value
filters An array of filters that are used for filtering event subscriptions. Filter[]
includedEventTypes A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all default event types, set the IncludedEventTypes to null. string[]

Filter

Name Description Value
key The field/property in the event based on which you want to filter. string
operatorType Set the object type BoolEquals
IsNotNull
IsNullOrUndefined
NumberGreaterThan
NumberGreaterThanOrEquals
NumberIn
NumberInRange
NumberLessThan
NumberLessThanOrEquals
NumberNotIn
NumberNotInRange
StringBeginsWith
StringContains
StringEndsWith
StringIn
StringNotBeginsWith
StringNotContains
StringNotEndsWith
StringNotIn (required)

BoolEqualsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "BoolEquals" (required)
value The boolean filter value. bool

IsNotNullFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "IsNotNull" (required)

IsNullOrUndefinedFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "IsNullOrUndefined" (required)

NumberGreaterThanFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "NumberGreaterThan" (required)
value The filter value. int

NumberGreaterThanOrEqualsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "NumberGreaterThanOrEquals" (required)
value The filter value. int

NumberInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "NumberIn" (required)
values The set of filter values. int[]

NumberInRangeFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "NumberInRange" (required)
values The set of filter values. int[][]

NumberLessThanFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "NumberLessThan" (required)
value The filter value. int

NumberLessThanOrEqualsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "NumberLessThanOrEquals" (required)
value The filter value. int

NumberNotInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "NumberNotIn" (required)
values The set of filter values. int[]

NumberNotInRangeFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "NumberNotInRange" (required)
values The set of filter values. int[][]

StringBeginsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "StringBeginsWith" (required)
values The set of filter values. string[]

StringContainsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "StringContains" (required)
values The set of filter values. string[]

StringEndsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "StringEndsWith" (required)
values The set of filter values. string[]

StringInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "StringIn" (required)
values The set of filter values. string[]

StringNotBeginsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "StringNotBeginsWith" (required)
values The set of filter values. string[]

StringNotContainsFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "StringNotContains" (required)
values The set of filter values. string[]

StringNotEndsWithFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "StringNotEndsWith" (required)
values The set of filter values. string[]

StringNotInFilter

Name Description Value
operatorType The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. "StringNotIn" (required)
values The set of filter values. string[]