Partager via


Azure Event Hub en tant que destination de gestionnaire dans les abonnements aux rubriques d’espace de noms Azure Event Grid

Un gestionnaire d’événements désigne l’endroit où l’événement est envoyé. Le gestionnaire effectue une action pour traiter l’événement. Voici la liste des gestionnaires d’événements pris en charge pour les rubriques d’espace de noms :

Utilisez Event Hubs si votre solution reçoit des événements d’Event Grid plus vite qu’elle ne peut les traiter. Une fois que les événements se trouvent dans un concentrateur d’événements, votre application peut traiter ces événements selon sa propre planification. Vous pouvez mettre à l’échelle votre système de traitement des événements de façon à gérer les événements entrants.

En-têtes de message

Vous recevez les propriétés suivantes dans l’en-tête d’un événement ou d’un message envoyé à Event Hubs :

Nom de la propriété Description
aeg-subscription-name Nom de l’abonnement aux événements.
aeg-delivery-count Nombre de tentatives effectuées pour l’événement.
aeg-output-event-id ID d’événement généré par le système.
aeg-compatibility-mode-enabled Cette propriété est disponible et définie uniquement lors de la remise via des espaces de noms Event Grid. Actuellement, la seule valeur possible est faux. Il est destiné à aider les gestionnaires d’événements à distinguer les événements remis via des espaces de noms Event Grid et des rubriques personnalisées, des rubriques système, des espaces de noms partenaires Event Grid, etc.
aeg-metadata-version Version de métadonnées de l’événement. Représente la version de spécification pour le schéma d’événement cloud.

Exemples REST

Abonnement aux événements avec Event Hubs en tant que gestionnaire d’événements à l’aide de l’identité affectée par le système

{
  "properties": {
    "deliveryConfiguration": {
      "deliveryMode": "Push",
      "push": {
        "deliveryWithResourceIdentity": {
          "identity": {
            "type": "SystemAssigned"
          },
          "destination": {
            "endpointType": "EventHub",
            "properties": {
              "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace-name}/eventhubs/{eventhub-name}"
            }
          }
        }
      }
    }
  }
}

Abonnement aux événements avec Event Hubs en tant que gestionnaire d’événements à l’aide de l’identité affectée par l’utilisateur

{
  "properties": {
    "deliveryConfiguration": {
      "deliveryMode": "Push",
      "push": {
        "deliveryWithResourceIdentity": {
          "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-identity-name}"
          },
          "destination": {
            "endpointType": "EventHub",
            "properties": {
              "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace-name}/eventhubs/{eventhub-name}"
            }
          }
        }
      }
    }
  }
}

Abonnement aux événements avec destination de lettre morte configurée sur un gestionnaire d’événements Event Hubs

{
  "properties": {
    "deliveryConfiguration": {
      "deliveryMode": "Push",
      "push": {
        "deliveryWithResourceIdentity": {
          "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-identity-name}"
          },
          "destination": {
            "endpointType": "EventHub",
            "properties": {
              "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace-name}/eventhubs/{eventhub-name}"
            }
          }
        },
        "deadLetterDestinationWithResourceIdentity": {
          "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{user-identity-name}"
          },
          "deadLetterDestination": {
            "endpointType": "StorageBlob",
            "properties": {
              "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}",
              "blobContainerName": "{blob-container-name}"
            }
          }
        }
      }
    }
  }
}

Abonnement aux événements avec propriétés de remise configurées sur un gestionnaire d’événements Event Hubs

{
  "properties": {
    "deliveryConfiguration": {
      "deliveryMode": "Push",
      "push": {
        "deliveryWithResourceIdentity": {
          "identity": {
            "type": "SystemAssigned"
          },
          "destination": {
            "endpointType": "EventHub",
            "properties": {
              "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/{resource-group}/providers/Microsoft.EventHub/namespaces/{namespace-name}/eventhubs/{eventhub-name}",
              "deliveryAttributeMappings": [
                {
                  "name": "somestaticname",
                  "type": "Static",
                  "properties": {
                    "value": "somestaticvalue"
                  }
                },
                {
                  "name": "somedynamicname",
                  "type": "Dynamic",
                  "properties": {
                    "sourceField": "subject"
                  }
                }
              ]
            }
          }
        }
      }
    }
  }
}

Propriétés de remise spécifiques à Event Hubs

Les abonnements aux événements vous permettent de définir des en-têtes HTTP qui sont inclus dans les événements remis. Cette fonctionnalité vous permet de définir des en-têtes personnalisés dont la destination a besoin. Vous pouvez définir des en-têtes personnalisés sur les événements remis à Azure Event Hubs.

Si vous devez publier des événements dans une partition spécifique au sein d’un Event Hub, définissez une propriété PartitionKey sur votre abonnement aux événements pour spécifier la clé de partition qui identifie la partition Event Hub cible.

Nom de l’en-tête Type d’en-tête
PartitionKey Statique ou dynamique

Pour plus d’informations, consultez Propriétés de remise personnalisées sur les espaces de noms.

Portail Azure

Quand vous créez un abonnement aux événements avec le mode de livraison d’événements défini sur Push, vous pouvez sélectionner Event Hubs comme type de gestionnaire d’événements et configurer un hub d’événements comme gestionnaire.

Capture d’écran montrant la page Créer un abonnement avec l’option Envoyer sélectionnée pour le mode de livraison.

Pour obtenir des instructions pas à pas, consultez Utiliser Event Hubs comme destination des rubriques d’espace de noms.

Azure CLI

Pour obtenir des instructions pas à pas, consultez Configurer Event Hubs comme destination.

Étapes suivantes