az eventgrid topic

Manage Azure Event Grid topics.

Commands

az eventgrid topic create

Create a topic.

az eventgrid topic delete

Delete a topic.

az eventgrid topic key

Manage shared access keys of a topic.

az eventgrid topic key list

List shared access keys of a topic.

az eventgrid topic key regenerate

Regenerate a shared access key of a topic.

az eventgrid topic list

List available topics.

az eventgrid topic private-endpoint-connection

Manage private endpoint connections of a topic.

az eventgrid topic private-endpoint-connection approve

Approve a private endpoint connection request for a topic.

az eventgrid topic private-endpoint-connection delete

Delete a private endpoint connection for a topic.

az eventgrid topic private-endpoint-connection list

List the properties of all the private endpoint connections for a topic.

az eventgrid topic private-endpoint-connection reject

Reject a private endpoint connection request for a topic.

az eventgrid topic private-endpoint-connection show

Display the properties of a private endpoint connection for a topic.

az eventgrid topic private-link-resource

Manage private link resource of a topic.

az eventgrid topic private-link-resource list

List the properties of all the private link resources for a topic.

az eventgrid topic private-link-resource show

Display the properties of a private link resource for a topic.

az eventgrid topic show

Get the details of a topic.

az eventgrid topic update

Update a topic.

az eventgrid topic create

Create a topic.

az eventgrid topic create --name
                          --resource-group
                          [--extended-location-name]
                          [--extended-location-type {customlocation}]
                          [--identity {noidentity, systemassigned}]
                          [--inbound-ip-rules]
                          [--input-mapping-default-values]
                          [--input-mapping-fields]
                          [--input-schema {cloudeventschemav1_0, customeventschema, eventgridschema}]
                          [--kind {azure, azurearc}]
                          [--location]
                          [--mi-system-assigned]
                          [--mi-user-assigned]
                          [--public-network-access {disabled, enabled}]
                          [--sku {basic, premium}]
                          [--tags]

Examples

Create a new topic.

az eventgrid topic create -g rg1 --name topic1 -l westus2

Create a new topic with custom input mappings.

az eventgrid topic create -g rg1 --name topic1 -l westus2 --input-schema customeventschema --input-mapping-fields topic=myTopicField eventType=myEventTypeField --input-mapping-default-values subject=DefaultSubject dataVersion=1.0

Create a new topic that accepts events published in CloudEvents V1.0 schema.

az eventgrid topic create -g rg1 --name topic1 -l westus2 --input-schema cloudeventschemav1_0

Create a new topic which allows specific inbound ip rules with Basic Sku and system assigned identity

az eventgrid topic create -g rg1 --name topic1 -l westus2 --public-network-access enabled --inbound-ip-rules 10.0.0.0/8 Allow --inbound-ip-rules 10.2.0.0/8 Allow --sku Basic --identity systemassigned

Create a new topic in Azure.

az eventgrid topic create -g rg1 --name topic1 -l westus2

Create a new topic in Azure.

az eventgrid topic create -g rg1 --name topic1 -l westus2 --kind azure

Create a new topic in AzureArc targeting a custom location.

az eventgrid topic create -g rg1 --name topic1 -l eastus2euap --kind azurearc --extended-location-name /subscriptions/<subid>/resourcegroups/<rgname>/providers/microsoft.extendedlocation/customlocations/<cust-loc-name> --extended-location-type customlocation --input-schema CloudEventSchemaV1_0

Required Parameters

--name -n

Name of the topic.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

Optional Parameters

--extended-location-name

The extended location name if kind==azurearc.

--extended-location-type

The extended location type if kind==azurearc.

accepted values: customlocation
--identity

The managed identity type for the resource. Will be deprecated and replaced by --mi-system-assigned-identity in future.

accepted values: noidentity, systemassigned
--inbound-ip-rules

List of inbound IP rules.

--input-mapping-default-values

When input-schema is specified as customeventschema, this parameter can be used to specify input mappings based on default values. You can use this parameter when your custom schema does not include a field that corresponds to one of the three fields supported by this parameter. Specify space separated mappings in 'key=value' format. Allowed key names are 'subject', 'eventtype', 'dataversion'. The corresponding value names should specify the default values to be used for the mapping and they will be used only when the published event doesn't have a valid mapping for a particular field.

--input-mapping-fields

When input-schema is specified as customeventschema, this parameter is used to specify input mappings based on field names. Specify space separated mappings in 'key=value' format. Allowed key names are 'id', 'topic', 'eventtime', 'subject', 'eventtype', 'dataversion'. The corresponding value names should specify the names of the fields in the custom input schema. If a mapping for either 'id' or 'eventtime' is not provided, Event Grid will auto-generate a default value for these two fields.

--input-schema

Schema in which incoming events will be published to this topic/domain. If you specify customeventschema as the value for this parameter, you must also provide values for at least one of --input_mapping_default_values / --input_mapping_fields.

accepted values: cloudeventschemav1_0, customeventschema, eventgridschema
default value: eventgridschema
--kind

The kind of topic resource.

accepted values: azure, azurearc
default value: Azure
--location -l

Location. Values from: az account list-locations. You can configure the default location using az configure --defaults location=<location>.

--mi-system-assigned

Presence of this param indicates that SystemAssigned managed identity will be used.

--mi-user-assigned

Add user assigned identities when identityType is user or mixed. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --mi-user-assigned argument.

--public-network-access

This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring.

accepted values: disabled, enabled
--sku

The Sku name of the resource.

accepted values: basic, premium
default value: Basic
--tags

Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags.

az eventgrid topic delete

Delete a topic.

az eventgrid topic delete [--ids]
                          [--name]
                          [--resource-group]

Examples

Delete a topic.

az eventgrid topic delete -g rg1 --name topic1

Optional Parameters

--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

--name -n

Name of the topic.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

az eventgrid topic list

List available topics.

az eventgrid topic list [--odata-query]
                        [--resource-group]

Examples

List all topics in the current Azure subscription.

az eventgrid topic list

List all topics in a resource group.

az eventgrid topic list -g rg1

List all topics in a resource group whose name contains the pattern "XYZ"

az eventgrid topic list -g rg1 --odata-query "Contains(name, 'XYZ')"

List all topics in a resource group except the domain with name "name1"

az eventgrid topic list -g rg1 --odata-query "NOT (name eq 'name1')"

Optional Parameters

--odata-query

The OData query used for filtering the list results. Filtering is currently allowed on the Name property only. The supported operations include: CONTAINS, eq (for equal), ne (for not equal), AND, OR and NOT.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

az eventgrid topic show

Get the details of a topic.

az eventgrid topic show [--ids]
                        [--name]
                        [--resource-group]

Examples

Show the details of a topic.

az eventgrid topic show -g rg1 -n topic1

Show the details of a topic based on resource ID.

az eventgrid topic show --ids /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/topics/topic1

Optional Parameters

--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

--name -n

Name of the topic.

--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

az eventgrid topic update

Update a topic.

az eventgrid topic update [--identity {noidentity, systemassigned}]
                          [--ids]
                          [--inbound-ip-rules]
                          [--mi-system-assigned]
                          [--mi-user-assigned]
                          [--name]
                          [--public-network-access {disabled, enabled}]
                          [--resource-group]
                          [--sku {basic, premium}]
                          [--tags]

Examples

Update the properties of an existing topic with new sku, identity and public network access information.

az eventgrid topic update -g rg1 --name topic1 --sku Premium --identity systemassigned --public-network-access enabled --inbound-ip-rules 10.0.0.0/8 Allow --inbound-ip-rules 10.2.0.0/8 Allow --tags Dept=IT --sku basic

Optional Parameters

--identity

The managed identity type for the resource. Will be deprecated and replaced by --mi-system-assigned-identity in future.

accepted values: noidentity, systemassigned
--ids

One or more resource IDs (space-delimited). It should be a complete resource ID containing all information of 'Resource Id' arguments. You should provide either --ids or other 'Resource Id' arguments.

--inbound-ip-rules

List of inbound IP rules specifying IP Address in CIDR notation e.g., 10.0.0.0/8 along with corresponding Action to perform based on the match or no match of the IpMask.

--mi-system-assigned

Presence of this param indicates that SystemAssigned managed identity will be used.

--mi-user-assigned

Add user assigned identities when identityType is user or mixed. This attribute is valid for all destination types except StorageQueue. Multiple attributes can be specified by using more than one --mi-user-assigned argument.

--name -n

Name of the topic.

--public-network-access

This determines if traffic is allowed over public network. By default it is enabled. You can further restrict to specific IPs by configuring.

accepted values: disabled, enabled
--resource-group -g

Name of resource group. You can configure the default group using az configure --defaults group=<name>.

--sku

The Sku name of the resource.

accepted values: basic, premium
--tags

Space-separated tags: key[=value] [key[=value] ...]. Use "" to clear existing tags.