Domaines d’événements dans Azure Event Grid

Un domaine d’événement dans Azure Event Grid fournit un point de terminaison de publication unique pour des milliers de rubriques individuelles liées à la même application. Vous pouvez considérer un domaine d’événement comme une méta-rubrique qui contient de nombreuses rubriques individuelles. Lors de la publication d’un événement, l’éditeur doit spécifier la rubrique cible dans le domaine d’événement dans lequel il souhaite publier. L’éditeur peut envoyer un tableau ou un lot d’événements où les événements sont envoyés à différentes rubriques dans le domaine d’événements. Pour plus d’informations, consultez Publication dans un domaine d’événements.

Les domaines d’événements vous donnent également le contrôle sur l’authentification et l’autorisation sur chaque rubrique pour que vous puissiez partitionner vos locataires. Cet article décrit comment utiliser les domaines d’événements pour gérer le flux d’événements personnalisés vers vos organisations, clients ou applications. Utilisez des domaines d’événements pour effectuer les opérations suivantes :

  • Gérer des architectures multitenant à grande échelle pilotées par des événements.
  • Gérer les authentifications et les autorisations.
  • Partitionner les sujets sans avoir à les gérer de façon individuelle.
  • Évitez de publier individuellement vers chacun de vos points de terminaison de rubrique.

Exemple de cas d’usage du domaine des événements

Il est plus simple de partir d’un exemple pour expliquer les domaines d’événements. Supposez que votre société, Contoso Construction Machinery, produit des tracteurs, du matériel d’excavation et autres machineries lourdes. Dans le cadre de la gestion de votre entreprise, vous envoyez des informations en temps réel à vos clients sur la maintenance des machines, l’état des systèmes et les mises à jour de vos contrats. Toutes ces informations sont envoyées vers différents points de terminaison, notamment votre application, des points de terminaison clients ou une autre infrastructure mise en place par vos clients.

Les domaines d’événements vous permettent de modéliser Contoso Construction Machinery en une unique entité Event Grid. Chacun de vos clients est représenté en tant que rubrique au sein du domaine. L'authentification et l'autorisation sont gérées à l'aide de Microsoft Entra ID. Chacun de vos clients peut s’abonner à sa rubrique et recevoir ses événements. L’accès géré via le domaine d’événements garantit qu’ils n’ont accès qu’à leur rubrique.

Il vous donne également un point de terminaison unique, dans lequel vous pouvez publier l’ensemble des événements du client. Event Grid veille à ce que chaque rubrique prenne uniquement en compte les événements qui concernent son abonné.

Image montrant un exemple de cas d’usage des domaines Event Grid.

Gestion des accès pour les domaines d’événements

Les domaines d’événements fournissent un contrôle d’autorisation et d’authentification précis sur chaque rubrique via Azure contrôle d’accès en fonction du rôle (Azure RBAC). Utilisez les rôles Azure RBAC pour restreindre chaque locataire de votre application aux seuls sujets auxquels vous souhaitez leur accorder l’accès. Azure RBAC dans les domaines d’événements fonctionne de la même façon que le contrôle d’accès géré dans le reste d’Event Grid et d’Azure. Utilisez Azure RBAC pour créer et appliquer des définitions de rôles personnalisés dans des domaines d’événements.

Rôles intégrés pour les domaines d’événements

Event Grid a deux définitions de rôle intégrées qui facilitent Azure RBAC pour l’utilisation des domaines d’événements :

  • Contributeur de l'abonnement aux événements EventGrid
  • Lecteur des abonnements aux événements Event Grid

Attribuez ces rôles aux utilisateurs qui doivent s’abonner aux rubriques de votre domaine d’événements. Limitez chaque attribution de rôle à la rubrique à laquelle l’utilisateur doit s’abonner. Pour plus d’informations sur ces rôles, voir Rôles intégrés pour Event Grid.

S’abonner à des rubriques dans un domaine d’événement

S’abonner aux événements d’une rubrique dans un domaine d’événements est équivalent à créer un abonnement à un événement dans une rubrique personnalisée ou à s’abonner à un événement d’un service Azure.

Important

Une rubrique de domaine est une ressource gérée automatiquement dans Event Grid. Vous pouvez créer un abonnement aux événements à l’échelle du domaine sans créer au préalable la rubrique du domaine. Dans ce cas, Event Grid crée automatiquement la rubrique de domaine en votre nom. Vous pouvez également choisir de créer la rubrique de domaine manuellement. Ce comportement réduit le nombre de ressources que vous devez gérer lors de l’utilisation d’un grand nombre de rubriques de domaine. Lorsque le dernier abonnement à une rubrique de domaine est supprimé, la rubrique de domaine est également supprimée, que la rubrique de domaine ait été créée manuellement ou automatiquement.

Abonnements au niveau du domaine

Les domaines d’événements prennent également en charge les abonnements à l’étendue du domaine. Un abonnement aux événements dans l’étendue du domaine d’événement reçoit tous les événements envoyés au domaine d’événement, quelle que soit la rubrique à laquelle les événements sont envoyés. Les abonnements à l’étendue du domaine sont utiles pour les scénarios de gestion et d’audit.

Publier dans un domaine d’événements

Lorsque vous créez un domaine d’événement, Event Grid fournit un point de terminaison de publication similaire au point de terminaison d’une rubrique personnalisée. Pour publier des événements sur n’importe quelle rubrique d’un domaine d’événement, envoyez les événements au point de terminaison du domaine d’événement de la même façon que vous le feriez pour une rubrique personnalisée. La seule différence est que vous devez spécifier la rubrique à laquelle l’événement doit être remis. Par exemple, la publication du tableau d’événements suivant envoie l’événement avec "id": "1111" au sujet foo et l’événement avec "id": "2222" au sujet bar.

Remarque

Les domaines d’événements ne prennent pas en charge les scénarios de diffusion où un événement est envoyé à un domaine d’événement et chaque rubrique du domaine reçoit une copie de l’événement. Lors de la publication d’événements, l’éditeur doit spécifier la rubrique cible dans le domaine d’événements dans lequel il souhaite publier. Pour publier la même charge utile d’événement sur plusieurs rubriques dans le domaine d’événements, l’éditeur doit dupliquer la charge utile d’événement, modifier le nom de la rubrique pour chaque copie et les publier sur Event Grid à l’aide du point de terminaison du domaine d’événement, individuellement ou en tant que lot.

Lorsque vous utilisez le schéma d’événement cloud, spécifiez le nom de la rubrique Event Grid dans le domaine d’événement comme valeur de la source propriété. Dans l’exemple suivant, la source propriété est définie foo sur le premier événement et bar sur le deuxième événement.

Pour utiliser un autre champ pour spécifier la rubrique cible dans le domaine d’événements, configurez le mappage de schéma d’entrée lors de la création du domaine d’événement. Pour l’API REST, utilisez la propriété properties.inputSchemaMapping pour mapper ce champ à properties.topic. Pour le sdk .NET, utilisez EventGridJsonInputSchemaMapping. D’autres kits SDK prennent également en charge le mappage de schéma.

[{
  "source": "foo",
  "id": "1111",
  "type": "maintenanceRequested",
  "subject": "myapp/vehicles/diggers",
  "time": "2018-10-30T21:03:07+00:00",
  "data": {
    "make": "Contoso",
    "model": "Small Digger"
  },
  "specversion": "1.0"
},
{
  "source": "bar",
  "id": "2222",
  "type": "maintenanceCompleted",
  "subject": "myapp/vehicles/tractors",
  "time": "2018-10-30T21:04:12+00:00",
  "data": {
    "make": "Contoso",
    "model": "Big Tractor"
  },
  "specversion": "1.0"
}]

Les domaines d’événements gèrent la publication des rubriques à votre place. Au lieu de publier des événements sur chaque rubrique individuellement, vous publiez tous les événements sur le point de terminaison du domaine d’événement et Event Grid achemine chaque événement vers la rubrique appropriée.

Tarification du domaine d’événement

Les domaines d’événements utilisent la même tarification des opérations que d’autres fonctionnalités dans Event Grid. Les opérations fonctionnent de la même façon dans les domaines d’événements que dans les rubriques personnalisées :

  • Chaque entrée d’un événement vers un domaine d’événement est une opération.
  • Chaque tentative de livraison d’un événement constitue une opération.

Pour découvrir comment configurer des domaines d’événements, créer des rubriques, créer des abonnements à des événements et publier des événements, voir Gérer les domaines d’événements.