Vai al contenuto

Registrazione del Service

Definizione dei metadati base

Una volta aperto il form di registrazione Service cliccando su + Register Service, sarà possibile inserire i metadati base:

  • Name*: nome del Service
  • Version*: versione del Service
  • URL*: docker://<dominio-tuo-registry-docker>:<porta>/<percorso-immagine>:<tag>

oltre a:

  • Category
  • Tags

entrambi utili a categorizzare i Service

service-registration-form

Form registrazione service

Documentare un Service

Sulla destra è invece disponibile un editor per l'inserimento della documentazione del Service in formato Markdown.

service-registration-form-with-markdown-documentation-highlighted

Registrazione service - aggiunta Markdown

La documentazione inserita sarà consultabile dal Data Scientist utilizzatore del Service attraverso:

  1. Pagina di dettaglio del Service

service-details-page-with-markdown-documentation

Dettaglio service - visualizzazione Markdown

  1. Workflow Designer

    Cliccando sul Service di interesse e poi su Documentation

    workflow-designer-mk-documentation-opening-procedure

    Workflow Designer - Visualizza documentazione service

    workflow-designer-mk-documentation-open

    Dettaglio documentazione

Definizione delle Service Properties

Nella sezione Porte I/O abbiamo visto quali argomenti linea di comando definire a livello di programma nucleo. Adesso verrà mostrato come comunicare ad ALIDA la presenza di questi argomenti, in modo che la piattaforma possa valorizzarli e passarli correttamente.

In particolare dovrà esserci una Service Property per ogni argomento linea di comando base del programma nucleo. Non occorrerà quindi creare quelli per gli argomenti linea di comando specifici della Datasource

Le Service Property possono essere di tre tipi:

  • Application
  • Static
  • Tuning

Tipo Application

Per definire Porte I/O e Parametri di esecuzione configurabili, occorre registrare delle Service Property di tipo Application.

Andranno registrate quelle corrispondenti agli argomenti base visti nella sezione Porte I/O.

Porte Tipo Dataset, Model e Streaming

Per ciascuno degli argomenti base di questi tipi di porta qui riepilogati:

occorre creare una Service Property secondo le seguenti regole:

  • Key: nome argomento (senza '--') (es. --input-dataset => input-dataset)
  • Description: a scelta
  • Type: Application Property
  • Mandatory: ticked
  • Invisible: ticked
  • Value Type: String
  • Default Value: vuoto | ANY (nel caso di --input-columns)
  • Data Type: Input Data
  • Streaming: unticked

Esempio per --input-dataset

service-property-registration-for-input-dataset

Form inserimento service property

Porta Tipo Generic I/O

Per una porta di tipo Generic occorre definire la Service Property come segue:

  • Key: assets
  • Description: a scelta
  • Type: Application Property
  • Mandatory: ticked
  • Invisible: ticked
  • Value Type: JSON
  • Default Value:
    {
        "inputs":[
            {
                "name":"input-data",
                "path":"/inputs",
                "type":"dataset",
                "description":"my description"
            }
        ],
        "outputs":[
            {
                "name":"output-data",
                "path":"/outputs",
                "type":"dataset",
                "description":"my description"
            }
        ]
    }
    
  • Data Type: Input Data
  • Streaming: unticked

In questo modo all'interno del container del Service corrispondente, verranno montati due volumi vuoti raggiungibili dal programma nucleo all'interno del container sotto /inputs e /outputs

Porta Tipo REST API

La relativa Service Property è la seguente:

  • Key: portsToExpose
  • Description: a scelta
  • Type: Application Property
  • Mandatory: ticked
  • Invisible: unticked
  • Value Type: JSON
  • Default Value:
    {
        "ports":[
            {
                "port":"<specificare-porta-esposta-dal-programma-nucleo>",
                "name":"default",
                "http_model":"rest",
                "url":null
            }
        ]
    }
    
  • Data Type: Input Data
  • Streaming: unticked

Parametro di esecuzione configurabile

Per la definizione di parametri di esecuzione configurabili dall'utente attraverso l'UI del Workflow Designer:

  • Key: nome argomento linea di comando (es. --my-param => my-param)
  • Description: a scelta
  • Type: Application Property
  • Mandatory: ticked
  • Invisible: unticked
  • Value Type: tutti possibili
  • Default Value: a scelta
  • Data Type: Input Data
  • Streaming: unticked

Tipo Static

Le Service Property di tipo Static permettono di passare al Service dei valori come variabili di ambiente al container e quindi al programma nucleo.

  • Key: nome variabile d'ambiente
  • Description: a scelta
  • Type: Static
  • Mandatory: ticked | unticked
  • Invisible: unticked
  • Value Type: tutti i possibili
  • Default Value: a scelta
  • Data Type: Input Data
  • Streaming: unticked