Esecuzione di lavori con il framework Lithops
Lithops è un framework open source progettato per scalare in modo massiccio le tue applicazioni Python. Lithops fornisce un semplice push all'esperienza IBM Cloud® Code Engine in modo che tu possa concentrarti sul codice Python, mentre Lithops si concentra sulla distribuzione del tuo codice su larga scala monitorando le esecuzioni, ottenendo risultati e molto altro ancora. Lithops abilita l'integrazione Python nativa con Code Engine utilizzando l'API Lithops. Per ulteriori informazioni su Lithops, consultare Lithops quick start guide.
Esecuzione del tuo primo flusso utilizzando il framework Lithops
Prima di poter eseguire i lavori che fanno riferimento al framework Lithops, è necessario installare Lithops e configurare un backend di memoria.
Prima di iniziare
- Installa la CLI Code Engine.
- Crea e lavora con un progetto Code Engine.
- Trova e imposta la variabile di ambiente
kubeconfig.
Installazione di Lithops
-
Installare Lithops.
-
Creare il File di configurazione Lithops.
-
Installare Docker(community edition)version.
-
Esegui l'accesso a Docker.
docker login
Configurazione di un backend di memoria per Lithops
Selezionare un back-end di archiviazione supportato; ad esempio, IBM Cloud Object Storage.
Per impostare IBM Cloud Object Storage,
- Crea un account IBM Cloud Object Storage.
- Crea un bucket nella regione che vuoi utilizzare.
- Nella navigazione laterale, fai clic su Endpoint per trovare il tuo endpoint API. Devi copiare sia gli endpoint pubblici che quelli privati della regione in cui hai creato il tuo bucket.
- Crea le credenziali per accedere al tuo account IBM Cloud Object Storage. Scegli un'opzione
Opzione 1 (chiave API) per Lithops
-
Dalla navigazione IBM Cloud Object Storage, fai clic su Service Credentials.
-
Fare clic su Nuova credenziale + e fornire un nome e selezionare un ruolo.
-
Fai clic su Aggiungi per generare la credenziale del servizio.
-
Fare clic su Visualizza credenziali e copiare il valore
apikey. -
Modifica il file di configurazione
lithopse aggiungi le seguenti chiavi.lithops: storage_backend: ibm_cos ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT> api_key : <API_KEY>
Opzione 2 (IBM Cloud Object Storage credenziali HMAC) per Lithops
-
Dalla navigazione IBM Cloud Object Storage, fai clic su Service Credentials.
-
Fare clic su Nuova credenziale + e fornire un nome e selezionare un ruolo.
-
Fare clic su Opzioni avanzate e abilitare l'opzione
Include HMAC Credential. -
Fai clic su Aggiungi per generare la credenziale del servizio.
-
Fare clic su Visualizza credenziali e copiare i valori
access_key_idesecret_access_key. -
Modificare il proprio file di configurazione
lithopse aggiungere le seguenti chiavi:lithops: storage_backend: ibm_cos ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT> access_key : <ACCESS_KEY_ID> secret_key : <SECRET_KEY_ID>
Opzione 3 (IBM IAM API key) per Lithops
-
Se non disponi di una chiave API IAM, passa al IBM IAM.
-
Fai clic su Crea una chiave API IBM Cloud. Inserire un nome e una descrizione opzionale per la chiave API e fare clic su Crea.
-
Copia la chiave API IAM generata (puoi visualizzare la chiave solo quando la crei, quindi assicurati di copiarla).
-
Modificare il proprio file di configurazione
lithopse aggiungere le seguenti chiavi:lithops: storage_backend: ibm_cos ibm: iam_api_key: <IAM_API_KEY> ibm_cos: endpoint : <REGION_ENDPOINT> private_endpoint : <PRIVATE_REGION_ENDPOINT>
Distribuisci il tuo primo lavoro Code Engine utilizzando Lithops
Esegui il seguente esempio hello world,
import lithops
iterdata = [1,2,3,4,5]
def my_map_function(data):
return data + 1
if __name__ == '__main__':
pw = lithops.function_executor(type = "serverless", backend='code_engine')
futures = pw.map(my_map_function, iterdata)
print (pw.get_result())
pw.clean()
Passi successivi per Lithops
Puoi trovare ulteriori esempi e casi di utilizzo, oltre a porre domande, nella pagina del progetto Lithops.