Création d'un connecteur avec une source Streaming

Créez un connecteur dans Connector Hub pour transférer des données de flux du service Streaming vers un service cible.

Pour plus d'informations sur le service Streaming, reportez-vous à Streaming.

Un connecteur défini avec une source Streaming et une tâche de fonction (facultative) prend en charge les cibles suivantes : Functions, Log Analytics, Object Storage et Streaming. La cible Notifications n'est prise en charge que lorsqu'aucune tâche de fonction n'est utilisée.

Pour obtenir un exemple de workflow Connector Hub, reportez-vous à Présentation de Connector Hub. Pour obtenir un exemple de connecteur qui utilise Monitoring comme source, reportez-vous à Scénario : envoi de mesures à Object Storage.

Remarque

  • Pour obtenir le schéma d'entrée de flux de données, reportez-vous à Référence de message.
  • Pour une cible Notifications avec la source Streaming, tous les messages sont envoyés en tant qu'objets BLOB JSON bruts.

Avant de commencer

Pour sélectionner un pool de flux de données et un flux pour un connecteur, vous devez être autorisé à lire le pool de flux de données et le flux de données. Reportez-vous à Stratégies IAM (sécurisation de Connector Hub).

Période de conservation : source de transmission en continu

La période de conservation de la source Streaming dans Connector Hub est définie par le client. Reportez-vous à Limites relatives aux ressources Streaming. Pour plus d'informations sur la livraison, reportez-vous à Détails de la livraison.

Avec la période de conservation, la position de lecture de la source Streaming détermine où commencer le déplacement des données dans le flux. Vous indiquez la position de lecture lorsque vous indiquez la connexion source.

Prérequis d'adresse privée pour Streams

Remarque

Il n'est pas possible d'adapter à nouveau un connecteur existant pour utiliser un flux avec une adresse privée. Si le pool de flux de données sélectionné pour la source ou la cible de flux de données est public, il ne peut pas être modifié en privé et le connecteur ne peut pas être mis à jour pour référencer un flux de données privé. Pour modifier la source ou la cible afin d'utiliser un flux privé différent, ou pour utiliser une source ou une cible autre que Streaming, recréez le connecteur avec la source et la cible souhaitées. Un flux de données déplacé vers un autre pool de flux de données est un exemple de la nécessité d'un autre flux de données privé. Dans ce cas, recréez le connecteur à l'aide du flux déplacé. Assurez-vous de désactiver ou de supprimer l'ancien connecteur avec la source ou la cible de flux que vous ne souhaitez plus utiliser.

La configuration d'adresse privée est prise en charge pour les flux de données source et cible. Voici les prérequis pour accéder aux flux qui utilisent des adresses privées.

  • Vérifiez que les droits d'accès vous sont accordés conformément aux stratégies suivantes :
    allow group <group-name> to manage virtual-network-family in compartment id <compartment-ocid>
      where any {request.operation='CreatePrivateEndpoint',
        request.operation='UpdatePrivateEndpoint',
        request.operation='DeletePrivateEndpoint',
        request.operation='ChangePrivateEndpointCompartment',
        request.operation='EnableReverseConnection',
        request.operation='ModifyReverseConnection',
        request.operation='DisableReverseConnection' 
    }
    allow group <group-name> to read stream-family in compartment id <compartment-ocid>
    
                            
  • La meilleure pratique de sécurité consiste à localiser un flux privé et son connecteur dans la même location.

Après avoir créé le connecteur, configurez des règles entrantes et sortantes pour permettre au connecteur d'accéder à cette adresse privée. Reportez-vous à Adresses privées : configuration des règles entrantes et sortantes.

    1. Sur la page de liste Connecteurs, sélectionnez Créer un connecteur. Si vous avez besoin d'aide pour trouver la page de liste, reportez-vous à Liste des connecteurs.
    2. Sur la page Créer un connecteur, entrez un nom convivial pour le nouveau connecteur et éventuellement une description. Evitez de saisir des informations confidentielles.
    3. Sélectionnez le compartiment dans lequel stocker le nouveau connecteur.
    4. Sous Configurer le connecteur, pour Source, sélectionnez Streaming.
    5. Pour Cible, sélectionnez le service vers lequel transférer les données de flux :
      • Functions : envoyez les données de flux à une fonction.
      • Logging Analytics : envoyez les données à un groupe à journaux.
      • Notifications : envoyez les données de flux à un sujet. Les notifications sont prises en charge uniquement lorsqu'aucune tâche de fonction n'est définie.
      • Object Storage : envoyez les données de flux à un bucket.
      • Streaming : envoyez les données de flux à un flux de données.
    6. (Facultatif) Pour activer les journaux de service pour le nouveau connecteur, sélectionnez le commutateur Journaux et fournissez les valeurs suivantes :
      • Catégorie de journal : la valeur Suivi de connecteur est automatiquement sélectionnée.
      • Compartiment : sélectionnez le compartiment pour lequel stocker les journaux de service du connecteur.
      • Groupe de journaux : sélectionnez le groupe de journaux à stocker pour les journaux de service. Pour créer un groupe de journaux, sélectionnez Créer un groupe, puis entrez un nom.
      • Nom de journal : vous pouvez éventuellement saisir un nom pour le journal.
      • Afficher les options avancées :
        • Conservation de journal : indiquez éventuellement la durée de conservation des journaux de service (par défaut : 30 jours).
    7. Sous Configurer une connexion source, sélectionnez le flux source :
      Remarque

      La configuration d'adresse privée est prise en charge. Pour utiliser une adresse privée, reportez-vous à Prérequis de l'adresse privée pour Streams.
      • Compartiment : sélectionnez le compartiment qui contient le flux de données souhaité.
      • Pool de flux de données : sélectionnez le pool de flux de données qui contient le flux de données souhaité.
        Remarque

        Pour sélectionner un pool de flux de données et un flux de données pour un connecteur, vous devez être autorisé à lire le pool de flux de données et le flux de données. Reportez-vous à Stratégies IAM (sécurisation de Connector Hub).
      • Flux de données : sélectionnez le nom du flux de données à partir duquel recevoir les données.
      • Position de lecture : indiquez la position du curseur à partir duquel commencer la lecture du flux de données.
        • Dernier : commence la lecture des messages publiés après la création du connecteur.
          • Si la première exécution d'un nouveau connecteur avec cette configuration réussit, les données sont déplacées à partir de l'heure de création du connecteur. Si la première exécution échoue (par exemple, si des stratégies sont manquantes), après la résolution, le connecteur déplace les données à partir de l'heure de création du connecteur ou, si l'heure de création est en dehors de la période de conservation, les données disponibles les plus anciennes dans le flux. Par exemple, prenons un connecteur créé à 10 heures pour un flux avec une période de conservation de deux heures. Si les exécutions en échec sont résolues à 11 heures, le connecteur déplace les données à partir de 10 heures. Si les exécutions en échec sont résolues à 1 heure du matin, le connecteur déplace les données disponibles les plus anciennes dans le flux.
          • Les exécutions ultérieures déplacent les données de la position suivante dans le flux. En cas d'échec d'une exécution ultérieure, le connecteur déplace les données de la position suivante dans le flux ou des données disponibles les plus anciennes dans le flux, en fonction de la période de conservation du flux.
        • Horizon de tri : commence la lecture à partir du message le plus ancien disponible dans le flux de données.
          • Si la première exécution d'un nouveau connecteur avec cette configuration réussit, les données sont déplacées à partir des données les plus anciennes disponibles dans le flux. Si la première exécution échoue (par exemple avec des stratégies manquantes), après la résolution, le connecteur déplace les données disponibles les plus anciennes dans le flux, quelle que soit la période de conservation du flux.
          • Les exécutions ultérieures déplacent les données de la position suivante dans le flux. En cas d'échec d'une exécution ultérieure, le connecteur déplace les données de la position suivante dans le flux ou des données disponibles les plus anciennes dans le flux, en fonction de la période de conservation du flux.
    8. (Facultatif) Sous Configurer la tâche de fonction, configurez une tâche de fonction pour traiter les données de flux à l'aide du service Functions :
      • Sélectionner une tâche : sélectionnez Fonction.
      • Compartiment : sélectionnez le compartiment qui contient la fonction voulue.
      • Application de fonction : sélectionnez le nom de l'application de fonction qui inclut la fonction souhaitée.
      • Fonction : sélectionnez le nom de la fonction à utiliser pour traiter les données reçues de la source.

        Pour être utilisée en tant que tâche par le connecteur, la fonction doit être configurée pour renvoyer l'une des réponses suivantes :

        • Liste des entrées JSON (doit définir l'en-tête de réponse Content-Type=application/json)
        • Entrée JSON unique (doit définir l'en-tête de réponse Content-Type=application/json)
        • Objet binaire unique (doit définir l'en-tête de réponse Content-Type=application/octet-stream)
      • Afficher les options supplémentaires : sélectionnez ce lien et indiquez des limites pour chaque batch de données envoyé à la fonction. Pour utiliser les paramètres manuels, indiquez des valeurs pour la limite de taille de batch (ko) et la limite de temps de batch (secondes).

      Remarques concernant les tâches de fonction :

      • Connector Hub n'analyse pas la sortie de la tâche de fonction. La sortie de la tâche de fonction est écrite telle quelle sur la cible. Par exemple, lors de l'utilisation d'une cible Notifications avec une tâche de fonction, tous les messages sont envoyés en tant qu'objets BLOB JSON bruts.
      • Les fonctions sont appelées de manière synchrone avec 6 Mo de données par appel. Si les données dépassent 6 Mo, le connecteur appelle à nouveau la fonction pour déplacer les données qui dépassent la limite. Ces appels sont traités séquentiellement.
      • Les fonctions peuvent s'exécuter pendant cinq minutes au maximum. Reportez-vous à Détails de la livraison.
      • Les tâches de fonction sont limitées aux fonctions scalaires.
    9. Si vous avez sélectionné Functions comme cible, sous Configurer la cible, configurez la fonction à laquelle envoyer les données de journal. Passez ensuite à l'étape 15.
      • Compartiment : sélectionnez le compartiment qui contient la fonction voulue.
      • Application de fonction : sélectionnez le nom de l'application de fonction contenant la fonction souhaitée.
      • Fonction : sélectionnez le nom de la fonction à laquelle envoyer les données.
      • Afficher les options supplémentaires : sélectionnez ce lien et indiquez des limites pour chaque batch de données envoyé à la fonction. Pour utiliser les paramètres manuels, indiquez des valeurs pour la limite de taille de batch (en Ko ou en nombre de messages) et la limite de temps de batch (en secondes).

        Par exemple, limitez la taille du lot en sélectionnant 5 000 kilo-octets ou 10 messages. Un exemple de limite de durée de batch est de 5 secondes.

      Remarques concernant les cibles Functions :

      • Le connecteur vide les données source sous la forme d'une liste JSON dans des batches. La taille maximale du batch ou de la charge utile est de 6 Mo.
      • Les fonctions sont appelées de manière synchrone avec 6 Mo de données par appel. Si les données dépassent 6 Mo, le connecteur appelle à nouveau la fonction pour déplacer les données qui dépassent la limite. Ces appels sont traités séquentiellement.
      • Les fonctions peuvent s'exécuter pendant cinq minutes au maximum. Reportez-vous à Détails de la livraison.
      • Ne renvoyez pas les données des cibles Functions aux connecteurs. Connector Hub ne lit pas les données renvoyées par les cibles Functions.
    10. Si vous avez sélectionné Logging Analytics comme cible, sous Configurer la cible, configurez le groupe de journaux auquel envoyer les données de journal. Passez ensuite à l'étape 15.
      • Compartiment : sélectionnez le compartiment contenant le groupe de journaux souhaité.
      • Groupe : sélectionnez le groupe de journal souhaité.
      • Identificateur de source de journal (pour la source Streaming uniquement) : sélectionnez la source de journal.
    11. Si vous avez sélectionné Notifications comme cible, sous Configurer la cible, configurez la rubrique à laquelle envoyer les données de journal. Passez ensuite à l'étape 15.
      • Compartiment : sélectionnez le compartiment qui contient le sujet souhaité.
      • Sujet : sélectionnez le nom du sujet auquel envoyer les données. Pour les cibles Streaming, les messages sont envoyés en tant que objets BLOB JSON bruts.

      Remarques concernant les cibles Notifications :

      • La cible Notifications est prise en charge avec la source Streaming uniquement lorsqu'aucune tâche de fonction n'est utilisée.
      • La taille maximale des messages pour la cible Notifications est de 128 ko. Tout message qui dépasse la taille maximale est supprimé.
      • Les messages SMS présentent des résultats imprévus pour certaines configurations de connecteur. Ce problème est limité aux sujets contenant des abonnements par SMS pour les configurations de connecteur indiquées. Pour plus d'informations, reportez-vous à Plusieurs SMS pour une même notification.
    12. Si vous avez sélectionné Object Storage comme cible, sous Configurer la cible, configurez le bucket vers lequel envoyer les données de journal. Passez ensuite à l'étape 15.
      • Compartiment : sélectionnez le compartiment qui contient le bucket souhaité.
      • Bucket : sélectionnez le nom du bucket auquel envoyer les données.
      • Préfixe de nom d'objet : entrez éventuellement une valeur de préfixe.
      • Afficher les options supplémentaires : sélectionnez ce lien et saisissez éventuellement des valeurs pour la taille de batch (en Mo) et le temps de batch (en millisecondes).

      Remarques concernant les cibles Object Storage :

      • Détails du remplacement de batch :

        • Taille pour remplacement du batch : 100 Mo
        • Durée pour remplacement du batch : 7 minutes
      • Les fichiers enregistrés dans Object Storage sont compressés à l'aide de gzip.

    13. Si vous avez sélectionné Streaming comme cible, sous Configurer la cible, configurez le flux vers lequel envoyer les données de journal.
      Remarque

      Pour sélectionner un pool de flux de données et un flux de données pour un connecteur, vous devez être autorisé à lire le pool de flux de données et le flux de données. Reportez-vous à Stratégies IAM (sécurisation de Connector Hub). La configuration d'adresse privée est prise en charge. Pour utiliser une adresse privée, reportez-vous à Prérequis de l'adresse privée pour Streams.
      • Compartiment : sélectionnez le compartiment qui contient le flux de données souhaité.
      • Flux de données : sélectionnez le nom du flux de données auquel envoyer les données.
    14. Pour accepter les stratégies par défaut, sélectionnez le lien Créer fourni pour chaque stratégie par défaut.

      Des stratégies par défaut sont proposées pour toutes les autorisations requises afin que ce connecteur accède aux services source, de tâche et cible.

      Vous pouvez obtenir cette autorisation via ces stratégies par défaut ou via des stratégies basées sur des groupes. Les stratégies par défaut sont proposées chaque fois que vous utilisez la console pour créer ou modifier un connecteur. La seule exception est lorsque la stratégie exacte existe déjà dans IAM, auquel cas la stratégie par défaut n'est pas proposée. Pour plus d'informations sur cette exigence d'autorisation, reportez-vous à Authentification et autorisation.

      • Si vous n'êtes pas autorisé à accepter les stratégies par défaut, contactez l'administrateur.
      • Les stratégies créées automatiquement sont conservées lorsque des connecteurs sont supprimés. Il est recommandé de supprimer les stratégies associées lors de la suppression d'un connecteur.

      Pour consulter une stratégie nouvellement créée, sélectionnez le lien de vue associé.

    15. (Facultatif) Ajoutez des balises au connecteur : sélectionnez Afficher les options avancées pour afficher la section Ajouter des balises.
      Si vous disposez des droits d'accès permettant de créer une ressource, vous disposez également de ceux permettant de l'appliquer à cette ressource. Pour appliquer une balise defined, vous devez être autorisé à utiliser la balise namespace. Pour plus d'informations sur le balisage, reportez-vous à Balises de ressource. Si vous n'êtes pas sûr d'appliquer des balises, ignorez cette option ou demandez à un administrateur. Vous pouvez appliquer des balises ultérieurement.
    16. Sélectionnez Créer.
    Le processus de création commence et sa progression s'affiche. Une fois l'opération terminée, la page de détails du connecteur s'ouvre.
  • Utilisez la commande oci sch service-connector create et les paramètres requis pour créer un connecteur avec une source Streaming :

    oci sch service-connector create --display-name "<display_name>" --compartment-id <compartment_OCID> --source [<stream_source_in_JSON>] --target [<target_in_JSON>]

    Pour obtenir la liste complète des paramètres et des valeurs des commandes d'interface de ligne de commande, reportez-vous à Référence de commande d'interface de ligne de commande.

  • Exécutez l'opération CreateServiceConnector pour créer un connecteur.

    Pour créer un connecteur avec une source Streaming, renseignez source dans la demande (CreateServiceConnectorDetails) avec les détails de transmission en continu. Pour voir un exemple, reportez-vous à StreamingSourceDetails.

Adresses privées : configuration des règles entrantes et sortantes

Si vous avez créé un connecteur avec un flux qui utilise une adresse privée, configurez des règles entrantes et sortantes pour permettre au connecteur d'accéder à cette adresse privée.

  • Obtenir les adresses IP pour la configuration :
  • Autoriser le trafic principal : ajoutez une règle entrante au NSG ou à la liste de sécurité avec la configuration suivante.

    Console :

    • Sans statut : non
    • Source : rceTrafficIpAddress (exemple : 10.0.0.249/32)
    • Protocole IP : TCP
    • Plage de ports source : tous
    • Plage de ports de destination : Tout

    API - exemple de règle dans la demande :

    {
      "protocol": "6",
      "source": "10.0.0.249/32"
    }
  • Ajoutez une règle sortante à la liste de sécurité avec la configuration suivante.

    Console :

    • Sans statut : non
    • Source : streamPoolIpAddress (exemple : 10.0.0.20/32)
    • Protocole IP : TCP
    • Plage de ports source : tous
    • Plage de ports de destination : Tout

    API - exemple de règle dans la demande :

    {
      "destination": "10.0.0.20/32",
      "protocol": "6"
    }
Remarque

Il n'est pas possible d'adapter à nouveau un connecteur existant pour utiliser un flux avec une adresse privée. Si le pool de flux de données sélectionné pour la source ou la cible de flux de données est public, il ne peut pas être modifié en privé et le connecteur ne peut pas être mis à jour pour référencer un flux de données privé. Pour modifier la source ou la cible afin d'utiliser un flux privé différent, ou pour utiliser une source ou une cible autre que Streaming, recréez le connecteur avec la source et la cible souhaitées. Un flux de données déplacé vers un autre pool de flux de données est un exemple de la nécessité d'un autre flux de données privé. Dans ce cas, recréez le connecteur à l'aide du flux déplacé. Assurez-vous de désactiver ou de supprimer l'ancien connecteur avec la source ou la cible de flux que vous ne souhaitez plus utiliser.

Confirmer le déplacement des données par le nouveau connecteur

Une fois le connecteur créé, vérifiez qu'il déplace les données.

  • Activez les journaux pour que le connecteur obtienne des détails sur le flux de données.
  • Recherchez les résultats attendus sur le service cible.

La confirmation du déplacement des données vous permet d'éviter la désactivation automatique, qui se produit lorsqu'un connecteur tombe en panne pendant une longue période.

Flux privés : il n'est pas possible de mettre à niveau un connecteur existant pour utiliser un flux avec une adresse privée. Si le pool de flux de données sélectionné pour la source ou la cible de flux de données est public, il ne peut pas être modifié en privé et le connecteur ne peut pas être mis à jour pour référencer un flux de données privé. Pour modifier la source ou la cible afin d'utiliser un flux privé différent, ou pour utiliser une source ou une cible autre que Streaming, recréez le connecteur avec la source et la cible souhaitées. Un flux de données déplacé vers un autre pool de flux de données est un exemple de la nécessité d'un autre flux de données privé. Dans ce cas, recréez le connecteur à l'aide du flux déplacé. Assurez-vous de désactiver ou de supprimer l'ancien connecteur avec la source ou la cible de flux que vous ne souhaitez plus utiliser.