Microsoft.EventGrid eventSubscriptions 2021-12-01
The eventSubscriptions resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.EventGrid/eventSubscriptions resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.EventGrid/eventSubscriptions@2021-12-01' = {
scope: resourceSymbolicName or scope
name: 'string'
properties: {
deadLetterDestination: {
endpointType: 'string'
// For remaining properties, see DeadLetterDestination objects
}
deadLetterWithResourceIdentity: {
deadLetterDestination: {
endpointType: 'string'
// For remaining properties, see DeadLetterDestination objects
}
identity: {
type: 'string'
userAssignedIdentity: 'string'
}
}
deliveryWithResourceIdentity: {
destination: {
endpointType: 'string'
// For remaining properties, see EventSubscriptionDestination objects
}
identity: {
type: 'string'
userAssignedIdentity: 'string'
}
}
destination: {
endpointType: 'string'
// For remaining properties, see EventSubscriptionDestination objects
}
eventDeliverySchema: 'string'
expirationTimeUtc: 'string'
filter: {
advancedFilters: [
{
key: 'string'
operatorType: 'string'
// For remaining properties, see AdvancedFilter objects
}
]
enableAdvancedFilteringOnArrays: bool
includedEventTypes: [
'string'
]
isSubjectCaseSensitive: bool
subjectBeginsWith: 'string'
subjectEndsWith: 'string'
}
labels: [
'string'
]
retryPolicy: {
eventTimeToLiveInMinutes: int
maxDeliveryAttempts: int
}
}
}
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'
]
}
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 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
preferredBatchSizeInKilobytes: int
}
}
Set the endpointType property to specify the type of object.
For StorageBlob, use:
{
endpointType: 'StorageBlob'
properties: {
blobContainerName: 'string'
resourceId: 'string'
}
}
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'
}
Name | Description | Value |
---|---|---|
key | The field/property in the event based on which you want to filter. | string |
operatorType | Set to 'BoolEquals' for type BoolEqualsAdvancedFilter. Set to 'IsNotNull' for type IsNotNullAdvancedFilter. Set to 'IsNullOrUndefined' for type IsNullOrUndefinedAdvancedFilter. Set to 'NumberGreaterThan' for type NumberGreaterThanAdvancedFilter. Set to 'NumberGreaterThanOrEquals' for type NumberGreaterThanOrEqualsAdvancedFilter. Set to 'NumberIn' for type NumberInAdvancedFilter. Set to 'NumberInRange' for type NumberInRangeAdvancedFilter. Set to 'NumberLessThan' for type NumberLessThanAdvancedFilter. Set to 'NumberLessThanOrEquals' for type NumberLessThanOrEqualsAdvancedFilter. Set to 'NumberNotIn' for type NumberNotInAdvancedFilter. Set to 'NumberNotInRange' for type NumberNotInRangeAdvancedFilter. Set to 'StringBeginsWith' for type StringBeginsWithAdvancedFilter. Set to 'StringContains' for type StringContainsAdvancedFilter. Set to 'StringEndsWith' for type StringEndsWithAdvancedFilter. Set to 'StringIn' for type StringInAdvancedFilter. Set to 'StringNotBeginsWith' for type StringNotBeginsWithAdvancedFilter. Set to 'StringNotContains' for type StringNotContainsAdvancedFilter. Set to 'StringNotEndsWith' for type StringNotEndsWithAdvancedFilter. Set to 'StringNotIn' for type StringNotInAdvancedFilter. | 'BoolEquals' 'IsNotNull' 'IsNullOrUndefined' 'NumberGreaterThan' 'NumberGreaterThanOrEquals' 'NumberIn' 'NumberInRange' 'NumberLessThan' 'NumberLessThanOrEquals' 'NumberNotIn' 'NumberNotInRange' 'StringBeginsWith' 'StringContains' 'StringEndsWith' 'StringIn' 'StringNotBeginsWith' 'StringNotContains' 'StringNotEndsWith' 'StringNotIn' (required) |
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 |
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 |
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 |
Name | Description | Value |
---|---|---|
endpointType | Set to 'StorageBlob' for type StorageBlobDeadLetterDestination. | 'StorageBlob' (required) |
Name | Description | Value |
---|---|---|
deadLetterDestination | Information about the destination where events have to be delivered for the event subscription. Uses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering. |
DeadLetterDestination |
identity | The identity to use when dead-lettering events. | EventSubscriptionIdentity |
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) |
Name | Description | Value |
---|---|---|
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 / dead-lettering. |
EventSubscriptionDestination |
identity | The identity to use when delivering events. | EventSubscriptionIdentity |
Name | Description | Value |
---|---|---|
properties | Properties of dynamic delivery attribute mapping. | DynamicDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Dynamic' (required) |
Name | Description | Value |
---|---|---|
sourceField | JSON path in the event which contains attribute value. | string |
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 |
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 |
Name | Description | Value |
---|---|---|
endpointType | Set to 'AzureFunction' for type AzureFunctionEventSubscriptionDestination. Set to 'EventHub' for type EventHubEventSubscriptionDestination. Set to 'HybridConnection' for type HybridConnectionEventSubscriptionDestination. 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' 'ServiceBusQueue' 'ServiceBusTopic' 'StorageQueue' 'WebHook' (required) |
Name | Description | Value |
---|---|---|
advancedFilters | An array of advanced filters that are used for filtering event subscriptions. | AdvancedFilter[] |
enableAdvancedFilteringOnArrays | Allows advanced filters to be evaluated against an array of values instead of expecting a singular value. | bool |
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[] |
isSubjectCaseSensitive | Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter should be compared in a case sensitive manner. |
bool |
subjectBeginsWith | An optional string to filter events for an event subscription based on a resource path prefix. The format of this depends on the publisher of the events. Wildcard characters are not supported in this path. |
string |
subjectEndsWith | An optional string to filter events for an event subscription based on a resource path suffix. Wildcard characters are not supported in this path. |
string |
Name | Description | Value |
---|---|---|
type | The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity. | 'SystemAssigned' 'UserAssigned' |
userAssignedIdentity | The user identity associated with the resource. | string |
Name | Description | Value |
---|---|---|
deadLetterDestination | The DeadLetter destination of the event subscription. | DeadLetterDestination |
deadLetterWithResourceIdentity | 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 or domain) to acquire the authentication tokens being used during delivery / 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 / dead-lettering. |
DeliveryWithResourceIdentity |
destination | Information about the destination where events have to be delivered for the event subscription. | EventSubscriptionDestination |
eventDeliverySchema | The event delivery schema for the event subscription. | 'CloudEventSchemaV1_0' 'CustomInputSchema' 'EventGridSchema' |
expirationTimeUtc | Expiration time of the event subscription. | string |
filter | Information about the filter for the event subscription. | EventSubscriptionFilter |
labels | List of user defined labels. | string[] |
retryPolicy | The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events. | RetryPolicy |
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 |
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 |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'IsNotNull' (required) |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'IsNullOrUndefined' (required) |
Name | Description | Value |
---|---|---|
name | The resource name | string (required) |
properties | Properties of the event subscription. | EventSubscriptionProperties |
scope | Use when creating a resource at a scope that is different than the deployment scope. | Set this property to the symbolic name of a resource to apply the extension resource. |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberGreaterThan' (required) |
value | The filter value. | int |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberGreaterThanOrEquals' (required) |
value | The filter value. | int |
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[] |
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[][] |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberLessThan' (required) |
value | The filter value. | int |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberLessThanOrEquals' (required) |
value | The filter value. | int |
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[] |
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[][] |
Name | Description | Value |
---|---|---|
eventTimeToLiveInMinutes | Time To Live (in minutes) for events. | int |
maxDeliveryAttempts | Maximum number of delivery retry attempts for events. | int |
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 |
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 |
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 |
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 |
Name | Description | Value |
---|---|---|
properties | Properties of static delivery attribute mapping. | StaticDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Static' (required) |
Name | Description | Value |
---|---|---|
isSecret | Boolean flag to tell if the attribute contains sensitive information . | bool |
value | Value of the delivery attribute. | string |
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 |
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 |
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 |
Name | Description | Value |
---|---|---|
queueMessageTimeToLiveInSeconds | Storage queue message time to live in seconds. | 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 |
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[] |
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[] |
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[] |
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[] |
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[] |
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[] |
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[] |
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[] |
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'WebHook' (required) |
properties | WebHook Properties of the event subscription destination. | 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 |
preferredBatchSizeInKilobytes | Preferred batch size in Kilobytes. | int |
The following Azure Quickstart templates contain Bicep samples for deploying this resource type.
Bicep File | Description |
---|---|
Create Azure Event Grid Custom Topic and Queue Subscription | Creates an Azure Event Grid custom topic and a service bus queue subscription. Template originally authored by Markus Meyer. |
Create Azure Event Grid Custom Topic and Subscription | Creates an Azure Event Grid custom topic and a webhook subscription. Template originally authored by John Downs. |
The eventSubscriptions resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.EventGrid/eventSubscriptions resource, add the following JSON to your template.
{
"type": "Microsoft.EventGrid/eventSubscriptions",
"apiVersion": "2021-12-01",
"name": "string",
"properties": {
"deadLetterDestination": {
"endpointType": "string"
// For remaining properties, see DeadLetterDestination objects
},
"deadLetterWithResourceIdentity": {
"deadLetterDestination": {
"endpointType": "string"
// For remaining properties, see DeadLetterDestination objects
},
"identity": {
"type": "string",
"userAssignedIdentity": "string"
}
},
"deliveryWithResourceIdentity": {
"destination": {
"endpointType": "string"
// For remaining properties, see EventSubscriptionDestination objects
},
"identity": {
"type": "string",
"userAssignedIdentity": "string"
}
},
"destination": {
"endpointType": "string"
// For remaining properties, see EventSubscriptionDestination objects
},
"eventDeliverySchema": "string",
"expirationTimeUtc": "string",
"filter": {
"advancedFilters": [ {
"key": "string",
"operatorType": "string"
// For remaining properties, see AdvancedFilter objects
} ],
"enableAdvancedFilteringOnArrays": "bool",
"includedEventTypes": [ "string" ],
"isSubjectCaseSensitive": "bool",
"subjectBeginsWith": "string",
"subjectEndsWith": "string"
},
"labels": [ "string" ],
"retryPolicy": {
"eventTimeToLiveInMinutes": "int",
"maxDeliveryAttempts": "int"
}
}
}
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" ]
}
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 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",
"preferredBatchSizeInKilobytes": "int"
}
}
Set the endpointType property to specify the type of object.
For StorageBlob, use:
{
"endpointType": "StorageBlob",
"properties": {
"blobContainerName": "string",
"resourceId": "string"
}
}
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"
}
Name | Description | Value |
---|---|---|
key | The field/property in the event based on which you want to filter. | string |
operatorType | Set to 'BoolEquals' for type BoolEqualsAdvancedFilter. Set to 'IsNotNull' for type IsNotNullAdvancedFilter. Set to 'IsNullOrUndefined' for type IsNullOrUndefinedAdvancedFilter. Set to 'NumberGreaterThan' for type NumberGreaterThanAdvancedFilter. Set to 'NumberGreaterThanOrEquals' for type NumberGreaterThanOrEqualsAdvancedFilter. Set to 'NumberIn' for type NumberInAdvancedFilter. Set to 'NumberInRange' for type NumberInRangeAdvancedFilter. Set to 'NumberLessThan' for type NumberLessThanAdvancedFilter. Set to 'NumberLessThanOrEquals' for type NumberLessThanOrEqualsAdvancedFilter. Set to 'NumberNotIn' for type NumberNotInAdvancedFilter. Set to 'NumberNotInRange' for type NumberNotInRangeAdvancedFilter. Set to 'StringBeginsWith' for type StringBeginsWithAdvancedFilter. Set to 'StringContains' for type StringContainsAdvancedFilter. Set to 'StringEndsWith' for type StringEndsWithAdvancedFilter. Set to 'StringIn' for type StringInAdvancedFilter. Set to 'StringNotBeginsWith' for type StringNotBeginsWithAdvancedFilter. Set to 'StringNotContains' for type StringNotContainsAdvancedFilter. Set to 'StringNotEndsWith' for type StringNotEndsWithAdvancedFilter. Set to 'StringNotIn' for type StringNotInAdvancedFilter. | 'BoolEquals' 'IsNotNull' 'IsNullOrUndefined' 'NumberGreaterThan' 'NumberGreaterThanOrEquals' 'NumberIn' 'NumberInRange' 'NumberLessThan' 'NumberLessThanOrEquals' 'NumberNotIn' 'NumberNotInRange' 'StringBeginsWith' 'StringContains' 'StringEndsWith' 'StringIn' 'StringNotBeginsWith' 'StringNotContains' 'StringNotEndsWith' 'StringNotIn' (required) |
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 |
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 |
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 |
Name | Description | Value |
---|---|---|
endpointType | Set to 'StorageBlob' for type StorageBlobDeadLetterDestination. | 'StorageBlob' (required) |
Name | Description | Value |
---|---|---|
deadLetterDestination | Information about the destination where events have to be delivered for the event subscription. Uses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering. |
DeadLetterDestination |
identity | The identity to use when dead-lettering events. | EventSubscriptionIdentity |
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) |
Name | Description | Value |
---|---|---|
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 / dead-lettering. |
EventSubscriptionDestination |
identity | The identity to use when delivering events. | EventSubscriptionIdentity |
Name | Description | Value |
---|---|---|
properties | Properties of dynamic delivery attribute mapping. | DynamicDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Dynamic' (required) |
Name | Description | Value |
---|---|---|
sourceField | JSON path in the event which contains attribute value. | string |
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 |
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 |
Name | Description | Value |
---|---|---|
endpointType | Set to 'AzureFunction' for type AzureFunctionEventSubscriptionDestination. Set to 'EventHub' for type EventHubEventSubscriptionDestination. Set to 'HybridConnection' for type HybridConnectionEventSubscriptionDestination. 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' 'ServiceBusQueue' 'ServiceBusTopic' 'StorageQueue' 'WebHook' (required) |
Name | Description | Value |
---|---|---|
advancedFilters | An array of advanced filters that are used for filtering event subscriptions. | AdvancedFilter[] |
enableAdvancedFilteringOnArrays | Allows advanced filters to be evaluated against an array of values instead of expecting a singular value. | bool |
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[] |
isSubjectCaseSensitive | Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter should be compared in a case sensitive manner. |
bool |
subjectBeginsWith | An optional string to filter events for an event subscription based on a resource path prefix. The format of this depends on the publisher of the events. Wildcard characters are not supported in this path. |
string |
subjectEndsWith | An optional string to filter events for an event subscription based on a resource path suffix. Wildcard characters are not supported in this path. |
string |
Name | Description | Value |
---|---|---|
type | The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity. | 'SystemAssigned' 'UserAssigned' |
userAssignedIdentity | The user identity associated with the resource. | string |
Name | Description | Value |
---|---|---|
deadLetterDestination | The DeadLetter destination of the event subscription. | DeadLetterDestination |
deadLetterWithResourceIdentity | 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 or domain) to acquire the authentication tokens being used during delivery / 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 / dead-lettering. |
DeliveryWithResourceIdentity |
destination | Information about the destination where events have to be delivered for the event subscription. | EventSubscriptionDestination |
eventDeliverySchema | The event delivery schema for the event subscription. | 'CloudEventSchemaV1_0' 'CustomInputSchema' 'EventGridSchema' |
expirationTimeUtc | Expiration time of the event subscription. | string |
filter | Information about the filter for the event subscription. | EventSubscriptionFilter |
labels | List of user defined labels. | string[] |
retryPolicy | The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events. | RetryPolicy |
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 |
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 |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'IsNotNull' (required) |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'IsNullOrUndefined' (required) |
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2021-12-01' |
name | The resource name | string (required) |
properties | Properties of the event subscription. | EventSubscriptionProperties |
type | The resource type | 'Microsoft.EventGrid/eventSubscriptions' |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberGreaterThan' (required) |
value | The filter value. | int |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberGreaterThanOrEquals' (required) |
value | The filter value. | int |
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[] |
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[][] |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberLessThan' (required) |
value | The filter value. | int |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberLessThanOrEquals' (required) |
value | The filter value. | int |
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[] |
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[][] |
Name | Description | Value |
---|---|---|
eventTimeToLiveInMinutes | Time To Live (in minutes) for events. | int |
maxDeliveryAttempts | Maximum number of delivery retry attempts for events. | int |
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 |
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 |
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 |
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 |
Name | Description | Value |
---|---|---|
properties | Properties of static delivery attribute mapping. | StaticDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Static' (required) |
Name | Description | Value |
---|---|---|
isSecret | Boolean flag to tell if the attribute contains sensitive information . | bool |
value | Value of the delivery attribute. | string |
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 |
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 |
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 |
Name | Description | Value |
---|---|---|
queueMessageTimeToLiveInSeconds | Storage queue message time to live in seconds. | 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 |
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[] |
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[] |
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[] |
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[] |
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[] |
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[] |
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[] |
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[] |
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'WebHook' (required) |
properties | WebHook Properties of the event subscription destination. | 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 |
preferredBatchSizeInKilobytes | Preferred batch size in Kilobytes. | int |
The following Azure Quickstart templates deploy this resource type.
Template | Description |
---|---|
Create Azure Event Grid Custom Topic and Queue Subscription |
Creates an Azure Event Grid custom topic and a service bus queue subscription. Template originally authored by Markus Meyer. |
Create Azure Event Grid Custom Topic and Subscription |
Creates an Azure Event Grid custom topic and a webhook subscription. Template originally authored by John Downs. |
Create Azure Event Grid Custom Topic Subscription |
Creates an Azure Event Grid custom topic and a service bus topic subscription. Template originally authored by Markus Meyer. |
Create Event Grid custom topic and event hub handler |
Creates an Azure Event Grid custom topic and event hub to handle the events. |
Create Event Grid subscription for resource events |
Creates Event Grid subscription to either resource group or Azure subscription. |
Custom Azure Event Grid Topic/Subscription with CloudEvents |
Creates a custom Azure Event Grid topic, a webhook subscription having CloudEvents schema, and a Logic App as an event handler. Template originally authored by Justin Yoo. |
The eventSubscriptions resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
To create a Microsoft.EventGrid/eventSubscriptions resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.EventGrid/eventSubscriptions@2021-12-01"
name = "string"
parent_id = "string"
body = jsonencode({
properties = {
deadLetterDestination = {
endpointType = "string"
// For remaining properties, see DeadLetterDestination objects
}
deadLetterWithResourceIdentity = {
deadLetterDestination = {
endpointType = "string"
// For remaining properties, see DeadLetterDestination objects
}
identity = {
type = "string"
userAssignedIdentity = "string"
}
}
deliveryWithResourceIdentity = {
destination = {
endpointType = "string"
// For remaining properties, see EventSubscriptionDestination objects
}
identity = {
type = "string"
userAssignedIdentity = "string"
}
}
destination = {
endpointType = "string"
// For remaining properties, see EventSubscriptionDestination objects
}
eventDeliverySchema = "string"
expirationTimeUtc = "string"
filter = {
advancedFilters = [
{
key = "string"
operatorType = "string"
// For remaining properties, see AdvancedFilter objects
}
]
enableAdvancedFilteringOnArrays = bool
includedEventTypes = [
"string"
]
isSubjectCaseSensitive = bool
subjectBeginsWith = "string"
subjectEndsWith = "string"
}
labels = [
"string"
]
retryPolicy = {
eventTimeToLiveInMinutes = int
maxDeliveryAttempts = int
}
}
})
}
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"
]
}
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 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
preferredBatchSizeInKilobytes = int
}
}
Set the endpointType property to specify the type of object.
For StorageBlob, use:
{
endpointType = "StorageBlob"
properties = {
blobContainerName = "string"
resourceId = "string"
}
}
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"
}
Name | Description | Value |
---|---|---|
key | The field/property in the event based on which you want to filter. | string |
operatorType | Set to 'BoolEquals' for type BoolEqualsAdvancedFilter. Set to 'IsNotNull' for type IsNotNullAdvancedFilter. Set to 'IsNullOrUndefined' for type IsNullOrUndefinedAdvancedFilter. Set to 'NumberGreaterThan' for type NumberGreaterThanAdvancedFilter. Set to 'NumberGreaterThanOrEquals' for type NumberGreaterThanOrEqualsAdvancedFilter. Set to 'NumberIn' for type NumberInAdvancedFilter. Set to 'NumberInRange' for type NumberInRangeAdvancedFilter. Set to 'NumberLessThan' for type NumberLessThanAdvancedFilter. Set to 'NumberLessThanOrEquals' for type NumberLessThanOrEqualsAdvancedFilter. Set to 'NumberNotIn' for type NumberNotInAdvancedFilter. Set to 'NumberNotInRange' for type NumberNotInRangeAdvancedFilter. Set to 'StringBeginsWith' for type StringBeginsWithAdvancedFilter. Set to 'StringContains' for type StringContainsAdvancedFilter. Set to 'StringEndsWith' for type StringEndsWithAdvancedFilter. Set to 'StringIn' for type StringInAdvancedFilter. Set to 'StringNotBeginsWith' for type StringNotBeginsWithAdvancedFilter. Set to 'StringNotContains' for type StringNotContainsAdvancedFilter. Set to 'StringNotEndsWith' for type StringNotEndsWithAdvancedFilter. Set to 'StringNotIn' for type StringNotInAdvancedFilter. | 'BoolEquals' 'IsNotNull' 'IsNullOrUndefined' 'NumberGreaterThan' 'NumberGreaterThanOrEquals' 'NumberIn' 'NumberInRange' 'NumberLessThan' 'NumberLessThanOrEquals' 'NumberNotIn' 'NumberNotInRange' 'StringBeginsWith' 'StringContains' 'StringEndsWith' 'StringIn' 'StringNotBeginsWith' 'StringNotContains' 'StringNotEndsWith' 'StringNotIn' (required) |
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 |
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 |
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 |
Name | Description | Value |
---|---|---|
endpointType | Set to 'StorageBlob' for type StorageBlobDeadLetterDestination. | 'StorageBlob' (required) |
Name | Description | Value |
---|---|---|
deadLetterDestination | Information about the destination where events have to be delivered for the event subscription. Uses the managed identity setup on the parent resource (namely, topic or domain) to acquire the authentication tokens being used during delivery / dead-lettering. |
DeadLetterDestination |
identity | The identity to use when dead-lettering events. | EventSubscriptionIdentity |
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) |
Name | Description | Value |
---|---|---|
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 / dead-lettering. |
EventSubscriptionDestination |
identity | The identity to use when delivering events. | EventSubscriptionIdentity |
Name | Description | Value |
---|---|---|
properties | Properties of dynamic delivery attribute mapping. | DynamicDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Dynamic' (required) |
Name | Description | Value |
---|---|---|
sourceField | JSON path in the event which contains attribute value. | string |
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 |
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 |
Name | Description | Value |
---|---|---|
endpointType | Set to 'AzureFunction' for type AzureFunctionEventSubscriptionDestination. Set to 'EventHub' for type EventHubEventSubscriptionDestination. Set to 'HybridConnection' for type HybridConnectionEventSubscriptionDestination. 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' 'ServiceBusQueue' 'ServiceBusTopic' 'StorageQueue' 'WebHook' (required) |
Name | Description | Value |
---|---|---|
advancedFilters | An array of advanced filters that are used for filtering event subscriptions. | AdvancedFilter[] |
enableAdvancedFilteringOnArrays | Allows advanced filters to be evaluated against an array of values instead of expecting a singular value. | bool |
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[] |
isSubjectCaseSensitive | Specifies if the SubjectBeginsWith and SubjectEndsWith properties of the filter should be compared in a case sensitive manner. |
bool |
subjectBeginsWith | An optional string to filter events for an event subscription based on a resource path prefix. The format of this depends on the publisher of the events. Wildcard characters are not supported in this path. |
string |
subjectEndsWith | An optional string to filter events for an event subscription based on a resource path suffix. Wildcard characters are not supported in this path. |
string |
Name | Description | Value |
---|---|---|
type | The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identity. | 'SystemAssigned' 'UserAssigned' |
userAssignedIdentity | The user identity associated with the resource. | string |
Name | Description | Value |
---|---|---|
deadLetterDestination | The DeadLetter destination of the event subscription. | DeadLetterDestination |
deadLetterWithResourceIdentity | 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 or domain) to acquire the authentication tokens being used during delivery / 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 / dead-lettering. |
DeliveryWithResourceIdentity |
destination | Information about the destination where events have to be delivered for the event subscription. | EventSubscriptionDestination |
eventDeliverySchema | The event delivery schema for the event subscription. | 'CloudEventSchemaV1_0' 'CustomInputSchema' 'EventGridSchema' |
expirationTimeUtc | Expiration time of the event subscription. | string |
filter | Information about the filter for the event subscription. | EventSubscriptionFilter |
labels | List of user defined labels. | string[] |
retryPolicy | The retry policy for events. This can be used to configure maximum number of delivery attempts and time to live for events. | RetryPolicy |
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 |
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 |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'IsNotNull' (required) |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'IsNullOrUndefined' (required) |
Name | Description | Value |
---|---|---|
name | The resource name | string (required) |
parent_id | The ID of the resource to apply this extension resource to. | string (required) |
properties | Properties of the event subscription. | EventSubscriptionProperties |
type | The resource type | "Microsoft.EventGrid/eventSubscriptions@2021-12-01" |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberGreaterThan' (required) |
value | The filter value. | int |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberGreaterThanOrEquals' (required) |
value | The filter value. | int |
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[] |
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[][] |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberLessThan' (required) |
value | The filter value. | int |
Name | Description | Value |
---|---|---|
operatorType | The operator type used for filtering, e.g., NumberIn, StringContains, BoolEquals and others. | 'NumberLessThanOrEquals' (required) |
value | The filter value. | int |
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[] |
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[][] |
Name | Description | Value |
---|---|---|
eventTimeToLiveInMinutes | Time To Live (in minutes) for events. | int |
maxDeliveryAttempts | Maximum number of delivery retry attempts for events. | int |
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 |
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 |
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 |
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 |
Name | Description | Value |
---|---|---|
properties | Properties of static delivery attribute mapping. | StaticDeliveryAttributeMappingProperties |
type | Type of the delivery attribute or header name. | 'Static' (required) |
Name | Description | Value |
---|---|---|
isSecret | Boolean flag to tell if the attribute contains sensitive information . | bool |
value | Value of the delivery attribute. | string |
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 |
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 |
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 |
Name | Description | Value |
---|---|---|
queueMessageTimeToLiveInSeconds | Storage queue message time to live in seconds. | 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 |
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[] |
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[] |
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[] |
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[] |
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[] |
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[] |
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[] |
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[] |
Name | Description | Value |
---|---|---|
endpointType | Type of the endpoint for the event subscription destination. | 'WebHook' (required) |
properties | WebHook Properties of the event subscription destination. | 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 |
preferredBatchSizeInKilobytes | Preferred batch size in Kilobytes. | int |