Creazione di carichi di lavoro di funzioni con codice in linea
È possibile creare la funzione con il codice in linea. Il codice viene memorizzato con la funzione. È possibile creare questo tipo di funzione dalla console o con la CLI.
Un bundle di codici è una raccolta di file che rappresenta il codice della funzione. Questo bundle di codice viene inserito nel contenitore di runtime. Il tuo bundle di codice è creato da Code Engine ed è memorizzato nel registro del contenitore o in linea con la funzione. Un bundle di codice non è un'immagine contenitore standard OCI (Open Container Initiative).
Creazione di una funzione con inline con la console
Creare una funzione con codice in linea dalla console.
- Apri la console Code Engine.
- Seleziona " Inizia a creare ".
- Seleziona un progetto dall'elenco dei progetti disponibili. È anche possibile crearne uno nuovo. È necessario selezionare un progetto per creare una funzione.
- Seleziona " Funzione ".
- Inserisci un nome per la funzione; ad esempio,
myfunction. Assegna alla tua funzione un nome che sia univoco all'interno del progetto. - Selezionare un' immagine di runtime per il codice funzione. Per ulteriori informazioni, vedi Runtime.
- Seleziona questa opzione per specificare il tuo codice come pacchetto di codice inline. Quando si seleziona questa opzione, la funzione viene creata con un bundle di codice di esempio per il runtime selezionato. È possibile modificare il codice di esempio dopo la creazione della funzione. Il bundle di codice viene memorizzato inline con la funzione.
- Specifica le informazioni sulla tua risorsa, inclusi CPU e combinazioni di memoria e Ritardo di riduzione.
- Facoltativamente, specifica un dominio personalizzato o le variabili di ambiente. È possibile aggiungere queste opzioni successivamente.
- Fai clic su Crea.
- Una volta modificato lo stato della funzione in Pronto, è possibile verificare la funzione. Fare clic su Verifica funzione e fare clic su Invia richiesta. Per aprire la funzione in una pagina web, cliccare su Funzione URL.
- È anche possibile modificare il codice della funzione nella finestra Editor. Quando si ridistribuisce la funzione, il codice viene memorizzato in linea.
È possibile richiamare la funzione facendo clic su Funzione di test e quindi su Invia richiesta.
È possibile recuperare il codice utilizzato per creare qualsiasi funzione in linea eseguendo il comando function get con le opzioni --save. Ad esempio, ibmcloud ce function get --name myfunction --save hellofun2.js.
Creazione di una funzione con codice in linea con la CLI
Crea una funzione con codice in linea con la CLI utilizzando il comando ibmcloud ce function create. Per un elenco completo delle opzioni, consultare il comando ibmcloud ce function create.
Prima di iniziare
- Imposta il tuo ambiente CLICode Engine.
- Creare e utilizzare un progetto.
Questo esempio usa un file di codice denominato main.js. È possibile utilizzare il seguente codice di esempio per creare il proprio file main.js oppure è possibile sostituire il proprio codice.
/**
* The `main` function is the entry-point into the function.
* It has one optional argument, which carries all the
* parameters the function was invoked with.
*/
async function main(params) {
// log environment variables available to the function
console.log(process.env);
// log Code Engine system headers available to the function
console.log(params.__ce_headers);
// log all parameters for debugging purposes
console.log("params: "+params);
// since functions are invoked through http(s), we return an HTTP response
return {
statusCode: 200,
headers: { 'Content-Type': 'application/json' },
body: params };
}
// this step is necessary, if you gave your main function a different name
// we include it here for documentation purposes only
module.exports.main = main;
Creare la funzione e includere il codice nel comando. Ad esempio, utilizzare il comando ibmcloud ce function create per creare la funzione
myhellofun.
ibmcloud ce fn create --name myhellofun --inline-code main.js --runtime nodejs
Output di esempio
Creating function 'myhellofun'...
OK
Run 'ibmcloud ce function get -n myhellofun' to see more details.
https://myhellofun.glxo4kabcde.us-south.codeengine.appdomain.cloud
È possibile salvare il codice utilizzato per creare qualsiasi funzione in linea eseguendo il comando function get con le opzioni --save. Ad esempio, ibmcloud ce function get --name myhellofun --save hellofun2.js.
Passi successivi
-
Dopo aver creato la funzione, è possibile accedervi facendo clic su Test function nella console o cercando l' URL e della funzione con il comando
function getcomando. -
È possibile creare un' associazione dominio personalizzata e assegnarla alla funzione.
-
Dopo che la tua funzione è stata creata e distribuita, puoi aggiornarla per soddisfare le tue necessità dalla console o utilizzando il comando
ibmcloud ce function update. Se si desidera aggiornare l'origine da utilizzare con la propria funzione, è necessario fornire l'opzione--build-sourcenel comandofunction update.
Una volta creata la funzione, è possibile aggiornare la funzione e il relativo codice di riferimento utilizzando uno qualsiasi dei seguenti modi, indipendentemente da come è stata creata o precedentemente aggiornata la funzione:
-
Se hai un bundle di codice esistente, devi fornire solo un riferimento all'immagine, che punta all'ubicazione del tuo registro del contenitore quando distribuisci la tua applicazione. Per ulteriori informazioni, consultare Creazione di carichi di lavoro di funzioni da bundle di codice esistenti.
Se la funzione è stata creata utilizzando il comando
function createed è stata specificata l'opzione--build-sourceper creare il bundle di codice dall'origine locale o del repository e si desidera modificare la funzione in modo che punti a un bundle di codice diverso, è necessario prima rimuovere l'associazione della build dalla funzione. Ad esempio, eseguireibmcloud ce function update -n FUN_NAME --build-clear. Dopo aver rimosso l'associazione della build dalla funzione, è possibile aggiornare la funzione in modo che faccia riferimento a un'altra immagine. -
Se stai iniziando con il codice sorgente che risiede in un repository Git, puoi scegliere di consentire a Code Engine di creare il bundle di codici dalla tua origine e creare la tua funzione con una singola operazione. In questo scenario, Code Engine carica il tuo bundle di codici in IBM Cloud® Container Registry. Per ulteriori informazioni, consultare Creazione della funzione dal codice sorgente del repository.
-
Se stai iniziando con il codice di origine che risiede su una workstation locale, puoi scegliere Code Engine per creare il bundle di codice dalla tua origine e creare la tua funzione con un comando CLI singolo. In questo scenario, Code Engine carica il tuo codice sorgente e il tuo bundle di codici in IBM Cloud® Container Registry.
Ad esempio, potresti scegliere Code Engine per creare la tua origine locale mentre sviluppi lo sviluppo della tua origine per la funzione. Quindi, una volta maturato il bundle di codice, è possibile aggiornare la funzione per fare riferimento al bundle di codice specifico desiderato. È possibile ripetere questo processo in base alle necessità.
Cerchi altri esempi di codice? Dai un'occhiata agli esempi disponibili nel repository " IBM Cloud Code Engine " su GitHub.