Microsoft.EventGrid namespaces/topics/eventSubscriptions 2024-12-15-preview
Bicep resource definition
The namespaces/topics/eventSubscriptions resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
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@2024-12-15-preview' = {
parent: resourceSymbolicName
name: 'string'
properties: {
deliveryConfiguration: {
deliveryMode: 'string'
push: {
deadLetterDestinationWithResourceIdentity: {
deadLetterDestination: {
endpointType: 'string'
// For remaining properties, see DeadLetterDestination objects
}
identity: {
federatedIdentityCredentialInfo: {
federatedClientId: 'string'
}
type: 'string'
userAssignedIdentity: 'string'
}
}
deliveryWithResourceIdentity: {
destination: {
endpointType: 'string'
// For remaining properties, see EventSubscriptionDestination objects
}
identity: {
federatedIdentityCredentialInfo: {
federatedClientId: 'string'
}
type: 'string'
userAssignedIdentity: 'string'
}
}
destination: {
endpointType: 'string'
// For remaining properties, see EventSubscriptionDestination objects
}
eventTimeToLive: 'string'
maxDeliveryCount: int
}
queue: {
deadLetterDestinationWithResourceIdentity: {
deadLetterDestination: {
endpointType: 'string'
// For remaining properties, see DeadLetterDestination objects
}
identity: {
federatedIdentityCredentialInfo: {
federatedClientId: 'string'
}
type: 'string'
userAssignedIdentity: 'string'
}
}
eventTimeToLive: 'string'
maxDeliveryCount: int
receiveLockDurationInSeconds: int
}
}
eventDeliverySchema: 'string'
expirationTimeUtc: 'string'
filtersConfiguration: {
filters: [
{
key: 'string'
operatorType: 'string'
// For remaining properties, see Filter objects
}
]
includedEventTypes: [
'string'
]
}
tags: {
{customized property}: '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'
]
}
EventSubscriptionDestination objects
Set the endpointType property to specify the type of object.
For AzureFunction, use:
{
endpointType: 'AzureFunction'
properties: {
deliveryAttributeMappings: [
{
name: 'string'
type: 'string'
// For remaining properties, see DeliveryAttributeMapping objects
}
]
maxEventsPerBatch: int
preferredBatchSizeInKilobytes: int
resourceId: 'string'
}
}
For EventHub, use:
{
endpointType: 'EventHub'
properties: {
deliveryAttributeMappings: [
{
name: 'string'
type: 'string'
// For remaining properties, see DeliveryAttributeMapping objects
}
]
resourceId: 'string'
}
}
For HybridConnection, use:
{
endpointType: 'HybridConnection'
properties: {
deliveryAttributeMappings: [
{
name: 'string'
type: 'string'
// For remaining properties, see DeliveryAttributeMapping objects
}
]
resourceId: 'string'
}
}
For MonitorAlert, use:
{
endpointType: 'MonitorAlert'
properties: {
actionGroups: [
'string'
]
description: 'string'
severity: 'string'
}
}
For NamespaceTopic, use:
{
endpointType: 'NamespaceTopic'
properties: {
resourceId: 'string'
}
}
For PartnerDestination, use:
{
endpointType: 'PartnerDestination'
properties: {
resourceId: 'string'
}
}
For ServiceBusQueue, use:
{
endpointType: 'ServiceBusQueue'
properties: {
deliveryAttributeMappings: [
{
name: 'string'
type: 'string'
// For remaining properties, see DeliveryAttributeMapping objects
}
]
resourceId: 'string'
}
}
For ServiceBusTopic, use:
{
endpointType: 'ServiceBusTopic'
properties: {
deliveryAttributeMappings: [
{
name: 'string'
type: 'string'
// For remaining properties, see DeliveryAttributeMapping objects
}
]
resourceId: 'string'
}
}
For StorageQueue, use:
{
endpointType: 'StorageQueue'
properties: {
queueMessageTimeToLiveInSeconds: int
queueName: 'string'
resourceId: 'string'
}
}
For WebHook, use:
{
endpointType: 'WebHook'
properties: {
azureActiveDirectoryApplicationIdOrUri: 'string'
azureActiveDirectoryTenantId: 'string'
deliveryAttributeMappings: [
{
name: 'string'
type: 'string'
// For remaining properties, see DeliveryAttributeMapping objects
}
]
endpointUrl: 'string'
maxEventsPerBatch: int
minimumTlsVersionAllowed: 'string'
preferredBatchSizeInKilobytes: int
}
}
DeadLetterDestination objects
Set the endpointType property to specify the type of object.
For StorageBlob, use:
{
endpointType: 'StorageBlob'
properties: {
blobContainerName: 'string'
resourceId: 'string'
}
}
DeliveryAttributeMapping objects
Set the type property to specify the type of object.
For Dynamic, use:
{
properties: {
sourceField: 'string'
}
type: 'Dynamic'
}
For Static, use:
{
properties: {
isSecret: bool
value: 'string'
}
type: 'Static'
}
Property Values
AzureFunctionEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'AzureFunction' (required) |
properties | Azure Function Properties of the event subscription destination. | AzureFunctionEventSubscriptionDestinationProperties |
AzureFunctionEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
maxEventsPerBatch | Maximum number of events per batch. | int |
preferredBatchSizeInKilobytes | Preferred batch size in Kilobytes. | int |
resourceId | The Azure Resource Id that represents the endpoint of the Azure Function destination of an event subscription. | string |
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 |
DeadLetterDestination
Name | Description | Value |
---|---|---|
endpointType | Set to 'StorageBlob' for type StorageBlobDeadLetterDestination. | 'StorageBlob' (required) |
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 dead-lettering. |
DeadLetterDestination |
identity | The identity to use when dead-lettering events. | EventSubscriptionIdentity |
DeliveryAttributeMapping
Name | Description | Value |
---|---|---|
name | Name of the delivery attribute or header. | string |
type | Set to 'Dynamic' for type DynamicDeliveryAttributeMapping. Set to 'Static' for type StaticDeliveryAttributeMapping. | 'Dynamic' 'Static' (required) |
DeliveryConfiguration
Name | Description | Value |
---|---|---|
deliveryMode | Delivery mode of the event subscription. | 'Push' 'Queue' |
push | This property should be populated when deliveryMode is push and represents information about the push subscription. | PushInfo |
queue | This property should be populated when deliveryMode is queue and represents information about the queue subscription. | QueueInfo |
DeliveryWithResourceIdentity
Name | Description | Value |
---|---|---|
destination | 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. |
EventSubscriptionDestination |
identity | The identity to use when delivering events. | EventSubscriptionIdentity |
DynamicDeliveryAttributeMapping
Name | Description | Value |
---|---|---|
properties | Properties of dynamic delivery attribute mapping. | DynamicDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Dynamic' (required) |
DynamicDeliveryAttributeMappingProperties
Name | Description | Value |
---|---|---|
sourceField | JSON path in the event which contains attribute value. | string |
EventHubEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'EventHub' (required) |
properties | Event Hub Properties of the event subscription destination. | EventHubEventSubscriptionDestinationProperties |
EventHubEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription. | string |
EventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Set to 'AzureFunction' for type AzureFunctionEventSubscriptionDestination. Set to 'EventHub' for type EventHubEventSubscriptionDestination. Set to 'HybridConnection' for type HybridConnectionEventSubscriptionDestination. Set to 'MonitorAlert' for type MonitorAlertEventSubscriptionDestination. Set to 'NamespaceTopic' for type NamespaceTopicEventSubscriptionDestination. Set to 'PartnerDestination' for type PartnerEventSubscriptionDestination. Set to 'ServiceBusQueue' for type ServiceBusQueueEventSubscriptionDestination. Set to 'ServiceBusTopic' for type ServiceBusTopicEventSubscriptionDestination. Set to 'StorageQueue' for type StorageQueueEventSubscriptionDestination. Set to 'WebHook' for type WebHookEventSubscriptionDestination. | 'AzureFunction' 'EventHub' 'HybridConnection' 'MonitorAlert' 'NamespaceTopic' 'PartnerDestination' 'ServiceBusQueue' 'ServiceBusTopic' 'StorageQueue' 'WebHook' (required) |
EventSubscriptionIdentity
Name | Description | Value |
---|---|---|
federatedIdentityCredentialInfo | The details of the Federated Identity Credential (FIC) used with the resource delivery. | FederatedIdentityCredentialInfo |
type | The type of managed identity used. Can be either 'SystemAssigned' or 'UserAssigned'. | 'SystemAssigned' 'UserAssigned' |
userAssignedIdentity | The user identity associated with the resource. | string |
FederatedIdentityCredentialInfo
Name | Description | Value |
---|---|---|
federatedClientId | The Multi-Tenant AAD Application where the Federated Identity Credential (FIC) is associated with. | string Constraints: Min length = 36 Max length = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ (required) |
Filter
Name | Description | Value |
---|---|---|
key | The field/property in the event based on which you want to filter. | string |
operatorType | Set to 'BoolEquals' for type BoolEqualsFilter. Set to 'IsNotNull' for type IsNotNullFilter. Set to 'IsNullOrUndefined' for type IsNullOrUndefinedFilter. Set to 'NumberGreaterThan' for type NumberGreaterThanFilter. Set to 'NumberGreaterThanOrEquals' for type NumberGreaterThanOrEqualsFilter. Set to 'NumberIn' for type NumberInFilter. Set to 'NumberInRange' for type NumberInRangeFilter. Set to 'NumberLessThan' for type NumberLessThanFilter. Set to 'NumberLessThanOrEquals' for type NumberLessThanOrEqualsFilter. Set to 'NumberNotIn' for type NumberNotInFilter. Set to 'NumberNotInRange' for type NumberNotInRangeFilter. Set to 'StringBeginsWith' for type StringBeginsWithFilter. Set to 'StringContains' for type StringContainsFilter. Set to 'StringEndsWith' for type StringEndsWithFilter. Set to 'StringIn' for type StringInFilter. Set to 'StringNotBeginsWith' for type StringNotBeginsWithFilter. Set to 'StringNotContains' for type StringNotContainsFilter. Set to 'StringNotEndsWith' for type StringNotEndsWithFilter. Set to 'StringNotIn' for type StringNotInFilter. | 'BoolEquals' 'IsNotNull' 'IsNullOrUndefined' 'NumberGreaterThan' 'NumberGreaterThanOrEquals' 'NumberIn' 'NumberInRange' 'NumberLessThan' 'NumberLessThanOrEquals' 'NumberNotIn' 'NumberNotInRange' 'StringBeginsWith' 'StringContains' 'StringEndsWith' 'StringIn' 'StringNotBeginsWith' 'StringNotContains' 'StringNotEndsWith' 'StringNotIn' (required) |
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[] |
HybridConnectionEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'HybridConnection' (required) |
properties | Hybrid connection Properties of the event subscription destination. | HybridConnectionEventSubscriptionDestinationProperties |
HybridConnectionEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource ID of an hybrid connection that is the destination of an event subscription. | string |
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) |
Microsoft.EventGrid/namespaces/topics/eventSubscriptions
Name | Description | Value |
---|---|---|
name | The resource name | string Constraints: Min length = 3 Max length = 50 Pattern = ^[a-zA-Z0-9-]*$ (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: namespaces/topics |
properties | Properties of the event subscription. | SubscriptionProperties |
MonitorAlertEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'MonitorAlert' (required) |
properties | Monitor Alert properties of the event subscription destination. | MonitorAlertEventSubscriptionDestinationProperties |
MonitorAlertEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
actionGroups | The list of ARM Ids of Action Groups that will be triggered on every Alert fired through this event subscription. Each resource ARM Id should follow this pattern: /subscriptions/{AzureSubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Insights/actionGroups/{ActionGroupName}. |
string[] |
description | The description that will be attached to every Alert fired through this event subscription. | string |
severity | The severity that will be attached to every Alert fired through this event subscription. This field must be provided. |
'Sev0' 'Sev1' 'Sev2' 'Sev3' 'Sev4' |
NamespaceTopicEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'NamespaceTopic' (required) |
properties | Namespace Topic properties of the event subscription destination. | NamespaceTopicEventSubscriptionDestinationProperties |
NamespaceTopicEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
resourceId | The Azure resource Id that represents the endpoint of the Event Grid Namespace Topic destination of an event subscription. This field is required and the Namespace Topic resource listed must already exist. The resource ARM Id should follow this pattern: /subscriptions/{AzureSubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.EventGrid/namespaces/{NamespaceName}/topics/{TopicName}. |
string |
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[][] |
PartnerEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'PartnerDestination' (required) |
properties | Partner Destination Properties of the event subscription destination. | PartnerEventSubscriptionDestinationProperties |
PartnerEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
resourceId | The Azure Resource Id that represents the endpoint of a Partner Destination of an event subscription. | string |
PushInfo
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, namespace) to acquire the authentication tokens being used during dead-lettering. |
DeadLetterWithResourceIdentity |
deliveryWithResourceIdentity | 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. |
DeliveryWithResourceIdentity |
destination | Information about the destination where events have to be delivered for the event subscription. Uses Azure Event Grid's identity to acquire the authentication tokens being used during delivery. |
EventSubscriptionDestination |
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 |
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 |
ServiceBusQueueEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'ServiceBusQueue' (required) |
properties | Service Bus Properties of the event subscription destination. | ServiceBusQueueEventSubscriptionDestinationProperties |
ServiceBusQueueEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription. | string |
ServiceBusTopicEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'ServiceBusTopic' (required) |
properties | Service Bus Topic Properties of the event subscription destination. | ServiceBusTopicEventSubscriptionDestinationProperties |
ServiceBusTopicEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event subscription. | string |
StaticDeliveryAttributeMapping
Name | Description | Value |
---|---|---|
properties | Properties of static delivery attribute mapping. | StaticDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Static' (required) |
StaticDeliveryAttributeMappingProperties
Name | Description | Value |
---|---|---|
isSecret | Boolean flag to tell if the attribute contains sensitive information . | bool |
value | Value of the delivery attribute. | string |
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 |
StorageQueueEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'StorageQueue' (required) |
properties | Storage Queue Properties of the event subscription destination. | StorageQueueEventSubscriptionDestinationProperties |
StorageQueueEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
queueMessageTimeToLiveInSeconds | Storage queue message time to live in seconds. This value cannot be zero or negative with the exception of using -1 to indicate that the Time To Live of the message is Infinite. | int |
queueName | The name of the Storage queue under a storage account that is the destination of an event subscription. | string |
resourceId | The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription. | string |
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[] |
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' |
expirationTimeUtc | Expiration time of the event subscription. | string |
filtersConfiguration | Information about the filter for the event subscription. | FiltersConfiguration |
tags | Tags relating to Event Subscription resource. | SubscriptionPropertiesTags |
SubscriptionPropertiesTags
Name | Description | Value |
---|
WebHookEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'WebHook' (required) |
properties | WebHook Properties of the event subscription destination. | WebHookEventSubscriptionDestinationProperties |
WebHookEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
azureActiveDirectoryApplicationIdOrUri | The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests. | string |
azureActiveDirectoryTenantId | The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests. | string |
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
endpointUrl | The URL that represents the endpoint of the destination of an event subscription. | string Constraints: Sensitive value. Pass in as a secure parameter. |
maxEventsPerBatch | Maximum number of events per batch. | int |
minimumTlsVersionAllowed | Minimum TLS version that should be supported by webhook endpoint | '1.0' '1.1' '1.2' |
preferredBatchSizeInKilobytes | Preferred batch size in Kilobytes. | int |
ARM template resource definition
The namespaces/topics/eventSubscriptions resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
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": "2024-12-15-preview",
"name": "string",
"properties": {
"deliveryConfiguration": {
"deliveryMode": "string",
"push": {
"deadLetterDestinationWithResourceIdentity": {
"deadLetterDestination": {
"endpointType": "string"
// For remaining properties, see DeadLetterDestination objects
},
"identity": {
"federatedIdentityCredentialInfo": {
"federatedClientId": "string"
},
"type": "string",
"userAssignedIdentity": "string"
}
},
"deliveryWithResourceIdentity": {
"destination": {
"endpointType": "string"
// For remaining properties, see EventSubscriptionDestination objects
},
"identity": {
"federatedIdentityCredentialInfo": {
"federatedClientId": "string"
},
"type": "string",
"userAssignedIdentity": "string"
}
},
"destination": {
"endpointType": "string"
// For remaining properties, see EventSubscriptionDestination objects
},
"eventTimeToLive": "string",
"maxDeliveryCount": "int"
},
"queue": {
"deadLetterDestinationWithResourceIdentity": {
"deadLetterDestination": {
"endpointType": "string"
// For remaining properties, see DeadLetterDestination objects
},
"identity": {
"federatedIdentityCredentialInfo": {
"federatedClientId": "string"
},
"type": "string",
"userAssignedIdentity": "string"
}
},
"eventTimeToLive": "string",
"maxDeliveryCount": "int",
"receiveLockDurationInSeconds": "int"
}
},
"eventDeliverySchema": "string",
"expirationTimeUtc": "string",
"filtersConfiguration": {
"filters": [ {
"key": "string",
"operatorType": "string"
// For remaining properties, see Filter objects
} ],
"includedEventTypes": [ "string" ]
},
"tags": {
"{customized property}": "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" ]
}
EventSubscriptionDestination objects
Set the endpointType property to specify the type of object.
For AzureFunction, use:
{
"endpointType": "AzureFunction",
"properties": {
"deliveryAttributeMappings": [ {
"name": "string",
"type": "string"
// For remaining properties, see DeliveryAttributeMapping objects
} ],
"maxEventsPerBatch": "int",
"preferredBatchSizeInKilobytes": "int",
"resourceId": "string"
}
}
For EventHub, use:
{
"endpointType": "EventHub",
"properties": {
"deliveryAttributeMappings": [ {
"name": "string",
"type": "string"
// For remaining properties, see DeliveryAttributeMapping objects
} ],
"resourceId": "string"
}
}
For HybridConnection, use:
{
"endpointType": "HybridConnection",
"properties": {
"deliveryAttributeMappings": [ {
"name": "string",
"type": "string"
// For remaining properties, see DeliveryAttributeMapping objects
} ],
"resourceId": "string"
}
}
For MonitorAlert, use:
{
"endpointType": "MonitorAlert",
"properties": {
"actionGroups": [ "string" ],
"description": "string",
"severity": "string"
}
}
For NamespaceTopic, use:
{
"endpointType": "NamespaceTopic",
"properties": {
"resourceId": "string"
}
}
For PartnerDestination, use:
{
"endpointType": "PartnerDestination",
"properties": {
"resourceId": "string"
}
}
For ServiceBusQueue, use:
{
"endpointType": "ServiceBusQueue",
"properties": {
"deliveryAttributeMappings": [ {
"name": "string",
"type": "string"
// For remaining properties, see DeliveryAttributeMapping objects
} ],
"resourceId": "string"
}
}
For ServiceBusTopic, use:
{
"endpointType": "ServiceBusTopic",
"properties": {
"deliveryAttributeMappings": [ {
"name": "string",
"type": "string"
// For remaining properties, see DeliveryAttributeMapping objects
} ],
"resourceId": "string"
}
}
For StorageQueue, use:
{
"endpointType": "StorageQueue",
"properties": {
"queueMessageTimeToLiveInSeconds": "int",
"queueName": "string",
"resourceId": "string"
}
}
For WebHook, use:
{
"endpointType": "WebHook",
"properties": {
"azureActiveDirectoryApplicationIdOrUri": "string",
"azureActiveDirectoryTenantId": "string",
"deliveryAttributeMappings": [ {
"name": "string",
"type": "string"
// For remaining properties, see DeliveryAttributeMapping objects
} ],
"endpointUrl": "string",
"maxEventsPerBatch": "int",
"minimumTlsVersionAllowed": "string",
"preferredBatchSizeInKilobytes": "int"
}
}
DeadLetterDestination objects
Set the endpointType property to specify the type of object.
For StorageBlob, use:
{
"endpointType": "StorageBlob",
"properties": {
"blobContainerName": "string",
"resourceId": "string"
}
}
DeliveryAttributeMapping objects
Set the type property to specify the type of object.
For Dynamic, use:
{
"properties": {
"sourceField": "string"
},
"type": "Dynamic"
}
For Static, use:
{
"properties": {
"isSecret": "bool",
"value": "string"
},
"type": "Static"
}
Property Values
AzureFunctionEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'AzureFunction' (required) |
properties | Azure Function Properties of the event subscription destination. | AzureFunctionEventSubscriptionDestinationProperties |
AzureFunctionEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
maxEventsPerBatch | Maximum number of events per batch. | int |
preferredBatchSizeInKilobytes | Preferred batch size in Kilobytes. | int |
resourceId | The Azure Resource Id that represents the endpoint of the Azure Function destination of an event subscription. | string |
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 |
DeadLetterDestination
Name | Description | Value |
---|---|---|
endpointType | Set to 'StorageBlob' for type StorageBlobDeadLetterDestination. | 'StorageBlob' (required) |
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 dead-lettering. |
DeadLetterDestination |
identity | The identity to use when dead-lettering events. | EventSubscriptionIdentity |
DeliveryAttributeMapping
Name | Description | Value |
---|---|---|
name | Name of the delivery attribute or header. | string |
type | Set to 'Dynamic' for type DynamicDeliveryAttributeMapping. Set to 'Static' for type StaticDeliveryAttributeMapping. | 'Dynamic' 'Static' (required) |
DeliveryConfiguration
Name | Description | Value |
---|---|---|
deliveryMode | Delivery mode of the event subscription. | 'Push' 'Queue' |
push | This property should be populated when deliveryMode is push and represents information about the push subscription. | PushInfo |
queue | This property should be populated when deliveryMode is queue and represents information about the queue subscription. | QueueInfo |
DeliveryWithResourceIdentity
Name | Description | Value |
---|---|---|
destination | 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. |
EventSubscriptionDestination |
identity | The identity to use when delivering events. | EventSubscriptionIdentity |
DynamicDeliveryAttributeMapping
Name | Description | Value |
---|---|---|
properties | Properties of dynamic delivery attribute mapping. | DynamicDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Dynamic' (required) |
DynamicDeliveryAttributeMappingProperties
Name | Description | Value |
---|---|---|
sourceField | JSON path in the event which contains attribute value. | string |
EventHubEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'EventHub' (required) |
properties | Event Hub Properties of the event subscription destination. | EventHubEventSubscriptionDestinationProperties |
EventHubEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription. | string |
EventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Set to 'AzureFunction' for type AzureFunctionEventSubscriptionDestination. Set to 'EventHub' for type EventHubEventSubscriptionDestination. Set to 'HybridConnection' for type HybridConnectionEventSubscriptionDestination. Set to 'MonitorAlert' for type MonitorAlertEventSubscriptionDestination. Set to 'NamespaceTopic' for type NamespaceTopicEventSubscriptionDestination. Set to 'PartnerDestination' for type PartnerEventSubscriptionDestination. Set to 'ServiceBusQueue' for type ServiceBusQueueEventSubscriptionDestination. Set to 'ServiceBusTopic' for type ServiceBusTopicEventSubscriptionDestination. Set to 'StorageQueue' for type StorageQueueEventSubscriptionDestination. Set to 'WebHook' for type WebHookEventSubscriptionDestination. | 'AzureFunction' 'EventHub' 'HybridConnection' 'MonitorAlert' 'NamespaceTopic' 'PartnerDestination' 'ServiceBusQueue' 'ServiceBusTopic' 'StorageQueue' 'WebHook' (required) |
EventSubscriptionIdentity
Name | Description | Value |
---|---|---|
federatedIdentityCredentialInfo | The details of the Federated Identity Credential (FIC) used with the resource delivery. | FederatedIdentityCredentialInfo |
type | The type of managed identity used. Can be either 'SystemAssigned' or 'UserAssigned'. | 'SystemAssigned' 'UserAssigned' |
userAssignedIdentity | The user identity associated with the resource. | string |
FederatedIdentityCredentialInfo
Name | Description | Value |
---|---|---|
federatedClientId | The Multi-Tenant AAD Application where the Federated Identity Credential (FIC) is associated with. | string Constraints: Min length = 36 Max length = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ (required) |
Filter
Name | Description | Value |
---|---|---|
key | The field/property in the event based on which you want to filter. | string |
operatorType | Set to 'BoolEquals' for type BoolEqualsFilter. Set to 'IsNotNull' for type IsNotNullFilter. Set to 'IsNullOrUndefined' for type IsNullOrUndefinedFilter. Set to 'NumberGreaterThan' for type NumberGreaterThanFilter. Set to 'NumberGreaterThanOrEquals' for type NumberGreaterThanOrEqualsFilter. Set to 'NumberIn' for type NumberInFilter. Set to 'NumberInRange' for type NumberInRangeFilter. Set to 'NumberLessThan' for type NumberLessThanFilter. Set to 'NumberLessThanOrEquals' for type NumberLessThanOrEqualsFilter. Set to 'NumberNotIn' for type NumberNotInFilter. Set to 'NumberNotInRange' for type NumberNotInRangeFilter. Set to 'StringBeginsWith' for type StringBeginsWithFilter. Set to 'StringContains' for type StringContainsFilter. Set to 'StringEndsWith' for type StringEndsWithFilter. Set to 'StringIn' for type StringInFilter. Set to 'StringNotBeginsWith' for type StringNotBeginsWithFilter. Set to 'StringNotContains' for type StringNotContainsFilter. Set to 'StringNotEndsWith' for type StringNotEndsWithFilter. Set to 'StringNotIn' for type StringNotInFilter. | 'BoolEquals' 'IsNotNull' 'IsNullOrUndefined' 'NumberGreaterThan' 'NumberGreaterThanOrEquals' 'NumberIn' 'NumberInRange' 'NumberLessThan' 'NumberLessThanOrEquals' 'NumberNotIn' 'NumberNotInRange' 'StringBeginsWith' 'StringContains' 'StringEndsWith' 'StringIn' 'StringNotBeginsWith' 'StringNotContains' 'StringNotEndsWith' 'StringNotIn' (required) |
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[] |
HybridConnectionEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'HybridConnection' (required) |
properties | Hybrid connection Properties of the event subscription destination. | HybridConnectionEventSubscriptionDestinationProperties |
HybridConnectionEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource ID of an hybrid connection that is the destination of an event subscription. | string |
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) |
Microsoft.EventGrid/namespaces/topics/eventSubscriptions
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2024-12-15-preview' |
name | The resource name | string Constraints: Min length = 3 Max length = 50 Pattern = ^[a-zA-Z0-9-]*$ (required) |
properties | Properties of the event subscription. | SubscriptionProperties |
type | The resource type | 'Microsoft.EventGrid/namespaces/topics/eventSubscriptions' |
MonitorAlertEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'MonitorAlert' (required) |
properties | Monitor Alert properties of the event subscription destination. | MonitorAlertEventSubscriptionDestinationProperties |
MonitorAlertEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
actionGroups | The list of ARM Ids of Action Groups that will be triggered on every Alert fired through this event subscription. Each resource ARM Id should follow this pattern: /subscriptions/{AzureSubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Insights/actionGroups/{ActionGroupName}. |
string[] |
description | The description that will be attached to every Alert fired through this event subscription. | string |
severity | The severity that will be attached to every Alert fired through this event subscription. This field must be provided. |
'Sev0' 'Sev1' 'Sev2' 'Sev3' 'Sev4' |
NamespaceTopicEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'NamespaceTopic' (required) |
properties | Namespace Topic properties of the event subscription destination. | NamespaceTopicEventSubscriptionDestinationProperties |
NamespaceTopicEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
resourceId | The Azure resource Id that represents the endpoint of the Event Grid Namespace Topic destination of an event subscription. This field is required and the Namespace Topic resource listed must already exist. The resource ARM Id should follow this pattern: /subscriptions/{AzureSubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.EventGrid/namespaces/{NamespaceName}/topics/{TopicName}. |
string |
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[][] |
PartnerEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'PartnerDestination' (required) |
properties | Partner Destination Properties of the event subscription destination. | PartnerEventSubscriptionDestinationProperties |
PartnerEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
resourceId | The Azure Resource Id that represents the endpoint of a Partner Destination of an event subscription. | string |
PushInfo
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, namespace) to acquire the authentication tokens being used during dead-lettering. |
DeadLetterWithResourceIdentity |
deliveryWithResourceIdentity | 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. |
DeliveryWithResourceIdentity |
destination | Information about the destination where events have to be delivered for the event subscription. Uses Azure Event Grid's identity to acquire the authentication tokens being used during delivery. |
EventSubscriptionDestination |
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 |
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 |
ServiceBusQueueEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'ServiceBusQueue' (required) |
properties | Service Bus Properties of the event subscription destination. | ServiceBusQueueEventSubscriptionDestinationProperties |
ServiceBusQueueEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription. | string |
ServiceBusTopicEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'ServiceBusTopic' (required) |
properties | Service Bus Topic Properties of the event subscription destination. | ServiceBusTopicEventSubscriptionDestinationProperties |
ServiceBusTopicEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event subscription. | string |
StaticDeliveryAttributeMapping
Name | Description | Value |
---|---|---|
properties | Properties of static delivery attribute mapping. | StaticDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Static' (required) |
StaticDeliveryAttributeMappingProperties
Name | Description | Value |
---|---|---|
isSecret | Boolean flag to tell if the attribute contains sensitive information . | bool |
value | Value of the delivery attribute. | string |
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 |
StorageQueueEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'StorageQueue' (required) |
properties | Storage Queue Properties of the event subscription destination. | StorageQueueEventSubscriptionDestinationProperties |
StorageQueueEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
queueMessageTimeToLiveInSeconds | Storage queue message time to live in seconds. This value cannot be zero or negative with the exception of using -1 to indicate that the Time To Live of the message is Infinite. | int |
queueName | The name of the Storage queue under a storage account that is the destination of an event subscription. | string |
resourceId | The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription. | string |
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[] |
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' |
expirationTimeUtc | Expiration time of the event subscription. | string |
filtersConfiguration | Information about the filter for the event subscription. | FiltersConfiguration |
tags | Tags relating to Event Subscription resource. | SubscriptionPropertiesTags |
SubscriptionPropertiesTags
Name | Description | Value |
---|
WebHookEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'WebHook' (required) |
properties | WebHook Properties of the event subscription destination. | WebHookEventSubscriptionDestinationProperties |
WebHookEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
azureActiveDirectoryApplicationIdOrUri | The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests. | string |
azureActiveDirectoryTenantId | The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests. | string |
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
endpointUrl | The URL that represents the endpoint of the destination of an event subscription. | string Constraints: Sensitive value. Pass in as a secure parameter. |
maxEventsPerBatch | Maximum number of events per batch. | int |
minimumTlsVersionAllowed | Minimum TLS version that should be supported by webhook endpoint | '1.0' '1.1' '1.2' |
preferredBatchSizeInKilobytes | Preferred batch size in Kilobytes. | int |
Usage Examples
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@2024-12-15-preview"
name = "string"
body = jsonencode({
properties = {
deliveryConfiguration = {
deliveryMode = "string"
push = {
deadLetterDestinationWithResourceIdentity = {
deadLetterDestination = {
endpointType = "string"
// For remaining properties, see DeadLetterDestination objects
}
identity = {
federatedIdentityCredentialInfo = {
federatedClientId = "string"
}
type = "string"
userAssignedIdentity = "string"
}
}
deliveryWithResourceIdentity = {
destination = {
endpointType = "string"
// For remaining properties, see EventSubscriptionDestination objects
}
identity = {
federatedIdentityCredentialInfo = {
federatedClientId = "string"
}
type = "string"
userAssignedIdentity = "string"
}
}
destination = {
endpointType = "string"
// For remaining properties, see EventSubscriptionDestination objects
}
eventTimeToLive = "string"
maxDeliveryCount = int
}
queue = {
deadLetterDestinationWithResourceIdentity = {
deadLetterDestination = {
endpointType = "string"
// For remaining properties, see DeadLetterDestination objects
}
identity = {
federatedIdentityCredentialInfo = {
federatedClientId = "string"
}
type = "string"
userAssignedIdentity = "string"
}
}
eventTimeToLive = "string"
maxDeliveryCount = int
receiveLockDurationInSeconds = int
}
}
eventDeliverySchema = "string"
expirationTimeUtc = "string"
filtersConfiguration = {
filters = [
{
key = "string"
operatorType = "string"
// For remaining properties, see Filter objects
}
]
includedEventTypes = [
"string"
]
}
tags = {
{customized property} = "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"
]
}
EventSubscriptionDestination objects
Set the endpointType property to specify the type of object.
For AzureFunction, use:
{
endpointType = "AzureFunction"
properties = {
deliveryAttributeMappings = [
{
name = "string"
type = "string"
// For remaining properties, see DeliveryAttributeMapping objects
}
]
maxEventsPerBatch = int
preferredBatchSizeInKilobytes = int
resourceId = "string"
}
}
For EventHub, use:
{
endpointType = "EventHub"
properties = {
deliveryAttributeMappings = [
{
name = "string"
type = "string"
// For remaining properties, see DeliveryAttributeMapping objects
}
]
resourceId = "string"
}
}
For HybridConnection, use:
{
endpointType = "HybridConnection"
properties = {
deliveryAttributeMappings = [
{
name = "string"
type = "string"
// For remaining properties, see DeliveryAttributeMapping objects
}
]
resourceId = "string"
}
}
For MonitorAlert, use:
{
endpointType = "MonitorAlert"
properties = {
actionGroups = [
"string"
]
description = "string"
severity = "string"
}
}
For NamespaceTopic, use:
{
endpointType = "NamespaceTopic"
properties = {
resourceId = "string"
}
}
For PartnerDestination, use:
{
endpointType = "PartnerDestination"
properties = {
resourceId = "string"
}
}
For ServiceBusQueue, use:
{
endpointType = "ServiceBusQueue"
properties = {
deliveryAttributeMappings = [
{
name = "string"
type = "string"
// For remaining properties, see DeliveryAttributeMapping objects
}
]
resourceId = "string"
}
}
For ServiceBusTopic, use:
{
endpointType = "ServiceBusTopic"
properties = {
deliveryAttributeMappings = [
{
name = "string"
type = "string"
// For remaining properties, see DeliveryAttributeMapping objects
}
]
resourceId = "string"
}
}
For StorageQueue, use:
{
endpointType = "StorageQueue"
properties = {
queueMessageTimeToLiveInSeconds = int
queueName = "string"
resourceId = "string"
}
}
For WebHook, use:
{
endpointType = "WebHook"
properties = {
azureActiveDirectoryApplicationIdOrUri = "string"
azureActiveDirectoryTenantId = "string"
deliveryAttributeMappings = [
{
name = "string"
type = "string"
// For remaining properties, see DeliveryAttributeMapping objects
}
]
endpointUrl = "string"
maxEventsPerBatch = int
minimumTlsVersionAllowed = "string"
preferredBatchSizeInKilobytes = int
}
}
DeadLetterDestination objects
Set the endpointType property to specify the type of object.
For StorageBlob, use:
{
endpointType = "StorageBlob"
properties = {
blobContainerName = "string"
resourceId = "string"
}
}
DeliveryAttributeMapping objects
Set the type property to specify the type of object.
For Dynamic, use:
{
properties = {
sourceField = "string"
}
type = "Dynamic"
}
For Static, use:
{
properties = {
isSecret = bool
value = "string"
}
type = "Static"
}
Property Values
AzureFunctionEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'AzureFunction' (required) |
properties | Azure Function Properties of the event subscription destination. | AzureFunctionEventSubscriptionDestinationProperties |
AzureFunctionEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
maxEventsPerBatch | Maximum number of events per batch. | int |
preferredBatchSizeInKilobytes | Preferred batch size in Kilobytes. | int |
resourceId | The Azure Resource Id that represents the endpoint of the Azure Function destination of an event subscription. | string |
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 |
DeadLetterDestination
Name | Description | Value |
---|---|---|
endpointType | Set to 'StorageBlob' for type StorageBlobDeadLetterDestination. | 'StorageBlob' (required) |
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 dead-lettering. |
DeadLetterDestination |
identity | The identity to use when dead-lettering events. | EventSubscriptionIdentity |
DeliveryAttributeMapping
Name | Description | Value |
---|---|---|
name | Name of the delivery attribute or header. | string |
type | Set to 'Dynamic' for type DynamicDeliveryAttributeMapping. Set to 'Static' for type StaticDeliveryAttributeMapping. | 'Dynamic' 'Static' (required) |
DeliveryConfiguration
Name | Description | Value |
---|---|---|
deliveryMode | Delivery mode of the event subscription. | 'Push' 'Queue' |
push | This property should be populated when deliveryMode is push and represents information about the push subscription. | PushInfo |
queue | This property should be populated when deliveryMode is queue and represents information about the queue subscription. | QueueInfo |
DeliveryWithResourceIdentity
Name | Description | Value |
---|---|---|
destination | 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. |
EventSubscriptionDestination |
identity | The identity to use when delivering events. | EventSubscriptionIdentity |
DynamicDeliveryAttributeMapping
Name | Description | Value |
---|---|---|
properties | Properties of dynamic delivery attribute mapping. | DynamicDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Dynamic' (required) |
DynamicDeliveryAttributeMappingProperties
Name | Description | Value |
---|---|---|
sourceField | JSON path in the event which contains attribute value. | string |
EventHubEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'EventHub' (required) |
properties | Event Hub Properties of the event subscription destination. | EventHubEventSubscriptionDestinationProperties |
EventHubEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource Id that represents the endpoint of an Event Hub destination of an event subscription. | string |
EventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Set to 'AzureFunction' for type AzureFunctionEventSubscriptionDestination. Set to 'EventHub' for type EventHubEventSubscriptionDestination. Set to 'HybridConnection' for type HybridConnectionEventSubscriptionDestination. Set to 'MonitorAlert' for type MonitorAlertEventSubscriptionDestination. Set to 'NamespaceTopic' for type NamespaceTopicEventSubscriptionDestination. Set to 'PartnerDestination' for type PartnerEventSubscriptionDestination. Set to 'ServiceBusQueue' for type ServiceBusQueueEventSubscriptionDestination. Set to 'ServiceBusTopic' for type ServiceBusTopicEventSubscriptionDestination. Set to 'StorageQueue' for type StorageQueueEventSubscriptionDestination. Set to 'WebHook' for type WebHookEventSubscriptionDestination. | 'AzureFunction' 'EventHub' 'HybridConnection' 'MonitorAlert' 'NamespaceTopic' 'PartnerDestination' 'ServiceBusQueue' 'ServiceBusTopic' 'StorageQueue' 'WebHook' (required) |
EventSubscriptionIdentity
Name | Description | Value |
---|---|---|
federatedIdentityCredentialInfo | The details of the Federated Identity Credential (FIC) used with the resource delivery. | FederatedIdentityCredentialInfo |
type | The type of managed identity used. Can be either 'SystemAssigned' or 'UserAssigned'. | 'SystemAssigned' 'UserAssigned' |
userAssignedIdentity | The user identity associated with the resource. | string |
FederatedIdentityCredentialInfo
Name | Description | Value |
---|---|---|
federatedClientId | The Multi-Tenant AAD Application where the Federated Identity Credential (FIC) is associated with. | string Constraints: Min length = 36 Max length = 36 Pattern = ^[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}$ (required) |
Filter
Name | Description | Value |
---|---|---|
key | The field/property in the event based on which you want to filter. | string |
operatorType | Set to 'BoolEquals' for type BoolEqualsFilter. Set to 'IsNotNull' for type IsNotNullFilter. Set to 'IsNullOrUndefined' for type IsNullOrUndefinedFilter. Set to 'NumberGreaterThan' for type NumberGreaterThanFilter. Set to 'NumberGreaterThanOrEquals' for type NumberGreaterThanOrEqualsFilter. Set to 'NumberIn' for type NumberInFilter. Set to 'NumberInRange' for type NumberInRangeFilter. Set to 'NumberLessThan' for type NumberLessThanFilter. Set to 'NumberLessThanOrEquals' for type NumberLessThanOrEqualsFilter. Set to 'NumberNotIn' for type NumberNotInFilter. Set to 'NumberNotInRange' for type NumberNotInRangeFilter. Set to 'StringBeginsWith' for type StringBeginsWithFilter. Set to 'StringContains' for type StringContainsFilter. Set to 'StringEndsWith' for type StringEndsWithFilter. Set to 'StringIn' for type StringInFilter. Set to 'StringNotBeginsWith' for type StringNotBeginsWithFilter. Set to 'StringNotContains' for type StringNotContainsFilter. Set to 'StringNotEndsWith' for type StringNotEndsWithFilter. Set to 'StringNotIn' for type StringNotInFilter. | 'BoolEquals' 'IsNotNull' 'IsNullOrUndefined' 'NumberGreaterThan' 'NumberGreaterThanOrEquals' 'NumberIn' 'NumberInRange' 'NumberLessThan' 'NumberLessThanOrEquals' 'NumberNotIn' 'NumberNotInRange' 'StringBeginsWith' 'StringContains' 'StringEndsWith' 'StringIn' 'StringNotBeginsWith' 'StringNotContains' 'StringNotEndsWith' 'StringNotIn' (required) |
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[] |
HybridConnectionEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'HybridConnection' (required) |
properties | Hybrid connection Properties of the event subscription destination. | HybridConnectionEventSubscriptionDestinationProperties |
HybridConnectionEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource ID of an hybrid connection that is the destination of an event subscription. | string |
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) |
Microsoft.EventGrid/namespaces/topics/eventSubscriptions
Name | Description | Value |
---|---|---|
name | The resource name | string Constraints: Min length = 3 Max length = 50 Pattern = ^[a-zA-Z0-9-]*$ (required) |
parent_id | The ID of the resource that is the parent for this resource. | ID for resource of type: namespaces/topics |
properties | Properties of the event subscription. | SubscriptionProperties |
type | The resource type | "Microsoft.EventGrid/namespaces/topics/eventSubscriptions@2024-12-15-preview" |
MonitorAlertEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'MonitorAlert' (required) |
properties | Monitor Alert properties of the event subscription destination. | MonitorAlertEventSubscriptionDestinationProperties |
MonitorAlertEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
actionGroups | The list of ARM Ids of Action Groups that will be triggered on every Alert fired through this event subscription. Each resource ARM Id should follow this pattern: /subscriptions/{AzureSubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Insights/actionGroups/{ActionGroupName}. |
string[] |
description | The description that will be attached to every Alert fired through this event subscription. | string |
severity | The severity that will be attached to every Alert fired through this event subscription. This field must be provided. |
'Sev0' 'Sev1' 'Sev2' 'Sev3' 'Sev4' |
NamespaceTopicEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'NamespaceTopic' (required) |
properties | Namespace Topic properties of the event subscription destination. | NamespaceTopicEventSubscriptionDestinationProperties |
NamespaceTopicEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
resourceId | The Azure resource Id that represents the endpoint of the Event Grid Namespace Topic destination of an event subscription. This field is required and the Namespace Topic resource listed must already exist. The resource ARM Id should follow this pattern: /subscriptions/{AzureSubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.EventGrid/namespaces/{NamespaceName}/topics/{TopicName}. |
string |
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[][] |
PartnerEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'PartnerDestination' (required) |
properties | Partner Destination Properties of the event subscription destination. | PartnerEventSubscriptionDestinationProperties |
PartnerEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
resourceId | The Azure Resource Id that represents the endpoint of a Partner Destination of an event subscription. | string |
PushInfo
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, namespace) to acquire the authentication tokens being used during dead-lettering. |
DeadLetterWithResourceIdentity |
deliveryWithResourceIdentity | 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. |
DeliveryWithResourceIdentity |
destination | Information about the destination where events have to be delivered for the event subscription. Uses Azure Event Grid's identity to acquire the authentication tokens being used during delivery. |
EventSubscriptionDestination |
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 |
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 |
ServiceBusQueueEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'ServiceBusQueue' (required) |
properties | Service Bus Properties of the event subscription destination. | ServiceBusQueueEventSubscriptionDestinationProperties |
ServiceBusQueueEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource Id that represents the endpoint of the Service Bus destination of an event subscription. | string |
ServiceBusTopicEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'ServiceBusTopic' (required) |
properties | Service Bus Topic Properties of the event subscription destination. | ServiceBusTopicEventSubscriptionDestinationProperties |
ServiceBusTopicEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
resourceId | The Azure Resource Id that represents the endpoint of the Service Bus Topic destination of an event subscription. | string |
StaticDeliveryAttributeMapping
Name | Description | Value |
---|---|---|
properties | Properties of static delivery attribute mapping. | StaticDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Static' (required) |
StaticDeliveryAttributeMappingProperties
Name | Description | Value |
---|---|---|
isSecret | Boolean flag to tell if the attribute contains sensitive information . | bool |
value | Value of the delivery attribute. | string |
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 |
StorageQueueEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'StorageQueue' (required) |
properties | Storage Queue Properties of the event subscription destination. | StorageQueueEventSubscriptionDestinationProperties |
StorageQueueEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
queueMessageTimeToLiveInSeconds | Storage queue message time to live in seconds. This value cannot be zero or negative with the exception of using -1 to indicate that the Time To Live of the message is Infinite. | int |
queueName | The name of the Storage queue under a storage account that is the destination of an event subscription. | string |
resourceId | The Azure Resource ID of the storage account that contains the queue that is the destination of an event subscription. | string |
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[] |
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' |
expirationTimeUtc | Expiration time of the event subscription. | string |
filtersConfiguration | Information about the filter for the event subscription. | FiltersConfiguration |
tags | Tags relating to Event Subscription resource. | SubscriptionPropertiesTags |
SubscriptionPropertiesTags
Name | Description | Value |
---|
WebHookEventSubscriptionDestination
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'WebHook' (required) |
properties | WebHook Properties of the event subscription destination. | WebHookEventSubscriptionDestinationProperties |
WebHookEventSubscriptionDestinationProperties
Name | Description | Value |
---|---|---|
azureActiveDirectoryApplicationIdOrUri | The Azure Active Directory Application ID or URI to get the access token that will be included as the bearer token in delivery requests. | string |
azureActiveDirectoryTenantId | The Azure Active Directory Tenant ID to get the access token that will be included as the bearer token in delivery requests. | string |
deliveryAttributeMappings | Delivery attribute details. | DeliveryAttributeMapping[] |
endpointUrl | The URL that represents the endpoint of the destination of an event subscription. | string Constraints: Sensitive value. Pass in as a secure parameter. |
maxEventsPerBatch | Maximum number of events per batch. | int |
minimumTlsVersionAllowed | Minimum TLS version that should be supported by webhook endpoint | '1.0' '1.1' '1.2' |
preferredBatchSizeInKilobytes | Preferred batch size in Kilobytes. | int |