Création d'un connecteur avec une source Queue

Créez un connecteur dans Connector Hub pour transférer des messages d'une file d'attente du service Queue vers un service cible.

Pour plus d'informations sur le service File d'attente, reportez-vous à la rubrique File d'attente.

Un connecteur défini avec une source de file d'attente et une tâche de fonction (facultatif) prend en charge les cibles suivantes : Functions, Notifications, Object Storage et Streaming.

Pour obtenir un exemple de workflow Connector Hub, reportez-vous à Présentation de Connector Hub.

Pour un scénario impliquant une cible de fonction, reportez-vous à Scénario : envoi de messages de file d'attente à une fonction.

Interrogation longue

Par défaut, les connecteurs utilisent l'interrogation longue pour lire les messages des files d'attente. L'interrogation longue est utile pour empêcher les nouvelles tentatives de boucle serrée lorsque la file d'attente est vide. Le délai d'attente de lecture d'une file d'attente est de 30 secondes. A chaque opération de déplacement, le connecteur attend que les messages consommables soient disponibles dans la file d'attente. Si le délai d'expiration de lecture est dépassé et qu'aucun message n'est disponible pour la consommation, le connecteur met fin à la demande et effectue une nouvelle tentative avec une autre demande.

Filtres et messages utilisés

Vous pouvez filtrer une file d'attente pour des canaux spécifiques. Pour connaître les paramètres d'API et d'interface de ligne de commande permettant de filtrer une file d'attente, reportez-vous à Utilisation de messages à partir d'un canal. Un message qui a été transféré vers la cible du connecteur est considéré comme "consommé". Pour répondre aux exigences du service de file d'attente, le connecteur supprime les messages transférés de la file d'attente source. Pour plus d'informations, reportez-vous à Utilisation des messages.

Période de conservation : Source de la file d'attente

La période de conservation de la source de file d'attente dans Connector Hub dépend de la configuration de la file d'attente. Reportez-vous à la section Création d'une file d'attente. Pour plus d'informations sur la livraison, reportez-vous à Détails de la livraison.

    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 File d'attente.
    5. Dans Cible, sélectionnez le service vers lequel transférer les messages :
      • Fonctions : envoyez des messages d'une file d'attente à une fonction.
      • Notifications : envoyez des messages d'une file d'attente à un sujet. Les notifications sont prises en charge uniquement lorsqu'aucune tâche de fonction n'est définie.
      • Object Storage : envoyez des messages d'une file d'attente à un bucket.
      • Diffusion en continu : envoie des messages d'une file d'attente vers 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 à stocker les journaux de service pour le 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 la connexion source, sélectionnez la file d'attente contenant les messages voulus :
      • Compartiment : sélectionnez le compartiment qui contient la file d'attente de votre choix.
      • File d'attente : sélectionnez la file d'attente qui contient les messages de votre choix.
        Remarque

        Pour sélectionner une file d'attente pour un connecteur, vous devez être autorisé à lire la file d'attente. Reportez-vous à Stratégies IAM (sécurisation de Connector Hub).
      • Filtre de canal (sous Filtrage de message) (facultatif) : pour filtrer les messages des canaux de la file d'attente, entrez une valeur.

        Par exemple, pour filtrer les messages par ID de canal, saisissez l'ID de canal.

        Pour connaître les valeurs prises en charge, reportez-vous à channelFilter à l'adresse GetMessages (API de file d'attente).

      Remarque

      Un message qui a été transféré vers la cible du connecteur est considéré comme "consommé". Pour répondre aux exigences du service de file d'attente, le connecteur supprime les messages transférés de la file d'attente source. Pour plus d'informations, reportez-vous à Utilisation des messages.
    8. (Facultatif) Sous Configurer la tâche de fonction, configurez une tâche de fonction pour traiter les messages de la file d'attente à 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.

        Afin d'ê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).

      Considérations relatives aux tâches fonctionnelles :

      • 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é Fonctions comme cible, sous Configurer la cible, configurez la fonction vers laquelle envoyer les messages de la file d'attente. 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 qui contient la fonction voulue.
      • 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 en tant que liste JSON par lots. La taille maximale du lot 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é Notifications comme cible, sous Configurer la cible, configurez le sujet vers lequel envoyer les messages de la file d'attente. Passez ensuite à l'étape 15.
      • Compartiment : sélectionnez le compartiment qui contient le sujet de votre choix.
      • Sujet : sélectionnez le nom du sujet auquel envoyer les données.
      • Format de message : sélectionnez l'option souhaitée :
        Remarque

        Les options Format de message sont disponibles uniquement pour les connecteurs avec la source de journalisation. Ces options ne sont pas disponibles pour les connecteurs avec des tâches de fonction. Lorsque les options de format de message ne sont pas disponibles, les messages sont envoyés en tant que objets BLOB JSON bruts.
        • Envoyer les messages formatés : mise en page simplifiée et conviviale.

          Pour afficher les protocoles d'abonnement et les types de message pris en charge pour les messages formatés, reportez-vous à Formatage convivial.

        • Envoyer les messages bruts : objet BLOB JSON brut.

      Remarques concernant les cibles Notifications :

      • La taille maximale des messages pour la cible Notifications est de 128 ko. Tout message qui dépasse la taille maximale est supprimé.
      • Les SMS présentent des résultats inattendus 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.
    11. Si vous avez sélectionné Object Storage en tant que cible, sous Configurer la cible, configurez le bucket vers lequel envoyer les messages de la file d'attente. Passez ensuite à l'étape 15.
      • Compartiment : sélectionnez le compartiment qui contient le bucket de votre choix.
      • 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.

      • Format des données déplacées à partir d'une source Monitoring : Objets. Le connecteur partitionne les données source de Monitoring par espace de noms de mesure et écrit les données de chaque groupe (espace de noms) dans un objet. Chaque nom d'objet inclut les éléments suivants.

        <object_name_prefix>/<service_connector_ocid>/<metric_compartment_ocid>/<metric_namespace>/<data_start_timestamp>_<data_end_timestamp>.<sequence_number>.<file_type>.gz

        Dans un objet, chaque ensemble de points de données est ajouté à une nouvelle ligne.

    12. Si vous avez sélectionné Streaming comme cible, sous Configurer la cible, configurez le flux de données vers lequel envoyer les messages de la file d'attente.
      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 de destination.
      • Flux de données : sélectionnez le nom du flux de données auquel envoyer les données.

      Remarques concernant les cibles Streaming :

      • Format des données déplacées à partir d'une source Monitoring : chaque objet est écrit en tant que message distinct.
    13. 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é.

    14. (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.
    15. 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 de file d'attente :

    oci sch service-connector create [...] --source <queue_json_input>
                            

    Pour transmettre les détails de source à l'interface de ligne de commande à l'aide d'un fichier JSON, procédez comme suit :

    oci sch service-connector create [...] --source file:queue_source.json

    Exemple de contenu de fichier JSON :

    {
        "kind": "plugin",
        "pluginName": "QueueSource",
        "configMap": {
            "queueId": "<queue_json_input>"
        }
    }

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

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

    Pour créer un connecteur avec une source de file d'attente, renseignez source dans la demande (CreateServiceConnectorDetails) avec un module d'extension de connecteur qui utilise Queue (pluginName QueueSource, avec chaque OCID de file d'attente dans configMap). Pour voir un exemple, reportez-vous à PluginSourceDetails.

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.