Microsoft.EventGrid topics 2020-04-01-preview
- Latest
- 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 topics resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.EventGrid/topics resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.EventGrid/topics@2020-04-01-preview' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
sku: {
name: 'string'
}
identity: {
principalId: 'string'
tenantId: 'string'
type: 'string'
userAssignedIdentities: {
{customized property}: {
clientId: 'string'
principalId: 'string'
}
}
}
properties: {
inboundIpRules: [
{
action: 'Allow'
ipMask: 'string'
}
]
inputSchema: 'string'
inputSchemaMapping: {
inputSchemaMappingType: 'string'
// For remaining properties, see InputSchemaMapping objects
}
privateEndpointConnections: [
{
properties: {
groupIds: [
'string'
]
privateEndpoint: {
id: 'string'
}
privateLinkServiceConnectionState: {
actionsRequired: 'string'
description: 'string'
status: 'string'
}
provisioningState: 'string'
}
}
]
publicNetworkAccess: 'string'
}
}
InputSchemaMapping objects
Set the inputSchemaMappingType property to specify the type of object.
For Json, use:
inputSchemaMappingType: 'Json'
properties: {
dataVersion: {
defaultValue: 'string'
sourceField: 'string'
}
eventTime: {
sourceField: 'string'
}
eventType: {
defaultValue: 'string'
sourceField: 'string'
}
id: {
sourceField: 'string'
}
subject: {
defaultValue: 'string'
sourceField: 'string'
}
topic: {
sourceField: 'string'
}
}
Property values
topics
Name | Description | Value |
---|---|---|
name | The resource name | string (required) Character limit: 3-50 Valid characters: Alphanumerics and hyphens. |
location | Location of the resource. | string (required) |
tags | Tags of the resource. | Dictionary of tag names and values. See Tags in templates |
sku | The Sku pricing tier for the topic. | ResourceSku |
identity | Identity information for the resource. | IdentityInfo |
properties | Properties of the topic. | TopicProperties |
IdentityInfo
Name | Description | Value |
---|---|---|
principalId | The principal ID of resource identity. | string |
tenantId | The tenant ID of resource. | string |
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. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' |
userAssignedIdentities | The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. This property is currently not used and reserved for future usage. |
IdentityInfoUserAssignedIdentities |
IdentityInfoUserAssignedIdentities
Name | Description | Value |
---|---|---|
{customized property} | UserIdentityProperties |
UserIdentityProperties
Name | Description | Value |
---|---|---|
clientId | The client id of user assigned identity. | string |
principalId | The principal id of user assigned identity. | string |
TopicProperties
Name | Description | Value |
---|---|---|
inboundIpRules | This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled. | InboundIpRule[] |
inputSchema | This determines the format that Event Grid should expect for incoming events published to the topic. | 'CloudEventSchemaV1_0' 'CustomEventSchema' 'EventGridSchema' |
inputSchemaMapping | This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema. | InputSchemaMapping |
privateEndpointConnections | PrivateEndpointConnection[] | |
publicNetworkAccess | This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring {seealso cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicProperties.InboundIpRules" /} |
'Disabled' 'Enabled' |
InboundIpRule
Name | Description | Value |
---|---|---|
action | Action to perform based on the match or no match of the IpMask. | 'Allow' |
ipMask | IP Address in CIDR notation e.g., 10.0.0.0/8. | string |
InputSchemaMapping
Name | Description | Value |
---|---|---|
inputSchemaMappingType | Set the object type | Json (required) |
JsonInputSchemaMapping
Name | Description | Value |
---|---|---|
inputSchemaMappingType | Type of the custom mapping | 'Json' (required) |
properties | JSON Properties of the input schema mapping | JsonInputSchemaMappingProperties |
JsonInputSchemaMappingProperties
Name | Description | Value |
---|---|---|
dataVersion | The mapping information for the DataVersion property of the Event Grid Event. | JsonFieldWithDefault |
eventTime | The mapping information for the EventTime property of the Event Grid Event. | JsonField |
eventType | The mapping information for the EventType property of the Event Grid Event. | JsonFieldWithDefault |
id | The mapping information for the Id property of the Event Grid Event. | JsonField |
subject | The mapping information for the Subject property of the Event Grid Event. | JsonFieldWithDefault |
topic | The mapping information for the Topic property of the Event Grid Event. | JsonField |
JsonFieldWithDefault
Name | Description | Value |
---|---|---|
defaultValue | The default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload. | string |
sourceField | Name of a field in the input event schema that's to be used as the source of a mapping. | string |
JsonField
Name | Description | Value |
---|---|---|
sourceField | Name of a field in the input event schema that's to be used as the source of a mapping. | string |
PrivateEndpointConnection
Name | Description | Value |
---|---|---|
properties | Properties of the PrivateEndpointConnection. | PrivateEndpointConnectionProperties |
PrivateEndpointConnectionProperties
Name | Description | Value |
---|---|---|
groupIds | GroupIds from the private link service resource. | string[] |
privateEndpoint | The Private Endpoint resource for this Connection. | PrivateEndpoint |
privateLinkServiceConnectionState | Details about the state of the connection. | ConnectionState |
provisioningState | Provisioning state of the Private Endpoint Connection. | 'Canceled' 'Creating' 'Deleting' 'Failed' 'Succeeded' 'Updating' |
PrivateEndpoint
Name | Description | Value |
---|---|---|
id | The ARM identifier for Private Endpoint. | string |
ConnectionState
Name | Description | Value |
---|---|---|
actionsRequired | Actions required (if any). | string |
description | Description of the connection state. | string |
status | Status of the connection. | 'Approved' 'Disconnected' 'Pending' 'Rejected' |
ResourceSku
Name | Description | Value |
---|---|---|
name | The Sku name of the resource. The possible values are: Basic or Premium. | 'Basic' 'Premium' |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
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. |
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. |
Create Event Grid custom topic and event hub handler |
Creates an Azure Event Grid custom topic and event hub to handle the events. |
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 Subscription |
Creates an Azure Event Grid custom topic and a service bus topic subscription. Template originally authored by Markus Meyer. |
ARM template resource definition
The topics resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.EventGrid/topics resource, add the following JSON to your template.
{
"type": "Microsoft.EventGrid/topics",
"apiVersion": "2020-04-01-preview",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"sku": {
"name": "string"
},
"identity": {
"principalId": "string",
"tenantId": "string",
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
"clientId": "string",
"principalId": "string"
}
}
},
"properties": {
"inboundIpRules": [
{
"action": "Allow",
"ipMask": "string"
}
],
"inputSchema": "string",
"inputSchemaMapping": {
"inputSchemaMappingType": "string"
// For remaining properties, see InputSchemaMapping objects
},
"privateEndpointConnections": [
{
"properties": {
"groupIds": [ "string" ],
"privateEndpoint": {
"id": "string"
},
"privateLinkServiceConnectionState": {
"actionsRequired": "string",
"description": "string",
"status": "string"
},
"provisioningState": "string"
}
}
],
"publicNetworkAccess": "string"
}
}
InputSchemaMapping objects
Set the inputSchemaMappingType property to specify the type of object.
For Json, use:
"inputSchemaMappingType": "Json",
"properties": {
"dataVersion": {
"defaultValue": "string",
"sourceField": "string"
},
"eventTime": {
"sourceField": "string"
},
"eventType": {
"defaultValue": "string",
"sourceField": "string"
},
"id": {
"sourceField": "string"
},
"subject": {
"defaultValue": "string",
"sourceField": "string"
},
"topic": {
"sourceField": "string"
}
}
Property values
topics
Name | Description | Value |
---|---|---|
type | The resource type | 'Microsoft.EventGrid/topics' |
apiVersion | The resource api version | '2020-04-01-preview' |
name | The resource name | string (required) Character limit: 3-50 Valid characters: Alphanumerics and hyphens. |
location | Location of the resource. | string (required) |
tags | Tags of the resource. | Dictionary of tag names and values. See Tags in templates |
sku | The Sku pricing tier for the topic. | ResourceSku |
identity | Identity information for the resource. | IdentityInfo |
properties | Properties of the topic. | TopicProperties |
IdentityInfo
Name | Description | Value |
---|---|---|
principalId | The principal ID of resource identity. | string |
tenantId | The tenant ID of resource. | string |
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. | 'None' 'SystemAssigned' 'SystemAssigned, UserAssigned' 'UserAssigned' |
userAssignedIdentities | The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. This property is currently not used and reserved for future usage. |
IdentityInfoUserAssignedIdentities |
IdentityInfoUserAssignedIdentities
Name | Description | Value |
---|---|---|
{customized property} | UserIdentityProperties |
UserIdentityProperties
Name | Description | Value |
---|---|---|
clientId | The client id of user assigned identity. | string |
principalId | The principal id of user assigned identity. | string |
TopicProperties
Name | Description | Value |
---|---|---|
inboundIpRules | This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled. | InboundIpRule[] |
inputSchema | This determines the format that Event Grid should expect for incoming events published to the topic. | 'CloudEventSchemaV1_0' 'CustomEventSchema' 'EventGridSchema' |
inputSchemaMapping | This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema. | InputSchemaMapping |
privateEndpointConnections | PrivateEndpointConnection[] | |
publicNetworkAccess | This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring {seealso cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicProperties.InboundIpRules" /} |
'Disabled' 'Enabled' |
InboundIpRule
Name | Description | Value |
---|---|---|
action | Action to perform based on the match or no match of the IpMask. | 'Allow' |
ipMask | IP Address in CIDR notation e.g., 10.0.0.0/8. | string |
InputSchemaMapping
Name | Description | Value |
---|---|---|
inputSchemaMappingType | Set the object type | Json (required) |
JsonInputSchemaMapping
Name | Description | Value |
---|---|---|
inputSchemaMappingType | Type of the custom mapping | 'Json' (required) |
properties | JSON Properties of the input schema mapping | JsonInputSchemaMappingProperties |
JsonInputSchemaMappingProperties
Name | Description | Value |
---|---|---|
dataVersion | The mapping information for the DataVersion property of the Event Grid Event. | JsonFieldWithDefault |
eventTime | The mapping information for the EventTime property of the Event Grid Event. | JsonField |
eventType | The mapping information for the EventType property of the Event Grid Event. | JsonFieldWithDefault |
id | The mapping information for the Id property of the Event Grid Event. | JsonField |
subject | The mapping information for the Subject property of the Event Grid Event. | JsonFieldWithDefault |
topic | The mapping information for the Topic property of the Event Grid Event. | JsonField |
JsonFieldWithDefault
Name | Description | Value |
---|---|---|
defaultValue | The default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload. | string |
sourceField | Name of a field in the input event schema that's to be used as the source of a mapping. | string |
JsonField
Name | Description | Value |
---|---|---|
sourceField | Name of a field in the input event schema that's to be used as the source of a mapping. | string |
PrivateEndpointConnection
Name | Description | Value |
---|---|---|
properties | Properties of the PrivateEndpointConnection. | PrivateEndpointConnectionProperties |
PrivateEndpointConnectionProperties
Name | Description | Value |
---|---|---|
groupIds | GroupIds from the private link service resource. | string[] |
privateEndpoint | The Private Endpoint resource for this Connection. | PrivateEndpoint |
privateLinkServiceConnectionState | Details about the state of the connection. | ConnectionState |
provisioningState | Provisioning state of the Private Endpoint Connection. | 'Canceled' 'Creating' 'Deleting' 'Failed' 'Succeeded' 'Updating' |
PrivateEndpoint
Name | Description | Value |
---|---|---|
id | The ARM identifier for Private Endpoint. | string |
ConnectionState
Name | Description | Value |
---|---|---|
actionsRequired | Actions required (if any). | string |
description | Description of the connection state. | string |
status | Status of the connection. | 'Approved' 'Disconnected' 'Pending' 'Rejected' |
ResourceSku
Name | Description | Value |
---|---|---|
name | The Sku name of the resource. The possible values are: Basic or Premium. | 'Basic' 'Premium' |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | Description |
---|---|
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. |
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. |
Create Event Grid custom topic and event hub handler |
Creates an Azure Event Grid custom topic and event hub to handle the events. |
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 Subscription |
Creates an Azure Event Grid custom topic and a service bus topic subscription. Template originally authored by Markus Meyer. |
Terraform (AzAPI provider) resource definition
The topics resource type can be deployed with operations that target:
- Resource groups
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.EventGrid/topics resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.EventGrid/topics@2020-04-01-preview"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
properties = {
inboundIpRules = [
{
action = "Allow"
ipMask = "string"
}
]
inputSchema = "string"
inputSchemaMapping = {
inputSchemaMappingType = "string"
// For remaining properties, see InputSchemaMapping objects
}
privateEndpointConnections = [
{
properties = {
groupIds = [
"string"
]
privateEndpoint = {
id = "string"
}
privateLinkServiceConnectionState = {
actionsRequired = "string"
description = "string"
status = "string"
}
provisioningState = "string"
}
}
]
publicNetworkAccess = "string"
}
sku = {
name = "string"
}
})
}
InputSchemaMapping objects
Set the inputSchemaMappingType property to specify the type of object.
For Json, use:
inputSchemaMappingType = "Json"
properties = {
dataVersion = {
defaultValue = "string"
sourceField = "string"
}
eventTime = {
sourceField = "string"
}
eventType = {
defaultValue = "string"
sourceField = "string"
}
id = {
sourceField = "string"
}
subject = {
defaultValue = "string"
sourceField = "string"
}
topic = {
sourceField = "string"
}
}
Property values
topics
Name | Description | Value |
---|---|---|
type | The resource type | "Microsoft.EventGrid/topics@2020-04-01-preview" |
name | The resource name | string (required) Character limit: 3-50 Valid characters: Alphanumerics and hyphens. |
location | Location of the resource. | string (required) |
parent_id | To deploy to a resource group, use the ID of that resource group. | string (required) |
tags | Tags of the resource. | Dictionary of tag names and values. |
sku | The Sku pricing tier for the topic. | ResourceSku |
identity | Identity information for the resource. | IdentityInfo |
properties | Properties of the topic. | TopicProperties |
IdentityInfo
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" "SystemAssigned, UserAssigned" "UserAssigned" |
identity_ids | The list of user identities associated with the resource. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. This property is currently not used and reserved for future usage. |
Array of user identity IDs. |
IdentityInfoUserAssignedIdentities
Name | Description | Value |
---|---|---|
{customized property} | UserIdentityProperties |
UserIdentityProperties
Name | Description | Value |
---|---|---|
clientId | The client id of user assigned identity. | string |
principalId | The principal id of user assigned identity. | string |
TopicProperties
Name | Description | Value |
---|---|---|
inboundIpRules | This can be used to restrict traffic from specific IPs instead of all IPs. Note: These are considered only if PublicNetworkAccess is enabled. | InboundIpRule[] |
inputSchema | This determines the format that Event Grid should expect for incoming events published to the topic. | "CloudEventSchemaV1_0" "CustomEventSchema" "EventGridSchema" |
inputSchemaMapping | This enables publishing using custom event schemas. An InputSchemaMapping can be specified to map various properties of a source schema to various required properties of the EventGridEvent schema. | InputSchemaMapping |
privateEndpointConnections | PrivateEndpointConnection[] | |
publicNetworkAccess | This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring {seealso cref="P:Microsoft.Azure.Events.ResourceProvider.Common.Contracts.TopicProperties.InboundIpRules" /} |
"Disabled" "Enabled" |
InboundIpRule
Name | Description | Value |
---|---|---|
action | Action to perform based on the match or no match of the IpMask. | "Allow" |
ipMask | IP Address in CIDR notation e.g., 10.0.0.0/8. | string |
InputSchemaMapping
Name | Description | Value |
---|---|---|
inputSchemaMappingType | Set the object type | Json (required) |
JsonInputSchemaMapping
Name | Description | Value |
---|---|---|
inputSchemaMappingType | Type of the custom mapping | "Json" (required) |
properties | JSON Properties of the input schema mapping | JsonInputSchemaMappingProperties |
JsonInputSchemaMappingProperties
Name | Description | Value |
---|---|---|
dataVersion | The mapping information for the DataVersion property of the Event Grid Event. | JsonFieldWithDefault |
eventTime | The mapping information for the EventTime property of the Event Grid Event. | JsonField |
eventType | The mapping information for the EventType property of the Event Grid Event. | JsonFieldWithDefault |
id | The mapping information for the Id property of the Event Grid Event. | JsonField |
subject | The mapping information for the Subject property of the Event Grid Event. | JsonFieldWithDefault |
topic | The mapping information for the Topic property of the Event Grid Event. | JsonField |
JsonFieldWithDefault
Name | Description | Value |
---|---|---|
defaultValue | The default value to be used for mapping when a SourceField is not provided or if there's no property with the specified name in the published JSON event payload. | string |
sourceField | Name of a field in the input event schema that's to be used as the source of a mapping. | string |
JsonField
Name | Description | Value |
---|---|---|
sourceField | Name of a field in the input event schema that's to be used as the source of a mapping. | string |
PrivateEndpointConnection
Name | Description | Value |
---|---|---|
properties | Properties of the PrivateEndpointConnection. | PrivateEndpointConnectionProperties |
PrivateEndpointConnectionProperties
Name | Description | Value |
---|---|---|
groupIds | GroupIds from the private link service resource. | string[] |
privateEndpoint | The Private Endpoint resource for this Connection. | PrivateEndpoint |
privateLinkServiceConnectionState | Details about the state of the connection. | ConnectionState |
provisioningState | Provisioning state of the Private Endpoint Connection. | "Canceled" "Creating" "Deleting" "Failed" "Succeeded" "Updating" |
PrivateEndpoint
Name | Description | Value |
---|---|---|
id | The ARM identifier for Private Endpoint. | string |
ConnectionState
Name | Description | Value |
---|---|---|
actionsRequired | Actions required (if any). | string |
description | Description of the connection state. | string |
status | Status of the connection. | "Approved" "Disconnected" "Pending" "Rejected" |
ResourceSku
Name | Description | Value |
---|---|---|
name | The Sku name of the resource. The possible values are: Basic or Premium. | "Basic" "Premium" |