AWS Alexa Smart Home Skill: crea la Lambda e gestisci la sicurezza – 3
In questo articolo creeremo una nuova funzione AWS Lambda che gestirà le direttive Smart Home di Alexa.
Seleziona la regione corretta
È molto importante per prevenire errori o simili, selezionare la regione corretta in cui sviluppare e ospitare le risorse.
- Per il Nord America la regione predefinita è
us-east-1
- Per l’Europa, che scelgo, è
eu-west-1
Fai attenzione se selezioni una regione non supportata dal tuo dispositivo Alexa quando testeremo sul dispositivo la tua Skill non funzionerà.
Per supportare tutti i dispositivi è necessario rilasciare lambda in più regioni.
Creare una policy per la funzione Lambda
- Navigare fino alle policy della Console di gestione IAM all’indirizzo (le policy sono globali, quindi l’URL non è rilevante)
https://console.aws.amazon.com/iam/home?region=us-east-1#/policies (Nord America)
https ://console.aws.amazon.com/iam/home?region=eu-west-1#/policies (Europa) - Fare clic sul pulsante Crea criterio .
- Seleziona la scheda JSON, quindi copia e incolla la seguente policy nell’area di testo:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogStream",
"dynamodb:UpdateItem",
"dynamodb:GetRecords",
"dynamodb:GetShardIterator",
"dynamodb:DescribeStream",
"dynamodb:ListStreams",
"logs:CreateLogGroup",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
}
- Fare clic sul pulsante Verifica criterio .
- Nella sezione Verifica criterio, imposta il Nome del criterio su
skill-esp8266-nodejs-smarthome-switch-policy
. - Fare clic sul pulsante Crea criterio per creare il criterio.
Creare un ruolo di esecuzione Lambda
- Naviga ai ruoli della Console di gestione IAM all’indirizzo
https://us-east-1.console.aws.amazon.com/iam/home?region=us-east-1#/roles (Nord America)
https://eu- west-1.console.aws.amazon.com/iam/home?region=eu-west-1#/roles (Europa) - Fare clic sul pulsante Crea ruolo .
- Nella pagina Crea ruolo, seleziona Servizio AWS per il tipo di soggetto fidato e poi seleziona Lambda dall’elenco dei servizi.
- Fare clic sul pulsante Successivo: Autorizzazioni.
- Quando viene richiesto di collegare i criteri di autorizzazione, filtrare e trovare il criterio skill-esp8266-nodejs-smarthome-switch-policy precedentemente creato e selezionare la relativa casella di controllo .
- Non fare niente qui. Fare clic sul pulsante Successivo: Verifica.
- Nella sezione Verifica, imposta il nome del ruolo su
lambda-skill-esp8266-nodejs-smarthome-switch-role
. - Fare clic su Crea ruolo per creare il ruolo di esecuzione.
Crea una funzione Lambda
- Passare alla console AWS Lambda all’indirizzo
https://us-east-1.console.aws.amazon.com/lambda/home?region=us-east-1 (Nord America)
https://eu-west-1. console.aws.amazon.com/lambda/home?region=eu-west-1 (Europa) - Verifica di essere in N. Virginia (us-east-1) per il Nord America o in Irlanda (eu-west-1) per l’Europa .
- Fare clic sul pulsante Crea funzione per iniziare a creare una funzione AWS Lambda.
- Nella pagina Crea funzione selezionare l’opzione Crea da zero.
- Per il Nome della funzione, immettere lambda-
skill-esp8266-nodejs-smarthome-switch
. - Per il runtime, seleziona Node.js 12.x .
- Scegli un ruolo esistente e seleziona lambda-skill-esp8266-nodejs-smarthome-switch-role dalle opzioni Ruolo esistente .
- Fai clic sul pulsante Crea funzione per creare la funzione AWS Lambda.
- Dalla pagina della funzione Lambda, copia l’ARN dall’angolo in alto a destra della pagina e salvalo nel file
setup.txt
nella sezione [AWS Lambda ARN]. L’ARN dovrebbe assomigliare a:arn:aws:lambda:eu-west-1:XXXXXXXXXXXX:function:lambda-skill-esp8266-nodejs-smarthome-switch
Aggiungi un trigger Smart Home alla funzione Lambda
- Nella pagina della funzione Lambda per
lambda-skill-esp8266-nodejs-smarthome-switch
, selezionare l’alias Più recente quindi Configurazione più recente. Oppure, puoi navigare fino ahttps://us-east-1.console.aws.amazon.com/lambda/home?region=us-east-1#/functions/lambda-skill-esp8266-nodejs-smarthome-switch/latest?newFunction=true&tab=configure
(Nord America)https://eu-west-1.console.aws.amazon.com/lambda/home?region=eu-west-1#/functions/lambda-skill-esp8266-nodejs-smarthome-switch/latest?newFunction=true&tab=configure
(Europa)
Nota la sezione Trigger nel menu a sinistra. Questa parte della UI ti consente di aggiungere trigger alla tua funzione Lambda. - Ora fai clic su Aggiungi Trigger, in questa nuova pagina fai clic su Selettore trigger di configurazione e seleziona Alexa Smart Home dal menu.
- Nell’input dell’ID applicazione incolla il valore dell’ID applicazione Skill Alexa dalla sezione del file setup.txt [ID applicazione Skill Alexa] nella casella di testo ID applicazione. L’ID dell’applicazione Alexa Skill dovrebbe essere simile a:
amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
- Verificare che la casella di controllo Abilita trigger sia selezionata e quindi fare clic su Aggiungi .
Thanks
- AWS Alexa Smart Home Skill: introduzione e avvio
- AWS Alexa Smart Home Skill: crea la Skill e gestisci la sicurezza
- AWS Alexa Smart Home Skill: crea la Lambda e gestisci la sicurezza
- AWS Alexa Smart Home Skill: configurare la Lambda per la skill
- AWS Alexa Smart Home Skill: configurare il database DynamoDB
- AWS Alexa Smart Home Skill: caricare codice di esempio e testare la Lambda
- AWS Alexa Smart Home Skill: testa la tua Skill in sviluppo e gestisci i log