Come invocare un lambda con la funzione di passo

Come invocare un lambda con la funzione di passo

“Una funzione di passo può essere utilizzata per controllare i servizi AWS utilizzando la lingua dello stato di Amazon. La funzione Step AWS è anche un servizio senza server, proprio come le funzioni Lambda, ma può essere utilizzata per eseguire più attività in una sequenza o in parallelo. La funzione Step si basa sulla macchina a stato e l'attività e la macchina a stato sono solo i flussi di lavoro dell'applicazione. Una funzione di passaggio può essere utilizzata per eseguire varie attività invocando la funzione Lambda, a seconda del caso d'uso. In questo blog, studieremo come invocare la funzione Lambda con la funzione Step."

Creazione della funzione Lambda

La prima cosa che devi fare è creare una funzione Lambda che verrà invocata dalla funzione Step. In questo blog, useremo il base Ciao da Lambda Codice fornito da AWS per invocare la funzione Lambda con la funzione Step.

La funzione Hello World Lambda ha il seguente codice, che restituisce solo il contenuto statico quando viene invocato.

Importa JSON
def lambda_handler (evento, contesto):
# Todo implement
ritorno
'StatusCode': 200,
'Body': JSON.Dumps ('Hello from Lambda!')

Creazione del ruolo iam per la funzione di passo

Al fine di invocare la funzione Lambda utilizzando la funzione Step, in primo luogo, è necessario fornire le autorizzazioni necessarie della funzione del passaggio. Per questo, è necessario creare un ruolo IAM per la funzione Step, che garantisce le autorizzazioni della funzione Step per invocare la funzione Lambda. Per creare il ruolo IAM, seguire i passaggi di seguito indicati.

  • Vai al tuo dashboard IAM
  • Nell'angolo sinistro della console, fai clic su Ruoli pulsante
  • Clicca sul creare ruolo pulsante
  • Selezionare Servizi AWS Come tipo di entità di fiducia
  • Sotto il caso d'uso Opzione, selezionare la funzione Step
  • Quindi fare clic su Prossimo pulsante
  • Nel Aggiungi il permesso finestra, selezionerà automaticamente la politica IAM richiesta. Devi solo fare clic sul pulsante successivo
  • Fornire il Nome del ruolo qualunque cosa tu voglia e fai clic su Crea pulsante Ruolo Per creare il ruolo

Creazione della funzione Step

Dopo aver creato il ruolo IAM per la funzione Step, ora crea un Funzione di passaggio che verrà utilizzato per invocare la funzione Lambda. Per questo, prima, vai alla console della funzione Step e fai clic su Crea una macchina a stato Pulsante per iniziare a creare la macchina a stato. AWS fornisce i seguenti due modi per creare la macchina di stato e discuteremo entrambi i metodi per creare la macchina di stato in questo blog.

  • Progetta visivamente il tuo flusso di lavoro
  • Scrivi il tuo flusso di lavoro in codice (lingua degli stati di Amazon)

Progetta visivamente il tuo flusso di lavoro

Questo metodo è nuovo e molto più semplice che scrivere il tuo flusso di lavoro nel codice perché non è necessario scrivere alcun codice. AWS fornisce il blocco visivo per il tuo flusso di lavoro e devi solo trascinarli e definire i loro parametri. AWS crea automaticamente il codice ASL per il tuo flusso di lavoro. I seguenti passaggi definiscono come possiamo creare visivamente una funzione di passaggio.

  • Vai alla dashboard della funzione Step dalla console di gestione AWS
  • Fai clic su Crea macchina a stato pulsante dalla console
  • Sotto il Scegli il metodo di autorizzazione, Seleziona Progetta visivamente il tuo flusso di lavoro
  • Nella sezione Tipo, selezionare l'opzione standard
  • Clicca sul Prossimo pulsante
  • Ora otterrai la finestra in cui progetteremo visivamente il flusso di lavoro per la nostra macchina di stato
  • Sul lato sinistro, mostrerà il AWS Lambda invoca l'opzione. Fai clic e trascinalo al centro della console dove è scritta; trascina il primo stato qui
  • Sul lato destro della finestra, puoi vedere la configurazione di Lambda invoca
  • Nel nome dello stato, tipo Lambda invoca
  • Nell'integrazione tipo sezione, scegli il ottimizzato
  • Quindi, spostati al Sezione parametro API
  • Sotto il Nome funzione, clicca sul Scegli una scheda Opzione, dove troverai la funzione lambda che vuoi invocare
  • Sotto il carico utile Opzione, scegli di utilizzare lo stato di input come payload.
  • Sotto Stato successivo, seleziona il Vai all'opzione End
  • Clicca sul Prossimo pulsante nell'angolo in alto a destra
  • Nel Codice generato dalla revisione finestra, puoi vedere che AWS genera automaticamente la definizione della lingua statale Amazon Amazon. Inoltre, genera il flusso di lavoro della funzione del tuo passo
  • Clicca sul Prossimo pulsante
  • Ora otterrai il Specificare la macchina a stato finestra di impostazione
  • Fornisci un nome di una macchina a stato, qualunque cosa tu voglia
  • Sotto il autorizzazioni, clicca sul Scegli un ruolo esistente Casella di controllo
  • Seleziona il ruolo IAM che abbiamo creato nel passaggio precedente
  • Scorri verso il basso fino alla fine della pagina e fai clic su Crea una macchina a stato pulsante per creare la macchina a stato

Scrivi il tuo flusso di lavoro in Amazon States Language

Il secondo modo per creare la macchina a stato è scrivere il tuo flusso di lavoro in codice. Scriverai il flusso di lavoro Amazon States Language (ASL). Durante la creazione della macchina a stato, scegli di scrivere Il tuo flusso di lavoro nel codice nella definizione sezione macchina a stato. È possibile utilizzare il seguente codice di lingua degli Stati Amazon per invocare la funzione Lambda.


"StartAT": "Call_lambda",
"Stati":
"Call_lambda":
"Tipo": "attività",
"Resource": "Arn: AWS: Lambda: Ap-South-1: xxxxxx: Function: invockek_lambda",
"Fine": vero


Nella definizione sopra, utilizzerai il Arn della tua funzione Lambda nel campo delle risorse. Puoi ottenere l'arn della funzione Lambda dalla console Lambda.

Invocare la funzione lambda

Dopo aver creato la macchina a stato, è necessario avviare l'esecuzione. Fai clic sulla funzione Step e mostrerà tutte le configurazioni della funzione Step lì. Per avviare l'esecuzione della funzione Step, fare clic su Avviare il pulsante di esecuzione.


Puoi fornire il nome e l'input all'esecuzione che stai per iniziare, ma è facoltativo.

Sotto stato di esecuzione, È possibile verificare lo stato della funzione Step che invoca la funzione Lambda. Vai all'ispettore del grafico e fai clic su Lambda invoca, E nell'angolo destro della console, otterrai la scheda dettagli, input e output. Clicca sul ingresso scheda e puoi vedere l'input dell'esecuzione. Ora fai clic su produzione Tab e vedrai l'output della funzione Step. Ecco come viene invocata la tua funzione Lambda con la funzione Step.

Conclusione

In questo blog, abbiamo studiato come invocare la funzione Lambda con la funzione Step. Sia la funzione Step che la funzione Lambda sono risorse senza server di AWS. Una funzione di passo può anche essere utilizzata per controllare gli altri servizi di AWS come SNS, S3 e SNS, ecc. Abbiamo imparato i diversi modi per creare macchine statali, io.e., Progettare visivamente il flusso di lavoro e progettare il flusso di lavoro utilizzando il codice. Progettare visivamente il flusso di lavoro è un modo nuovo e semplice per iniziare con le funzioni del passo AWS.