Partage de flux avec Pub/Sub

Vous pouvez partager des sujets Pub/Sub via Analytics Hub pour organiser et distribuer une bibliothèque de flux de données à travers plusieurs limites organisationnelles internes et externes. Les flux de données en temps réel sont partagés à l'aide d'échanges et de fiches Analytics Hub, ce qui vous permet de classer et de regrouper logiquement de grands ensembles de sujets Pub/Sub, et de provisionner l'accès à grande échelle.

Vous pouvez partager des flux de données pour effectuer les opérations suivantes:

  • Services financiers:
    • Partager en temps réel les prix des instruments, les devis et les commandes évoluant rapidement
    • Détecter le blanchiment d'argent et la fraude de paiement
    • Permettre les calculs des risques liés aux transactions
  • Commerce de détail et produits de grande consommation (PGC).
    • Aider les magasins à gérer l'inventaire en temps réel
    • Personnaliser le marketing et le service client
    • Ajuster les prix de manière dynamique
    • Surveiller les comptes de réseaux sociaux
    • Optimiser l'agencement des magasins physiques
  • Santé:
    • Optimiser des algorithmes prédictifs pour surveiller les patients et analyser les risques en temps réel
    • Surveiller les données vitales avec des appareils médicaux connectés
    • Acquisition, structuration, stockage et traitement automatiques des données des patients, des professionnels de santé et de l'administration des installations
  • Télécommunications:
    • Examiner l'état du réseau et prédire les défaillances
    • Découvrir les modèles de comportement des utilisateurs pour mieux localiser les appareils et les antennes

Rôles

Les rôles permettant de partager des sujets Pub/Sub sont analogues au partage des ensembles de données BigQuery:

Architecture

Le schéma suivant montre comment les éditeurs et les abonnés aux ressources Pub/Sub interagissent avec Analytics Hub:

Interaction entre les éditeurs Analytics Hub et Analytics Hub.
Figure 1. Workflow pour les éditeurs et les abonnés Analytics Hub avec des sujets Pub/Sub.

Sujets partagés

Un sujet partagé est l'unité de partage d'un sujet Pub/Sub dans Analytics Hub. En tant qu'éditeur, vous créez ou utilisez un sujet Pub/Sub existant pour distribuer les données de message à vos abonnés. Analytics Hub ne réplique pas le sujet Pub/Sub source.

Fiches

Une fiche est créée lorsqu'un éditeur ajoute un sujet partagé à un échange. Elle contient une référence au sujet partagé.

Échanges

Un échange est un regroupement logique de fiches faisant référence à des sujets partagés.

Abonnements Pub/Sub associés

Lors de l'abonnement à une fiche avec un sujet partagé, un abonnement Pub/Sub associé est créé dans le projet d'abonné. Un abonnement Pub/Sub est également représenté dans le projet Éditeur comme un abonnement Pub/Sub et un abonnement à une fiche Analytics Hub.

Limites

Le partage de flux avec Pub/Sub présente les limites suivantes:

  • Un sujet partagé peut compter jusqu'à 10 000 abonnements Pub/Sub. Cette limite inclut les abonnements Pub/Sub associés et les abonnements Pub/Sub créés en dehors d'Analytics Hub (par exemple, les abonnements créés directement à partir de Pub/Sub).
  • Les sujets partagés sont indexés dans Data Catalog, mais vous ne pouvez pas filtrer spécifiquement son type de ressource.
  • Les métriques d'utilisation ne sont pas capturées pour les abonnements Pub/Sub associés dans Analytics Hub. Vous pouvez consulter les métriques d'utilisation dans Pub/Sub.

Activer l'API Analytics Hub

Pour activer l'API Analytics Hub, procédez comme suit :

Console

Accédez à la bibliothèque d'API et activez l'API Analytics Hub pour votre projet Google Cloud.

Activer l'API Analytics Hub

gcloud

Exécutez la commande gcloud services enable :

gcloud services enable analyticshub.googleapis.com

Activer l'API Pub/Sub

Accédez à la bibliothèque d'API et activez l'API Pub/Sub pour votre projet Google Cloud.

Activez l'API Pub/Sub

Workflows des éditeurs

En tant qu'éditeur Analytics Hub, vous pouvez effectuer les opérations suivantes:

  • Ajouter des sujets partagés à un échange en créant une fiche
  • Mettre à jour une fiche
  • Supprimer une fiche
  • Partager une fiche
  • Gérer les abonnements à votre fiche
  • Supprimer des abonnés de votre fiche

Autorisations d'éditeur supplémentaires

Pour effectuer des tâches d'éditeur, vous devez disposer du rôle Éditeur Analytics Hub (roles/analyticshub.publisher) sur un échange ou une fiche. Pour afficher tous les échanges de données entre les projets d'une organisation à laquelle vous avez accès, vous devez disposer de l'autorisation resourcemanager.organizations.get.

En outre, vous devez disposer de l'autorisation pubsub.topics.setIamPolicy sur le sujet Pub/Sub que vous souhaitez lister. Pour partager des sujets avec un schéma associé, vous devez accorder aux abonnés Analytics Hub l'autorisation pubsub.schemas.get sur le schéma associé au sujet. Cela permet aux abonnés Analytics Hub d'analyser correctement les messages de l'abonnement Pub/Sub.

Créer une fiche (pour ajouter un sujet partagé)

Pour ajouter un sujet partagé à une fiche, sélectionnez l'une des options suivantes:

Console

  1. Accédez à la page Analytics Hub.

    Accéder à Analytics Hub

    Une page qui répertorie tous les échanges de données auxquels vous pouvez accéder s'affiche.

  2. Cliquez sur le nom de l'échange de données dans lequel vous souhaitez créer la fiche.

  3. Cliquez sur Créer une fiche.

  4. Sur la page Créer une fiche, sélectionnez Sujet Pub/Sub dans la liste déroulante Type de ressource.

  5. Sélectionnez un sujet Pub/Sub existant dans la liste déroulante Sujet partagé ou cliquez sur Créer un sujet.

  6. Sur la page Détails de la liste, dans Nom à afficher, saisissez le nom de la fiche.

  7. Saisissez les informations facultatives suivantes:

    • Catégorie : sélectionnez jusqu'à deux catégories qui représentent le mieux votre fiche. Les abonnés peuvent filtrer les fiches en fonction de ces catégories.

    • Affinité des données: région(s) utilisée par l'éditeur pour publier les données. Ces informations sont utiles pour les abonnés afin de réduire ou d'éviter les coûts de sortie réseau Pub/Sub en lisant les données depuis la même région. Pour en savoir plus sur les coûts de sortie, consultez Coûts de transfert de données.

    • Icône : icône pour votre fiche. Les formats de fichiers PNG et JPEG sont acceptés. Les icônes doivent avoir une taille de fichier inférieure à 512 KiB et des dimensions ne dépassant pas 512 x 512 pixels.

    • Description : brève description de votre fiche. Les abonnés peuvent rechercher des fiches en fonction de la description.

    • Visibilité publique: activez la visibilité publique de votre fiche dans le catalogue Analytics Hub. Vous devez également définir des autorisations pour la fiche. Cliquez sur Actions dans l'échange, puis sur Définir des autorisations. Attribuez à allUsers ou allAuthenticatedusers au rôle Lecteur Analytics Hub. Cliquez sur Autoriser l'accès public.

    • Documentation > Markdown: informations supplémentaires telles que des liens vers la documentation pertinente et toute information supplémentaire pouvant aider les abonnés à utiliser votre sujet.

  8. Sur la page Informations de contact de la liste, saisissez les informations facultatives suivantes:

    • Contact principal : saisissez une adresse e-mail ou une URL du contact principal pour la fiche.

    • Contact pour demander l'accès: saisissez une adresse e-mail ou une URL du formulaire de participation pour que les abonnés puissent vous contacter.

    • Fournisseur : développez la section Fournisseur et spécifiez les détails dans les champs suivants :

      • Nom du fournisseur : nom du fournisseur du sujet.
      • Contact principal du fournisseur : adresse e-mail ou URL du contact principal du fournisseur du sujet.

      Les abonnés peuvent filtrer les fiches en fonction des fournisseurs de données.

    • Éditeur : développez la section Éditeur et spécifiez les détails dans les champs suivants :

      • Nom de l'éditeur : nom de l'éditeur qui crée la fiche.
      • Contact principal de l'éditeur : adresse e-mail ou URL du contact principal de l'éditeur du sujet.
  9. Consultez la page Aperçu de la fiche.

  10. Cliquez sur Publier.

API

Exécutez la méthode projects.locations.dataExchanges.listings.create.

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings?listingId=LISTING_ID

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet contenant l'échange de données dans lequel vous souhaitez créer la liste.
  • LOCATION : emplacement de votre échange de données. Pour en savoir plus sur les emplacements compatibles avec Analytics Hub, consultez la page Régions compatibles.
  • DATAEXCHANGE_ID : ID de l'échange de données
  • LISTING_ID : ID de la liste.

Dans le corps de la requête, indiquez les informations détaillées sur la fiche. Si la requête aboutit, le corps de la réponse contient des détails de la fiche.

Pour plus d'informations sur les tâches que vous pouvez effectuer sur des listes à l'aide des API, consultez la documentation sur les méthodes projects.locations.dataExchanges.listings.

Mettre à jour une fiche

Pour créer une fiche, choisissez l'une des options suivantes :

Console

  1. Accédez à la page Analytics Hub.

    Accéder à Analytics Hub

  2. Cliquez sur le nom de l'échange de données contenant la fiche.

  3. Cliquez sur la fiche que vous souhaitez mettre à jour.

  4. Cliquez sur Modifier la fiche.

  5. Modifiez les valeurs des champs. Vous pouvez modifier toutes les valeurs, sauf le sujet partagé de la fiche.

  6. Pour enregistrer les modifications, cliquez sur Publier.

API

Exécutez la méthode projects.locations.dataExchanges.listings.patch.

PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID?updateMask=UPDATEMASK

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet contenant l'échange de données dans lequel vous souhaitez créer la liste.
  • LOCATION : emplacement de votre échange de données. Pour en savoir plus sur les emplacements compatibles avec Analytics Hub, consultez la page Régions compatibles.
  • DATAEXCHANGE_ID : ID de l'échange de données
  • LISTING_ID : ID de la liste.
  • UPDATEMASK: liste des champs que vous souhaitez mettre à jour. Pour mettre à jour plusieurs valeurs, utilisez une liste d'éléments séparés par une virgule.

Dans le corps de la requête, spécifiez les valeurs mises à jour.

Pour plus d'informations sur les tâches que vous pouvez effectuer sur des listes à l'aide des API, consultez la documentation sur les méthodes projects.locations.dataExchanges.listings.

Supprimer une fiche

Les fiches comportant des sujets Pub/Sub partagés ne peuvent pas être supprimées avec des abonnements actifs. Révoquez tous les abonnements actifs avant d'essayer de supprimer une fiche de sujet partagée. Une fois qu'une fiche est supprimée, vous ne pouvez pas annuler la suppression. Pour supprimer une fiche, sélectionnez l'une des options suivantes :

Console

  1. Accédez à la page Analytics Hub.

    Accéder à Analytics Hub

  2. Cliquez sur le nom de l'échange de données contenant la fiche.

  3. Cliquez sur la fiche que vous souhaitez supprimer.

  4. Cliquez sur Supprimer.

  5. Dans la boîte de dialogue Supprimer la fiche ?, confirmez la suppression en saisissant delete.

  6. Cliquez sur Supprimer.

API

Exécutez la méthode projects.locations.dataExchanges.listings.delete.

DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet contenant l'échange de données dans lequel vous souhaitez créer la liste.
  • LOCATION : emplacement de votre échange de données. Pour en savoir plus sur les emplacements compatibles avec Analytics Hub, consultez la page Régions compatibles.
  • DATAEXCHANGE_ID : ID de l'échange de données
  • LISTING_ID : ID de la liste.

Pour plus d'informations sur les tâches que vous pouvez effectuer sur des listes à l'aide des API, consultez la documentation sur les méthodes projects.locations.dataExchanges.listings.

Partager une fiche

Si vous souhaitez autoriser des utilisateurs à accéder à une fiche privée, vous devez définir une stratégie IAM pour une personne ou un groupe associé à cette fiche. Pour une fiche commerciale, votre échange de données doit être public. Les fiches d'un échange de données public apparaissent dans Analytics Hub pour tous les utilisateurs Google Cloud (allAuthenticatedUsers). Pour permettre aux utilisateurs de demander l'accès à des fiches commerciales, vous devez leur attribuer le rôle Lecteur Analytics Hub.

Pour permettre aux utilisateurs d'afficher votre fiche ou de s'y abonner, procédez comme suit:

  1. Accédez à la page Analytics Hub.

    Accéder à Analytics Hub

  2. Cliquez sur le nom de l'échange de données contenant la fiche.

  3. Cliquez sur la fiche pour laquelle vous souhaitez ajouter des abonnés.

  4. Cliquez sur  Définir les autorisations.

  5. Pour ajouter des comptes principaux, cliquez sur  Ajouter un compte principal.

  6. Dans le champ Nouveaux comptes principaux, ajoutez les informations suivantes en fonction du type de fiche :

    • Pour une fiche privée, saisissez les adresses e-mail de l'identité à laquelle vous souhaitez accorder l'accès.
    • Pour une fiche publique, ajoutez allAuthenticatedUsers.
  7. Pour Select a role (Sélectionner un rôle), maintenez le pointeur sur Analytics Hub, puis en fonction du type de fiche, sélectionnez l'un des rôles suivants :

  8. Cliquez sur Enregistrer.

Pour en savoir plus, consultez la section Rôles d'abonné et de lecteur Analytics Hub.

Gérer les abonnements

Pour permettre à un utilisateur de s'abonner à une fiche avec un sujet partagé, accordez-lui les rôles abonné Analytics Hub (roles/analyticshub.subscriber) et propriétaire d'abonnement Analytics Hub (roles/analyticshub.subscriptionOwner) sur une fiche spécifique:

  1. Accédez à la page Analytics Hub.

    Accéder à Analytics Hub

  2. Cliquez sur le nom de l'échange de données contenant la fiche pour laquelle vous souhaitez gérer les abonnements.

  3. Cliquez sur la fiche pour laquelle vous souhaitez répertorier tous les abonnés.

  4. Cliquez sur  Définir les autorisations.

  5. Pour ajouter des comptes principaux, cliquez sur  Ajouter un compte principal.

  6. Dans le champ Nouveaux comptes principaux, saisissez les noms d'utilisateur ou les adresses e-mail des abonnés que vous souhaitez ajouter.

  7. Pour Sélectionner un rôle, sélectionnez Analytics Hub > Abonné Analytics Hub.

  8. Cliquez sur Ajouter un autre rôle.

  9. Pour Sélectionner un rôle, sélectionnez Analytics Hub > Propriétaire d'abonnement Analytics Hub.

  10. Cliquez sur Enregistrer.

Vous pouvez supprimer et mettre à jour des abonnés à tout moment en cliquant sur Définir des autorisations.

Révoquer un abonnement

Pour supprimer un abonnement à une liste de sujets partagée dans Analytics Hub, sélectionnez l'une des options suivantes:

Console

  1. Pour répertorier tous les abonnés d'une fiche, suivez les instructions de la console Google Cloud dans Afficher tous les abonnements.

  2. Cliquez sur l'onglet Abonnements pour afficher tous les abonnements de l'échange de données.

  3. Cochez la case à côté des abonnements que vous souhaitez supprimer ou sélectionnez tous les abonnements.

  4. Dans la boîte de dialogue Résilier l'abonnement ?, saisissez "révoquer" pour confirmer.

  5. Cliquez sur Révoquer.

API

Pour retirer un abonnement, utilisez la méthode projects.locations.subscriptions.revoke.

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/subscriptions/SUBSCRIPTION_ID:revoke

Remplacez les éléments suivants :

  • PROJECT_ID : ID de projet de l'abonnement que vous souhaitez supprimer.
  • LOCATION : emplacement de l'abonnement.
  • SUBSCRIPTION_ID : ID de l'abonnement que vous souhaitez supprimer.

Si vous révoquez un abonnement Analytics Hub, un abonné ne reçoit plus les données des messages du sujet partagé. L'abonnement Pub/Sub est dissocié du sujet partagé. Si un abonnement est supprimé directement de Pub/Sub, l'abonnement Analytics Hub est conservé et doit être nettoyé.

Workflows des abonnés

En tant qu'abonné Analytics Hub, vous pouvez afficher une fiche et vous y abonner. L'abonnement à une liste d'un sujet partagé crée un abonnement Pub/Sub associé dans le projet de l'abonné. L'abonnement Pub/Sub sera visible dans le projet de l'éditeur.

Autorisations supplémentaires d'abonné

Vous devez disposer du rôle Abonné Analytics Hub (roles/analyticshub.subscriber) au niveau du projet, de l'échange ou de la fiche pour pouvoir effectuer des tâches d'abonné.

S'abonner à une fiche de sujet partagé

Pour vous abonner à une fiche avec un sujet partagé, sélectionnez l'une des options suivantes:

Console

  1. Pour afficher une liste des fiches auxquelles vous avez accès, suivez les étapes décrites dans la section Afficher les fiches.

  2. Parcourez les fiches et cliquez sur une fiche à laquelle vous souhaitez vous abonner. Une boîte de dialogue contenant les détails de la fiche s'affiche.

  3. Cliquez sur S'abonner pour ouvrir la boîte de dialogue Créer un abonnement.

  4. Si l'API Analytics Hub n'est pas activée dans votre projet, un message d'erreur s'affiche avec un lien permettant d'activer l'API. Cliquez sur Activer l'API Analytics Hub.

  5. Dans la boîte de dialogue Créer un abonnement, spécifiez les détails suivants:

    • ID d'abonnement : indiquez le nom de l'abonnement que vous créez.
    • Type de distribution: sélectionnez le mécanisme de distribution des données du message.
    • Durée de conservation des messages: définissez la durée de conservation des messages.
    • Délai d'expiration: définit la date à laquelle l'abonnement expire après inactivité, le cas échéant.
    • Délai de confirmation: définissez l'heure et la date du délai de confirmation.
    • Filtre d'abonnement : définit la syntaxe du filtre sur les messages.
    • Distribution de type "exactement une fois": activez la distribution de type "exactement une fois".
    • Tri des messages: permet d'activer le tri des messages à l'aide d'une clé de tri.
    • Sujet de lettres mortes: activez la gestion des lettres mortes.
    • Stratégie de nouvelle tentative: définissez une stratégie de nouvelle tentative.

    Pour en savoir plus sur les propriétés des abonnements Pub/Sub, consultez la section Propriétés d'abonnement.

  6. Pour enregistrer vos modifications, cliquez sur Créer. L'abonnement Pub/Sub associé est créé dans votre projet.

API

Exécutez la méthode projects.locations.dataExchanges.listings.subscribe.

POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:subscribe

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet de la fiche à laquelle vous souhaitez vous abonner.
  • LOCATION : emplacement de la fiche à laquelle vous souhaitez vous abonner.
  • DATAEXCHANGE_ID : ID d'échange de données de la fiche à laquelle vous souhaitez vous abonner.
  • LISTING_ID : ID de la fiche à laquelle vous souhaitez vous abonner.

Dans le corps de la requête, spécifiez l'abonnement Pub/Sub dans lequel vous souhaitez créer l'abonnement Pub/Sub associé. Si la requête aboutit, le corps de la réponse est vide.

Pour en savoir plus sur les abonnements Pub/Sub, consultez la page Présentation des abonnements.

Tarifs

Aucuns frais supplémentaires ne sont facturés aux éditeurs de sujets Pub/Sub pour répertorier et partager des sujets via Analytics Hub. Le nombre total d'octets écrits (débit de publication) dans le sujet partagé et les sorties réseau (le cas échéant) sont facturés aux éditeurs. Les abonnés sont facturés du nombre total d'octets lus (débit d'abonnement) de l'abonnement associé et de la sortie réseau (le cas échéant). Consultez les tarifs de Pub/Sub pour en savoir plus.

VPC Service Controls

Pour les sujets partagés de projets comportant des périmètres VPC Service Controls, vous pouvez définir les règles d'entrée et de sortie appropriées pour accorder l'accès aux éditeurs et aux abonnés.