2015-06-23 11 views
7

Ho creato un piccolo Lambda AWS che invia un'email utilizzando SES. Sto cercando di collegare un modulo di contatto da un sito web statico a questo lambda.Attivazione di un Lambda AWS da un modulo postale

E 'possibile avere il modulo di contatto direttamente su un indirizzo di lambda? Non sto usando un framework lato server e mi piacerebbe davvero evitarlo, quali sono le mie opzioni? C'è un modo Javascript Javascript per invocare il lambda?

+0

Aggiunta CloudFront come proxy per utilizzare la stessa origine è un'altra alternativa al CORS: https://www.codeengine.com/articles/process-form-aws-api-gateway-lambda/ –

risposta

9

Wrote a blog post about this.

Questo è assolutamente fattibile. Si tratta di utilizzare AWS Cognito per chiamare tale funzione.

  1. Hai la funzione lambda sul posto. Grande.
  2. Creare un nuovo gruppo Cognito.
  3. Assegnare le autorizzazioni del gruppo Cognito non autenticate per l'esecuzione della funzione lambda.
  4. Collegare tutto nel browser. Ho qualche esempio di codice qui ... https://github.com/chadbaudoin/lambda-twilio/blob/master/index.html

La parte “hard” è fare in modo che le impostazioni per il gruppo IAM Cognito e la funzione di Lambda sono tutti impostati correttamente. Ho usato questo tutorial abbastanza pesantemente, ma ho usato il cognito per eseguirlo in modo da non esporre le chiavi.

http://lg.io/2015/05/16/the-future-is-now-and-its-using-aws-lambda.html

+0

Intendevi lasciare questa riga nel tuo codice? // AWS.config.update ({ // regione: 'us-east-1', // accessKeyId: 'something', // secretAccessKey: 'somethingelsethatlooksimportant' //}); –

+0

@greg_diesel sembra essere una chiave di accesso non valida, quindi va bene. – tedder42

+1

Ha funzionato come un incantesimo, grazie. Non ho usato un gruppo Cognito, sembra che anche un utente AWS faccia il trucco – Mikeb

Problemi correlati