Création d'un composant personnalisé destiné à être utilisé dans le pipeline

Un composant personnalisé de type « Orchestration Pipelines » exécute un script que vous écrivez. Vous pouvez utiliser des composants personnalisés pour partager des scripts réutilisables entre les pipelines.

Vous créez des composants personnalisés en tant que ressources du projet. Vous pouvez ensuite utiliser ces composants dans les pipelines que vous créez dans ce projet. Vous pouvez créer autant de composants personnalisés pour les pipelines que nécessaire. Actuellement, vous devez créer un composant personnalisé par programmation, à l'aide d'une fonction de l'interface « Python ».

Créer un composant en tant qu'élément du projet

Pour créer un composant personnalisé, utilisez le client Python pour vous authentifier sur IBM Orchestration Pipelines, programmez le composant, puis publiez-le dans le projet spécifié. Une fois qu'il est disponible dans le projet, vous pouvez attribuer le composant à un nœud d'un pipeline et l'exécuter dans le cadre d'un flux de pipeline.

Cet exemple montre comment publier un composant qui additionne deux nombres, puis attribuer ce composant à un nœud de pipeline.

  1. Publier une fonction en tant que composant à l'aide du client Python. Exécutez le code suivant dans un fichier « Jupyter Notebook » au sein d'un projet.

    # Install libraries
    ! pip install ibm-orchestration-pipelines
    
    # Authentication
    from ibm_orchestration_pipelines import OrchestrationPipelines
    
    apikey = ''
    service_url = 'your_host_url'
    project_id = 'your_project_id'
    username = ''
    
    client = OrchestrationPipelines(apikey, url=service_url, username=username)
    
    
    # Define the function of the component
    
    # If you define the input parameters, users are required to 
    # input them in the UI
    
    def add_two_numbers(a: int, b: int) -> int:
        print('Adding numbers: {} + {}.'.format(a, b))
        return a + b + 10
    
    # Other possible functions might be sending a Slack message,
    # or listing directories in a storage volume, and so on.
    
    # Publish the component    
    client.publish_component(
        name='Add numbers', # Appears in UI as component name 
        func=add_two_numbers,
        description='Custom component adding numbers', # Appears in UI as component description 
        project_id=project_id,
        overwrite=True, # Overwrites an existing component with the same name 
    )
    

    Pour générer une nouvelle clé API :

    1. Cliquez sur votre profil dans la bannière
    2. Cliquez sur « Clé API » > « Générer une nouvelle clé »
  2. Faites glisser le nœud intitulé « Run Pipelines » (Exécuter les pipelines), situé sous « Run » (Exécuter), vers le canevas.
    Récupération du nœud du composant personnalisé

  3. Sélectionnez le nom du composant que vous souhaitez utiliser.
    Choisir la fonction du composant

  4. Connectez-vous et exécutez le nœud dans le cadre d'un travail de pipeline.
    Raccordement du composant

Gérer les composants du pipeline

Utilisez ces méthodes client d' Python pour gérer les composants de pipeline personnalisés.

Tableau 1. Gérer les composants du pipeline
Méthode Fonction
client.get_components(project_id=project_id) Répertorier les composants d'un projet
client.get_component(project_id=project_id, component_id=component_id) Récupérer un composant par son ID
client.get_component(project_id=project_id, name=component_name) Récupérer un composant par son nom
client.publish_component(component name) Publier un nouveau composant
client.delete_component(project_id=project_id, component_id=component_id) Supprimer un composant par son ID