Skip to content

Commit 045a92a

Browse files
authored
Merge pull request #239150 from spelluru/egridupdates0524
Copied Javier's changes
2 parents 928d87b + 556c254 commit 045a92a

10 files changed

+145
-102
lines changed

articles/event-grid/cloud-event-schema.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22
title: CloudEvents v1.0 schema with Azure Event Grid
33
description: Describes how to use the CloudEvents v1.0 schema for events in Azure Event Grid. The service supports events in the JSON implementation of Cloud Events.
44
ms.topic: conceptual
5-
ms.custom: ignite-2022
6-
ms.date: 11/03/2022
5+
ms.date: 05/24/2023
76
---
87

98
# CloudEvents v1.0 schema with Azure Event Grid
109

11-
In addition to its [default event schema](event-schema.md), Azure Event Grid natively supports events in the [JSON implementation of CloudEvents v1.0](https://github.com/cloudevents/spec/blob/v1.0/json-format.md) and [HTTP protocol binding](https://github.com/cloudevents/spec/blob/v1.0/http-protocol-binding.md). [CloudEvents](https://cloudevents.io/) is an [open specification](https://github.com/cloudevents/spec/blob/v1.0/spec.md) for describing event data.
10+
Azure Event Grid natively supports events in the [JSON implementation of CloudEvents v1.0](https://github.com/cloudevents/spec/blob/v1.0/json-format.md) and [HTTP protocol binding](https://github.com/cloudevents/spec/blob/v1.0/http-protocol-binding.md). [CloudEvents](https://cloudevents.io/) is an [open specification](https://github.com/cloudevents/spec/blob/v1.0/spec.md) for describing event data.
1211

1312
CloudEvents simplifies interoperability by providing a common event schema for publishing, and consuming cloud based events. This schema allows for uniform tooling, standard ways of routing & handling events, and universal ways of deserializing the outer event schema. With a common schema, you can more easily integrate work across platforms.
1413

@@ -18,7 +17,7 @@ This article describes CloudEvents schema with Event Grid.
1817

1918
## Sample event using CloudEvents schema
2019

21-
Here is an example of an Azure Blob Storage event in the CloudEvents format:
20+
Here's an example of an Azure Blob Storage event in the CloudEvents format:
2221

2322
```json
2423
{
@@ -51,16 +50,16 @@ The headers values for events delivered in the CloudEvents schema and the Event
5150

5251
## Event Grid for CloudEvents
5352

54-
You can use Event Grid for both input and output of events in CloudEvents schema. You can use CloudEvents for system events, like Blob Storage events and IoT Hub events, and custom events. It can also transform those events on the wire back and forth.
55-
53+
You can use Event Grid for both input and output of events in CloudEvents schema. You can use CloudEvents for system events, like Blob Storage events and IoT Hub events, and custom events. In addition to supporting CloudEvents, Event Grid supports a proprietary, nonextensible, yet fully functional [Event Grid event format](event-schema.md). The following table describes the transformation supported when using CloudEvents and Event Grid formats as an input schema in topics and as an output schema in event subscriptions. An Event Grid output schema can't be used when using CloudEvents as an input schema because CloudEvents supports [extension attributes](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/primer.md#cloudevent-attribute-extensions) that aren't supported by the Event Grid schema.
5654

5755
| Input schema | Output schema
5856
|--------------------|---------------------
5957
| CloudEvents format | CloudEvents format
6058
| Event Grid format | CloudEvents format
6159
| Event Grid format | Event Grid format
6260

63-
For all event schemas, Event Grid requires validation when publishing to an event grid topic and when creating an event subscription. For more information, see [Event Grid security and authentication](security-authentication.md).
61+
62+
For all event schemas, Event Grid requires validation when publishing to an Event Grid topic and when creating an event subscription. For more information, see [Event Grid security and authentication](security-authentication.md).
6463

6564
## Next steps
66-
See [How to use CloudEvents v1.0 schema with Event Grid](cloudevents-schema.md).
65+
See [How to use CloudEvents v1.0 schema with Event Grid](cloudevents-schema.md).

articles/event-grid/concepts-pull-delivery.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22
title: Azure Event Grid concepts (pull delivery)
33
description: Describes Azure Event Grid and its concepts in the pull delivery model. Defines several key components of Event Grid.
44
ms.topic: conceptual
5-
ms.custom: build-2023
6-
ms.date: 04/27/2023
5+
ms.date: 05/24/2023
76
---
87

98
# Azure Event Grid's pull delivery - Concepts
109

11-
This article describes the main concepts in the pull delivery (HTTP) model of Azure Event Grid.
10+
This article describes the main concepts related to the new resource model that uses namespaces.
11+
12+
> [!NOTE]
13+
> For Event Grid concepts related to push delivery exclusively used in custom, system, partner, and domain topics, see this [concepts](concepts.md) article.
1214
1315
## Events
1416

@@ -60,7 +62,7 @@ A Namespace also provides DNS-integrated network endpoints and a range of access
6062

6163
## Throughput units
6264

63-
The capacity of Azure Event Grid namespace is controlled by throughput units (TUs) and allows user to control capacity of their namespace resource for message ingress and egress. See [Azure Event Grid quotas and limits](quotas-limits.md) for more information.
65+
The capacity of Azure Event Grid namespace is controlled by throughput units (TUs) and allows user to control capacity of their namespace resource for message ingress and egress. For more information, see [Azure Event Grid quotas and limits](quotas-limits.md).
6466

6567
## Topics
6668

@@ -76,6 +78,9 @@ Namespace topics support [pull delivery](pull-delivery-overview.md#pull-delivery
7678

7779
A subscription tells Event Grid which events on a namespace topic you're interested in receiving. You can filter the events consumers receive. You can filter by event type or event subject, for example. For more information on resource properties, look for control plane operations in the Event Grid [REST API](/rest/api/eventgrid).
7880

81+
> [!NOTE]
82+
> The event subscriptions under a namespace topic feature a simplified resource model when compared to that used for custom, domain, partner, and system topics. For more information, see Create, view, and managed [event subscriptions](create-view-manage-event-subscriptions.md#simplified-resource-model).
83+
7984
For an example of creating subscriptions for namespace topics, refer to:
8085

8186
- [Publish and consume messages using namespace topics using CLI](publish-events-using-namespace-topics.md)
@@ -89,4 +94,4 @@ For both custom or namespace topics, your application should batch several even
8994
## Next steps
9095

9196
- For an introduction to Event Grid, see [About Event Grid](overview.md).
92-
- To get started using namespace topics, refer to [publish events using namespace topics](publish-events-using-namespace-topics.md).
97+
- To get started using namespace topics, refer to [publish events using namespace topics](publish-events-using-namespace-topics.md).

articles/event-grid/concepts.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
---
22
title: Azure Event Grid concepts (push delivery)
3-
description: Describes Azure Event Grid and its concepts. Defines several key components of Event Grid.
3+
description: Describes Azure Event Grid concepts that pertain to push delivery. Defines several key components of Event Grid.
44
ms.topic: conceptual
5-
ms.custom: build-2023
6-
ms.date: 05/08/2023
5+
ms.date: 05/24/2023
76
---
87

98
# Azure Event Grid's push delivery - concepts
109

11-
This article describes the main concepts in Azure Event Grid.
10+
This article describes the main Event Grid concepts related to push delivery.
11+
12+
> [!NOTE]
13+
> For Event Grid concepts related to the new resource model that uses namespaces, see this [concepts](concepts-pull-delivery.md) article.
1214
1315
## Events
1416

@@ -63,6 +65,9 @@ Partner topics are a kind of topic used to subscribe to events published by a [p
6365

6466
## Event subscriptions
6567

68+
> [!NOTE]
69+
> For information on event subscriptions under a namespace topic see this [concepts](concepts-pull-delivery.md) artcle.
70+
6671
A subscription tells Event Grid which events on a topic you're interested in receiving. When creating a subscription, you provide an endpoint for handling the event. Endpoints can be a webhook or an Azure service resource. You can filter the events that are sent to an endpoint. You can filter by event type or event subject, for example. For more information, see [Event subscriptions](subscribe-through-portal.md) and [CloudEvents schema](cloud-event-schema.md). Event subscriptions for custom, system, and partner topics as well as Domains feature the same resource properties.
6772

6873
For examples of creating subscriptions for custom, system, and partner topics as well as Domains, see:
@@ -108,4 +113,4 @@ Azure availability zones are physically separate locations within each Azure reg
108113
## Next steps
109114

110115
- For an introduction to Event Grid, see [About Event Grid](overview.md).
111-
- To get started using custom topics, see [Create and route custom events with Azure Event Grid](custom-event-quickstart.md).
116+
- To get started using custom topics, see [Create and route custom events with Azure Event Grid](custom-event-quickstart.md).

articles/event-grid/create-view-manage-event-subscriptions.md

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@ title: Create, view, and manage Azure Event Grid event subscriptions in namespac
33
description: This article describes how to create, view and manage event subscriptions in namespace topics
44
author: robece
55
ms.topic: how-to
6-
ms.custom: build-2023
76
ms.author: robece
8-
ms.date: 05/23/2023
7+
ms.date: 05/24/2023
98
---
109

1110
# Create, view, and manage event subscriptions in namespace topics
@@ -74,8 +73,32 @@ ms.date: 05/23/2023
7473

7574
1. To configure the filters associated to the subscription, select **Filters** option in the **Settings** section and add the names of the event types you want to filter in the subscription and add context attribute filters you want to use in the subscription, once you finish the filters configuration select **Save**.
7675

77-
:::image type="content" source="media/create-view-manage-event-subscriptions/event-subscription-settings-filters.png" alt-text="Screenshot showing Event Grid event subscription filters settings.":::
76+
:::image type="content" source="media/create-view-manage-event-subscriptions/event-subscription-settings-filters.png" alt-text="Screenshot showing Event Grid event subscription filters settings." border="false" lightbox="media/create-view-manage-event-subscriptions/event-subscription-settings-filters.png":::
77+
78+
### Simplified resource model
79+
80+
The event subscriptions under a [Namespace Topic](concepts-pull-delivery.md#namespace-topics) feature a simplified filtering configuration model when compared to that of event subscriptions to domains and to custom, system, partner, and domain topics. The filtering capabilities are the same except for the scenarios documented in the following sections.
81+
82+
#### Filter on event data
83+
84+
Filtering on event `data` isn't currently supported. This capability will be available in a future release.
85+
86+
#### Subject begins with
87+
88+
There's no dedicated configuration properties to specify filters on `subject`. You can configure filters in the following way to filter the context attribute `subject` with a value that begins with a string.
89+
90+
| key value | operator | value |
91+
|-----------|:---------:|-----------|
92+
| subject | String begins with | **your string** |
93+
94+
#### Subject ends with
95+
96+
There's no dedicated configuration properties to specify filters on `subject`. You can configure filters in the following way to filter the context attribute `subject` with a value that ends with a string.
97+
98+
| key value | operator | value |
99+
|-----------|:---------:|-----------|
100+
| subject | String ends with | **your string** |
78101

79102
## Next steps
80103

81-
- See the [Publish to namespace topics and consume events](publish-events-using-namespace-topics.md) steps to learn more about how to publish and subscribe events in Azure Event Grid namespaces.
104+
- See the [Publish to namespace topics and consume events](publish-events-using-namespace-topics.md) steps to learn more about how to publish and subscribe events in Azure Event Grid namespaces.

articles/event-grid/event-schema.md

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
---
22
title: Azure Event Grid event schema
3-
description: Describes the properties and schema that are present for all events. Events consist of a set of four required string properties.
3+
description: Describes the properties and schema for the proprietary, nonextensible, yet fully functional Event Grid format.
44
ms.topic: reference
5-
ms.date: 09/15/2021
5+
ms.date: 05/24/2023
66
---
77

88
# Azure Event Grid event schema
99

10-
This article describes the properties and schema that are present for all events. Events consist of a set of four required string properties. The properties are common to all events from any publisher. The data object has properties that are specific to each publisher. For system topics, these properties are specific to the resource provider, such as Azure Storage or Azure Event Hubs.
10+
This article describes the Event Grid schema, which is a proprietary, nonextensible, yet fully functional event format. Event Grid still supports this event format and will continue to support it. However, [CloudEvents](cloud-event-schema.md) is the recommended event format to use. If you're using applications that use the Event Grid format, you may find useful the information in the [CloudEvents] section that describes the transformations between the Event Grid and CloudEvents format supported by Event Grid.
1111

12-
Event sources send events to Azure Event Grid in an array, which can have several event objects. When posting events to an event grid topic, the array can have a total size of up to 1 MB. Each event in the array is limited to 1 MB. If an event or the array is greater than the size limits, you receive the response **413 Payload Too Large**. Operations are charged in 64 KB increments though. So, events over 64 KB will incur operations charges as though they were multiple events. For example, an event that is 130 KB would incur operations as though it were 3 separate events.
12+
This article describes in detail the properties and schema for the Event Grid format. Events consist of a set of four required string properties. The properties are common to all events from any publisher. The data object has properties that are specific to each publisher. For system topics, these properties are specific to the resource provider, such as Azure Storage or Azure Event Hubs.
13+
14+
Event sources send events to Azure Event Grid in an array, which can have several event objects. When posting events to an Event Grid topic, the array can have a total size of up to 1 MB. Each event in the array is limited to 1 MB. If an event or the array is greater than the size limits, you receive the response **413 Payload Too Large**. Operations are charged in 64 KB increments though. So, events over 64 KB incur operations charges as though they were multiple events. For example, an event that is 130 KB would incur operations as though it were three separate events.
1315

1416
Event Grid sends the events to subscribers in an array that has a single event. This behavior may change in the future.
1517

@@ -72,14 +74,14 @@ All events have the same following top-level data:
7274

7375
| Property | Type | Required | Description |
7476
| -------- | ---- | -------- | ----------- |
75-
| topic | string | No, but if included, must match the Event Grid topic Azure Resource Manager ID exactly. If not included, Event Grid will stamp onto the event. | Full resource path to the event source. This field isn't writeable. Event Grid provides this value. |
76-
| subject | string | Yes | Publisher-defined path to the event subject. |
77-
| eventType | string | Yes | One of the registered event types for this event source. |
77+
| `topic` | string | No, but if included, must match the Event Grid topic Azure Resource Manager ID exactly. If not included, Event Grid stamps onto the event. | Full resource path to the event source. This field isn't writeable. Event Grid provides this value. |
78+
| `subject` | string | Yes | Publisher-defined path to the event subject. |
79+
| `eventType` | string | Yes | One of the registered event types for this event source. |
7880
| eventTime | string | Yes | The time the event is generated based on the provider's UTC time. |
79-
| id | string | Yes | Unique identifier for the event. |
80-
| data | object | No | Event data specific to the resource provider. |
81-
| dataVersion | string | No, but will be stamped with an empty value. | The schema version of the data object. The publisher defines the schema version. |
82-
| metadataVersion | string | Not required, but if included, must match the Event Grid Schema `metadataVersion` exactly (currently, only `1`). If not included, Event Grid will stamp onto the event. | The schema version of the event metadata. Event Grid defines the schema of the top-level properties. Event Grid provides this value. |
81+
| `id` | string | Yes | Unique identifier for the event. |
82+
| `data` | object | No | Event data specific to the resource provider. |
83+
| `dataVersion` | string | No, but will be stamped with an empty value. | The schema version of the data object. The publisher defines the schema version. |
84+
| `metadataVersion` | string | Not required, but if included, must match the Event Grid Schema `metadataVersion` exactly (currently, only `1`). If not included, Event Grid stamps onto the event. | The schema version of the event metadata. Event Grid defines the schema of the top-level properties. Event Grid provides this value. |
8385

8486
To learn about the properties in the data object, see the event source:
8587

@@ -101,7 +103,16 @@ When publishing events to custom topics, create subjects for your events that ma
101103

102104
Sometimes your subject needs more detail about what happened. For example, the **Storage Accounts** publisher provides the subject `/blobServices/default/containers/<container-name>/blobs/<file>` when a file is added to a container. A subscriber could filter by the path `/blobServices/default/containers/testcontainer` to get all events for that container but not other containers in the storage account. A subscriber could also filter or route by the suffix `.txt` to only work with text files.
103105

106+
## CloudEvents
107+
CloudEvents is the recommended event format to use. Azure Event Grid continues investing in features related to at least [CloudEvents JSON](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/formats/json-format.md) format. Given the fact that some event sources like Azure services use the Event Grid format, the following table is provided to help you understand the transformation supported when using CloudEvents and Event Grid formats as an input schema in topics and as an output schema in event subscriptions. An Event Grid output schema can't be used when using CloudEvents as an input schema because CloudEvents supports [extension attributes](https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/primer.md#cloudevent-attribute-extensions) that aren't supported by the Event Grid schema.
108+
109+
| Input schema | Output schema
110+
|--------------------|---------------------
111+
| CloudEvents format | CloudEvents format
112+
| Event Grid format | CloudEvents format
113+
| Event Grid format | Event Grid format
114+
104115
## Next steps
105116

106117
* For an introduction to Azure Event Grid, see [What is Event Grid?](overview.md)
107-
* For more information about creating an Azure Event Grid subscription, see [Event Grid subscription schema](subscription-creation-schema.md).
118+
* For more information about creating an Azure Event Grid subscription, see [Event Grid subscription schema](subscription-creation-schema.md).
16.1 KB
Loading

0 commit comments

Comments
 (0)