AWS Alexa Smart Home Skill: crea la Lambda e gestisci la sicurezza – 3

Spread the love

In questo articolo creeremo una nuova funzione AWS Lambda che gestirà le direttive Smart Home di Alexa.

Amazon AWS Smart Home Skill setup and security of a lambda function
Amazon AWS Smart Home Skill setup and security of a lambda function

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

Alexa Skill Smarthome: Creare una policy per la nostra lambda
Alexa Skill Smarthome: Creare una policy per la nostra lambda
  1. 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)
  2. Fare clic sul  pulsante Crea criterio .
  3. 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": "*"
        }
    ]
}
  1. Fare clic sul pulsante Verifica criterio .
  2. Nella sezione Verifica criterio, imposta il  Nome  del criterio su  skill-esp8266-nodejs-smarthome-switch-policy.
  3. Fare clic sul pulsante Crea criterio per creare il criterio.

Creare un ruolo di esecuzione Lambda

Alexa Skill Smarthome: Creare il ruolo per la nostra lambda
Alexa Skill Smarthome: Creare il ruolo per la nostra lambda
  1. 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)
  2. Fare clic sul pulsante Crea ruolo .
  3. Nella pagina Crea ruolo, seleziona  Servizio AWS  per il tipo di soggetto fidato e poi seleziona Lambda  dall’elenco dei servizi.
  4. Fare clic sul pulsante Successivo: Autorizzazioni.
  5. 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 .
  6. Non fare niente qui. Fare clic sul pulsante Successivo: Verifica.
  7. Nella sezione Verifica, imposta il nome del  ruolo  su lambda-skill-esp8266-nodejs-smarthome-switch-role.
  8. Fare clic su Crea ruolo per creare il ruolo di esecuzione.

Crea una funzione Lambda

Alexa Skill Smarthome: Creare una funzione lambda
Alexa Skill Smarthome: Creare una funzione lambda
  1. 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)
  2. Verifica di essere in N. Virginia (us-east-1) per il Nord America o in Irlanda (eu-west-1) per l’Europa .
  3. Fare clic sul pulsante Crea funzione per iniziare a creare una funzione AWS Lambda.
  4. Nella pagina Crea funzione  selezionare l’opzione Crea da zero.
  5. Per il Nome della funzione, immettere lambda- skill-esp8266-nodejs-smarthome-switch.
  6. Per il runtime, seleziona  Node.js 12.x .
  7. Scegli un ruolo esistente e seleziona lambda-skill-esp8266-nodejs-smarthome-switch-role dalle opzioni Ruolo esistente .
  8. Fai clic sul pulsante Crea funzione per creare la funzione AWS Lambda.
  9. 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

Alexa Skill Smarthome: Aggiungi trigger alla lambda
Alexa Skill Smarthome: Aggiungi trigger alla lambda
  1. 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 a 
    https://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.
  2. Ora fai clic su Aggiungi Trigger, in questa nuova pagina fai clic su Selettore trigger di configurazione e seleziona Alexa Smart Home dal menu.
  3. 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
  4. Verificare che la casella di controllo Abilita trigger sia selezionata e quindi fare clic su Aggiungi .
Alexa Skill Smarthome: Selezionare lo SkillID
Alexa Skill Smarthome: Selezionare lo SkillID

Thanks

  1. AWS Alexa Smart Home Skill: introduzione e avvio
  2. AWS Alexa Smart Home Skill: crea la Skill e gestisci la sicurezza
  3. AWS Alexa Smart Home Skill: crea la Lambda e gestisci la sicurezza
  4. AWS Alexa Smart Home Skill: configurare la Lambda per la skill
  5. AWS Alexa Smart Home Skill: configurare il database DynamoDB
  6. AWS Alexa Smart Home Skill: caricare codice di esempio e testare la Lambda
  7. AWS Alexa Smart Home Skill: testa la tua Skill in sviluppo e gestisci i log

Spread the love

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *