Microsoft.EventGrid eventSubscriptions 2018-09-15-preview
- Latest
- 2024-12-15-preview
- 2024-06-01-preview
- 2023-12-15-preview
- 2023-06-01-preview
- 2022-06-15
- 2021-12-01
- 2021-10-15-preview
- 2021-06-01-preview
- 2020-10-15-preview
- 2020-06-01
- 2020-04-01-preview
- 2020-01-01-preview
- 2019-06-01
- 2019-02-01-preview
- 2019-01-01
- 2018-09-15-preview
- 2018-05-01-preview
- 2018-01-01
- 2017-09-15-preview
- 2017-06-15-preview
Bicep resource definition
The eventSubscriptions resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.EventGrid/eventSubscriptions resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.EventGrid/eventSubscriptions@2018-09-15-preview' = {
scope: resourceSymbolicName or scope
name: 'string'
properties: {
deadLetterDestination: {
endpointType: 'string'
// For remaining properties, see DeadLetterDestination objects
}
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
}
]
includedEventTypes: [
'string'
]
isSubjectCaseSensitive: bool
subjectBeginsWith: 'string'
subjectEndsWith: 'string'
}
labels: [
'string'
]
retryPolicy: {
eventTimeToLiveInMinutes: int
maxDeliveryAttempts: int
}
}
}
EventSubscriptionDestination objects
Set the endpointType property to specify the type of object.
For EventHub, use:
{
endpointType: 'EventHub'
properties: {
resourceId: 'string'
}
}
For HybridConnection, use:
{
endpointType: 'HybridConnection'
properties: {
resourceId: 'string'
}
}
For StorageQueue, use:
{
endpointType: 'StorageQueue'
properties: {
queueName: 'string'
resourceId: 'string'
}
}
For WebHook, use:
{
endpointType: 'WebHook'
properties: {
endpointUrl: 'string'
}
}
AdvancedFilter objects
Set the operatorType property to specify the type of object.
For BoolEquals, use:
{
operatorType: 'BoolEquals'
value: bool
}
For NumberGreaterThan, use:
{
operatorType: 'NumberGreaterThan'
value: int
}
For NumberGreaterThanOrEquals, use:
{
operatorType: 'NumberGreaterThanOrEquals'
value: int
}
For NumberIn, use:
{
operatorType: 'NumberIn'
values: [
int
]
}
For NumberLessThan, use:
{
operatorType: 'NumberLessThan'
value: int
}
For NumberLessThanOrEquals, use:
{
operatorType: 'NumberLessThanOrEquals'
value: int
}
For NumberNotIn, use:
{
operatorType: 'NumberNotIn'
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 StringNotIn, use:
{
operatorType: 'StringNotIn'
values: [
'string'
]
}
DeadLetterDestination objects
Set the endpointType property to specify the type of object.
For StorageBlob, use:
{
endpointType: 'StorageBlob'
properties: {
blobContainerName: 'string'
resourceId: 'string'
}
}
Property values
AdvancedFilter
Name | Description | Value |
---|---|---|
key | The filter key. Represents an event property with up to two levels of nesting. | string |
operatorType | Set to 'BoolEquals' for type BoolEqualsAdvancedFilter. Set to 'NumberGreaterThan' for type NumberGreaterThanAdvancedFilter. Set to 'NumberGreaterThanOrEquals' for type NumberGreaterThanOrEqualsAdvancedFilter. Set to 'NumberIn' for type NumberInAdvancedFilter. Set to 'NumberLessThan' for type NumberLessThanAdvancedFilter. Set to 'NumberLessThanOrEquals' for type NumberLessThanOrEqualsAdvancedFilter. Set to 'NumberNotIn' for type NumberNotInAdvancedFilter. 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 'StringNotIn' for type StringNotInAdvancedFilter. | 'BoolEquals' 'NumberGreaterThan' 'NumberGreaterThanOrEquals' 'NumberIn' 'NumberLessThan' 'NumberLessThanOrEquals' 'NumberNotIn' 'StringBeginsWith' 'StringContains' 'StringEndsWith' 'StringIn' 'StringNotIn' (required) |
BoolEqualsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'BoolEquals' (required) |
value | The filter value | bool |
DeadLetterDestination
Name | Description | Value |
---|---|---|
endpointType | Set to 'StorageBlob' for type StorageBlobDeadLetterDestination. | 'StorageBlob' (required) |
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 |
---|---|---|
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 'EventHub' for type EventHubEventSubscriptionDestination. Set to 'HybridConnection' for type HybridConnectionEventSubscriptionDestination. Set to 'StorageQueue' for type StorageQueueEventSubscriptionDestination. Set to 'WebHook' for type WebHookEventSubscriptionDestination. | 'EventHub' 'HybridConnection' 'StorageQueue' 'WebHook' (required) |
EventSubscriptionFilter
Name | Description | Value |
---|---|---|
advancedFilters | A list of advanced filters. | AdvancedFilter[] |
includedEventTypes | A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all event types, the string "all" needs to be specified as an element in this list. |
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 |
EventSubscriptionProperties
Name | Description | Value |
---|---|---|
deadLetterDestination | The DeadLetter destination of the event subscription. | DeadLetterDestination |
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. | 'CloudEventV01Schema' '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 |
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 |
---|---|---|
resourceId | The Azure Resource ID of an hybrid connection that is the destination of an event subscription. | string |
Microsoft.EventGrid/eventSubscriptions
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. |
NumberGreaterThanAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberGreaterThan' (required) |
value | The filter value | int |
NumberGreaterThanOrEqualsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberGreaterThanOrEquals' (required) |
value | The filter value | int |
NumberInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberIn' (required) |
values | The set of filter values | int[] |
NumberLessThanAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberLessThan' (required) |
value | The filter value | int |
NumberLessThanOrEqualsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberLessThanOrEquals' (required) |
value | The filter value | int |
NumberNotInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberNotIn' (required) |
values | The set of filter values | int[] |
RetryPolicy
Name | Description | Value |
---|---|---|
eventTimeToLiveInMinutes | Time To Live (in minutes) for events. | int |
maxDeliveryAttempts | Maximum number of delivery retry attempts for events. | int |
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 |
---|---|---|
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 |
StringBeginsWithAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringBeginsWith' (required) |
values | The set of filter values | string[] |
StringContainsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringContains' (required) |
values | The set of filter values | string[] |
StringEndsWithAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringEndsWith' (required) |
values | The set of filter values | string[] |
StringInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringIn' (required) |
values | The set of filter values | string[] |
StringNotInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringNotIn' (required) |
values | The set of filter values | string[] |
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 |
---|---|---|
endpointUrl | The URL that represents the endpoint of the destination of an event subscription. | string |
Quickstart samples
The following quickstart samples deploy 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. |
ARM template resource definition
The eventSubscriptions resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.EventGrid/eventSubscriptions resource, add the following JSON to your template.
{
"type": "Microsoft.EventGrid/eventSubscriptions",
"apiVersion": "2018-09-15-preview",
"name": "string",
"properties": {
"deadLetterDestination": {
"endpointType": "string"
// For remaining properties, see DeadLetterDestination objects
},
"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
} ],
"includedEventTypes": [ "string" ],
"isSubjectCaseSensitive": "bool",
"subjectBeginsWith": "string",
"subjectEndsWith": "string"
},
"labels": [ "string" ],
"retryPolicy": {
"eventTimeToLiveInMinutes": "int",
"maxDeliveryAttempts": "int"
}
}
}
EventSubscriptionDestination objects
Set the endpointType property to specify the type of object.
For EventHub, use:
{
"endpointType": "EventHub",
"properties": {
"resourceId": "string"
}
}
For HybridConnection, use:
{
"endpointType": "HybridConnection",
"properties": {
"resourceId": "string"
}
}
For StorageQueue, use:
{
"endpointType": "StorageQueue",
"properties": {
"queueName": "string",
"resourceId": "string"
}
}
For WebHook, use:
{
"endpointType": "WebHook",
"properties": {
"endpointUrl": "string"
}
}
AdvancedFilter objects
Set the operatorType property to specify the type of object.
For BoolEquals, use:
{
"operatorType": "BoolEquals",
"value": "bool"
}
For NumberGreaterThan, use:
{
"operatorType": "NumberGreaterThan",
"value": "int"
}
For NumberGreaterThanOrEquals, use:
{
"operatorType": "NumberGreaterThanOrEquals",
"value": "int"
}
For NumberIn, use:
{
"operatorType": "NumberIn",
"values": [ "int" ]
}
For NumberLessThan, use:
{
"operatorType": "NumberLessThan",
"value": "int"
}
For NumberLessThanOrEquals, use:
{
"operatorType": "NumberLessThanOrEquals",
"value": "int"
}
For NumberNotIn, use:
{
"operatorType": "NumberNotIn",
"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 StringNotIn, use:
{
"operatorType": "StringNotIn",
"values": [ "string" ]
}
DeadLetterDestination objects
Set the endpointType property to specify the type of object.
For StorageBlob, use:
{
"endpointType": "StorageBlob",
"properties": {
"blobContainerName": "string",
"resourceId": "string"
}
}
Property values
AdvancedFilter
Name | Description | Value |
---|---|---|
key | The filter key. Represents an event property with up to two levels of nesting. | string |
operatorType | Set to 'BoolEquals' for type BoolEqualsAdvancedFilter. Set to 'NumberGreaterThan' for type NumberGreaterThanAdvancedFilter. Set to 'NumberGreaterThanOrEquals' for type NumberGreaterThanOrEqualsAdvancedFilter. Set to 'NumberIn' for type NumberInAdvancedFilter. Set to 'NumberLessThan' for type NumberLessThanAdvancedFilter. Set to 'NumberLessThanOrEquals' for type NumberLessThanOrEqualsAdvancedFilter. Set to 'NumberNotIn' for type NumberNotInAdvancedFilter. 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 'StringNotIn' for type StringNotInAdvancedFilter. | 'BoolEquals' 'NumberGreaterThan' 'NumberGreaterThanOrEquals' 'NumberIn' 'NumberLessThan' 'NumberLessThanOrEquals' 'NumberNotIn' 'StringBeginsWith' 'StringContains' 'StringEndsWith' 'StringIn' 'StringNotIn' (required) |
BoolEqualsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'BoolEquals' (required) |
value | The filter value | bool |
DeadLetterDestination
Name | Description | Value |
---|---|---|
endpointType | Set to 'StorageBlob' for type StorageBlobDeadLetterDestination. | 'StorageBlob' (required) |
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 |
---|---|---|
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 'EventHub' for type EventHubEventSubscriptionDestination. Set to 'HybridConnection' for type HybridConnectionEventSubscriptionDestination. Set to 'StorageQueue' for type StorageQueueEventSubscriptionDestination. Set to 'WebHook' for type WebHookEventSubscriptionDestination. | 'EventHub' 'HybridConnection' 'StorageQueue' 'WebHook' (required) |
EventSubscriptionFilter
Name | Description | Value |
---|---|---|
advancedFilters | A list of advanced filters. | AdvancedFilter[] |
includedEventTypes | A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all event types, the string "all" needs to be specified as an element in this list. |
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 |
EventSubscriptionProperties
Name | Description | Value |
---|---|---|
deadLetterDestination | The DeadLetter destination of the event subscription. | DeadLetterDestination |
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. | 'CloudEventV01Schema' '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 |
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 |
---|---|---|
resourceId | The Azure Resource ID of an hybrid connection that is the destination of an event subscription. | string |
Microsoft.EventGrid/eventSubscriptions
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2018-09-15-preview' |
name | The resource name | string (required) |
properties | Properties of the event subscription | EventSubscriptionProperties |
type | The resource type | 'Microsoft.EventGrid/eventSubscriptions' |
NumberGreaterThanAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberGreaterThan' (required) |
value | The filter value | int |
NumberGreaterThanOrEqualsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberGreaterThanOrEquals' (required) |
value | The filter value | int |
NumberInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberIn' (required) |
values | The set of filter values | int[] |
NumberLessThanAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberLessThan' (required) |
value | The filter value | int |
NumberLessThanOrEqualsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberLessThanOrEquals' (required) |
value | The filter value | int |
NumberNotInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberNotIn' (required) |
values | The set of filter values | int[] |
RetryPolicy
Name | Description | Value |
---|---|---|
eventTimeToLiveInMinutes | Time To Live (in minutes) for events. | int |
maxDeliveryAttempts | Maximum number of delivery retry attempts for events. | int |
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 |
---|---|---|
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 |
StringBeginsWithAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringBeginsWith' (required) |
values | The set of filter values | string[] |
StringContainsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringContains' (required) |
values | The set of filter values | string[] |
StringEndsWithAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringEndsWith' (required) |
values | The set of filter values | string[] |
StringInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringIn' (required) |
values | The set of filter values | string[] |
StringNotInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringNotIn' (required) |
values | The set of filter values | string[] |
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 |
---|---|---|
endpointUrl | The URL that represents the endpoint of the destination of an event subscription. | string |
Quickstart templates
The following 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. |
Terraform (AzAPI provider) resource definition
The eventSubscriptions resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.EventGrid/eventSubscriptions resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.EventGrid/eventSubscriptions@2018-09-15-preview"
name = "string"
parent_id = "string"
body = jsonencode({
properties = {
deadLetterDestination = {
endpointType = "string"
// For remaining properties, see DeadLetterDestination objects
}
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
}
]
includedEventTypes = [
"string"
]
isSubjectCaseSensitive = bool
subjectBeginsWith = "string"
subjectEndsWith = "string"
}
labels = [
"string"
]
retryPolicy = {
eventTimeToLiveInMinutes = int
maxDeliveryAttempts = int
}
}
})
}
EventSubscriptionDestination objects
Set the endpointType property to specify the type of object.
For EventHub, use:
{
endpointType = "EventHub"
properties = {
resourceId = "string"
}
}
For HybridConnection, use:
{
endpointType = "HybridConnection"
properties = {
resourceId = "string"
}
}
For StorageQueue, use:
{
endpointType = "StorageQueue"
properties = {
queueName = "string"
resourceId = "string"
}
}
For WebHook, use:
{
endpointType = "WebHook"
properties = {
endpointUrl = "string"
}
}
AdvancedFilter objects
Set the operatorType property to specify the type of object.
For BoolEquals, use:
{
operatorType = "BoolEquals"
value = bool
}
For NumberGreaterThan, use:
{
operatorType = "NumberGreaterThan"
value = int
}
For NumberGreaterThanOrEquals, use:
{
operatorType = "NumberGreaterThanOrEquals"
value = int
}
For NumberIn, use:
{
operatorType = "NumberIn"
values = [
int
]
}
For NumberLessThan, use:
{
operatorType = "NumberLessThan"
value = int
}
For NumberLessThanOrEquals, use:
{
operatorType = "NumberLessThanOrEquals"
value = int
}
For NumberNotIn, use:
{
operatorType = "NumberNotIn"
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 StringNotIn, use:
{
operatorType = "StringNotIn"
values = [
"string"
]
}
DeadLetterDestination objects
Set the endpointType property to specify the type of object.
For StorageBlob, use:
{
endpointType = "StorageBlob"
properties = {
blobContainerName = "string"
resourceId = "string"
}
}
Property values
AdvancedFilter
Name | Description | Value |
---|---|---|
key | The filter key. Represents an event property with up to two levels of nesting. | string |
operatorType | Set to 'BoolEquals' for type BoolEqualsAdvancedFilter. Set to 'NumberGreaterThan' for type NumberGreaterThanAdvancedFilter. Set to 'NumberGreaterThanOrEquals' for type NumberGreaterThanOrEqualsAdvancedFilter. Set to 'NumberIn' for type NumberInAdvancedFilter. Set to 'NumberLessThan' for type NumberLessThanAdvancedFilter. Set to 'NumberLessThanOrEquals' for type NumberLessThanOrEqualsAdvancedFilter. Set to 'NumberNotIn' for type NumberNotInAdvancedFilter. 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 'StringNotIn' for type StringNotInAdvancedFilter. | 'BoolEquals' 'NumberGreaterThan' 'NumberGreaterThanOrEquals' 'NumberIn' 'NumberLessThan' 'NumberLessThanOrEquals' 'NumberNotIn' 'StringBeginsWith' 'StringContains' 'StringEndsWith' 'StringIn' 'StringNotIn' (required) |
BoolEqualsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'BoolEquals' (required) |
value | The filter value | bool |
DeadLetterDestination
Name | Description | Value |
---|---|---|
endpointType | Set to 'StorageBlob' for type StorageBlobDeadLetterDestination. | 'StorageBlob' (required) |
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 |
---|---|---|
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 'EventHub' for type EventHubEventSubscriptionDestination. Set to 'HybridConnection' for type HybridConnectionEventSubscriptionDestination. Set to 'StorageQueue' for type StorageQueueEventSubscriptionDestination. Set to 'WebHook' for type WebHookEventSubscriptionDestination. | 'EventHub' 'HybridConnection' 'StorageQueue' 'WebHook' (required) |
EventSubscriptionFilter
Name | Description | Value |
---|---|---|
advancedFilters | A list of advanced filters. | AdvancedFilter[] |
includedEventTypes | A list of applicable event types that need to be part of the event subscription. If it is desired to subscribe to all event types, the string "all" needs to be specified as an element in this list. |
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 |
EventSubscriptionProperties
Name | Description | Value |
---|---|---|
deadLetterDestination | The DeadLetter destination of the event subscription. | DeadLetterDestination |
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. | 'CloudEventV01Schema' '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 |
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 |
---|---|---|
resourceId | The Azure Resource ID of an hybrid connection that is the destination of an event subscription. | string |
Microsoft.EventGrid/eventSubscriptions
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@2018-09-15-preview" |
NumberGreaterThanAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberGreaterThan' (required) |
value | The filter value | int |
NumberGreaterThanOrEqualsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberGreaterThanOrEquals' (required) |
value | The filter value | int |
NumberInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberIn' (required) |
values | The set of filter values | int[] |
NumberLessThanAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberLessThan' (required) |
value | The filter value | int |
NumberLessThanOrEqualsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberLessThanOrEquals' (required) |
value | The filter value | int |
NumberNotInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'NumberNotIn' (required) |
values | The set of filter values | int[] |
RetryPolicy
Name | Description | Value |
---|---|---|
eventTimeToLiveInMinutes | Time To Live (in minutes) for events. | int |
maxDeliveryAttempts | Maximum number of delivery retry attempts for events. | int |
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 |
---|---|---|
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 |
StringBeginsWithAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringBeginsWith' (required) |
values | The set of filter values | string[] |
StringContainsAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringContains' (required) |
values | The set of filter values | string[] |
StringEndsWithAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringEndsWith' (required) |
values | The set of filter values | string[] |
StringInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringIn' (required) |
values | The set of filter values | string[] |
StringNotInAdvancedFilter
Name | Description | Value |
---|---|---|
operatorType | Represents the filter operator | 'StringNotIn' (required) |
values | The set of filter values | string[] |
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 |
---|---|---|
endpointUrl | The URL that represents the endpoint of the destination of an event subscription. | string |