Tutorial: creazione di una pipeline che distribuisce una competenza Amazon Alexa - AWS CodePipeline

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial: creazione di una pipeline che distribuisce una competenza Amazon Alexa

In questo tutorial, è possibile configurare una pipeline che distribuisce in modo continuo le competenze Alexa utilizzando Alexa Skills Kit come provider di operazioni di distribuzione nella fase di distribuzione. La pipeline completata rileva le modifiche alla competenza quando si modificano i file di origine nel repository di origine. La pipeline usa quindi Alexa Skills Kit per distribuire alla fase di sviluppo di competenze Alexa.

Importante

Come parte della creazione di una pipeline, per gli artefatti verrà utilizzato un bucket di artefatti S3 fornito dal cliente. CodePipeline (Questo è diverso dal bucket utilizzato per un'azione sorgente S3.) Se il bucket di artefatti S3 si trova in un account diverso da quello della pipeline, assicurati che il bucket di artefatti S3 sia di proprietà di utenti sicuri e affidabili. Account AWS

Nota

Questa funzionalità non è disponibile nella regione Asia Pacifico (Hong Kong) o Europa (Milano). Per utilizzare altre azioni di distribuzione disponibili in quella regione, vediIntegrazioni di operazioni di distribuzione.

Per creare un'abilità personalizzata come funzione Lambda, consulta Ospitare un'abilità personalizzata come funzione Lambda AWS. Puoi anche creare una pipeline che utilizza i file sorgente Lambda e CodeBuild un progetto per implementare le modifiche a Lambda per le tue competenze. Ad esempio, per creare una nuova competenza e la funzione Lambda correlata, puoi creare un progetto AWS CodeStar . Consulta Creazione di un progetto di competenze Alexa in AWS CodeStar. Per questa opzione, la pipeline include una terza fase di creazione con un' CodeBuildazione e un'azione nella fase di distribuzione per. AWS CloudFormation

Prerequisiti

Devi avere già quanto segue:

Passaggio 1: crea un profilo di sicurezza dei servizi LWA di sviluppo Alexa

In questa sezione, crei un profilo di sicurezza da utilizzare con Login with Amazon (LWA). Se hai già un profilo, questa fase può essere ignorata.

  • Segui la procedura descritta generate-lwa-tokensper creare un profilo di sicurezza.

  • Dopo aver creato il profilo, annotare il Client ID (ID client) e il Client Secret (Segreto client).

  • Assicurati di inserire la restituzione consentita URLs come indicato nelle istruzioni. URLsConsenti al ASK CLI comando di reindirizzare le richieste di token di aggiornamento.

Passaggio 2: crea i file sorgente delle abilità Alexa e inviali al tuo repository CodeCommit

In questa sezione, è possibile creare e inviare i file di origine di competenza Alexa nel repository che la pipeline impiega per la fase di origine. Per la competenza creata nella console per sviluppatori di Amazon, devi produrre e inviare quanto segue:

  • Un file skill.json.

  • Una cartella interactionModel/custom.

    Nota

    Questa struttura di directory è conforme ai requisiti del formato dei pacchetti di skill di Alexa Skills Kit, come descritto in Formato del pacchetto di competenze. Se la struttura di directory non utilizza il formato dei pacchetti di skill corretto, le modifiche non vengono distribuite correttamente alla console Alexa Skills Kit.

Per creare file di origine per la competenza
  1. Recupera l'ID competenza dalla console per sviluppatori Alexa Skills Kit. Usa questo comando:

    ask api list-skills

    Individua la competenza in base al nome e copia il relativo ID nel campo skillId.

  2. Genera un file skill.json che contiene i dettagli della competenza. Usa questo comando:

    ask api get-skill -s skill-ID > skill.json
  3. (Facoltativo) Crea una cartella interactionModel/custom.

    Utilizza questo comando per generare il file del modello di interazione all'interno della cartella. Come impostazione, questo tutorial utilizza en-US come lingua locale nel nome del file.

    ask api get-model --skill-id skill-ID --locale locale > ./interactionModel/custom/locale.json
Per inviare file al tuo repository CodeCommit
  1. Invia o carica i file nel tuo CodeCommit repository. Questi file sono l'artefatto di origine creato dalla procedura guidata Create Pipeline (Crea pipeline) per l'operazione di distribuzione in AWS CodePipeline. I file dovrebbero avere questo aspetto nella directory locale:

    skill.json /interactionModel /custom |en-US.json
  2. Scegli un metodo per caricare i file:

    1. Per usare la riga di comando Git da un repository clonato sul computer locale:

      1. Esegui il comando seguente per posizionare tutti i file contemporaneamente:

        git add -A
      2. Esegui il comando seguente per eseguire il commit dei file con un messaggio di commit:

        git commit -m "Added Alexa skill files"
      3. Esegui il comando seguente per inviare i file dal repository locale al tuo CodeCommit repository:

        git push
    2. Per utilizzare la CodeCommit console per caricare i file:

      1. Apri la CodeCommit console e scegli il tuo repository dall'elenco Repository.

      2. Seleziona Add file (Aggiungi file), quindi scegli Upload file (Carica file).

      3. Seleziona Choose file (Scegli file), quindi seleziona il file. Conferma la modifica inserendo il tuo nome utente e indirizzo e-mail. Scegliere Commit changes (Applica modifiche).

      4. Ripeti questa fase per ogni file da caricare.

Passaggio 3: Usa ASK CLI i comandi per creare un token di aggiornamento

CodePipeline utilizza un token di aggiornamento basato sull'ID cliente e sul segreto nel tuo account sviluppatore Amazon per autorizzare le azioni che esegue per tuo conto. In questa sezione, usi il ASK CLI per creare il token. Usa queste credenziali quando utilizzi la procedura guidata Create Pipeline (Crea pipeline).

Per creare un token di aggiornamento con le credenziali dell'account sviluppatore Amazon
  1. Utilizza il seguente comando:

    ask util generate-lwa-tokens
  2. Quando richiesto, immetti l'ID e il segreto client come illustrato in questo esempio:

    ? Please type in the client ID: amzn1.application-client.example112233445566 ? Please type in the client secret: example112233445566
  3. Viene visualizzata la pagina di accesso del browser. Accedi con le credenziali dell'account sviluppatore Amazon.

  4. Torna alla schermata della riga di comando. Il token di accesso e di aggiornamento vengono generati nell'output. Copia il token di aggiornamento restituito nell'output.

Fase 4: creazione della pipeline

In questa sezione, andrai a creare una pipeline con le operazioni seguenti:

  • Una fase di origine con un' CodeCommit azione in cui gli artefatti di origine sono i file delle abilità di Alexa che supportano la tua abilità.

  • Una fase di distribuzione con un'operazione di distribuzione Alexa Skills Kit.

Per creare una pipeline con la procedura guidata
  1. Accedi AWS Management Console e apri la CodePipeline console all'indirizzo http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Scegli la AWS regione in cui desideri creare il progetto e le relative risorse. Il runtime delle competenze Alexa è disponibile solo nelle seguenti regioni:

    • Asia Pacifico (Tokyo)

    • Europa (Irlanda)

    • Stati Uniti orientali (Virginia settentrionale)

    • US West (Oregon)

  3. Nella pagina Welcome (Benvenuto), pagina Getting started (Nozioni di base) o pagina Pipelines (Pipeline), scegliere Create pipeline (Crea pipeline).

  4. In Step 1: Choose pipeline settings (Fase 1: scelta delle impostazioni della pipeline), in Pipeline name (Nome pipeline), immettere MyAlexaPipeline.

  5. Nel tipo di pipeline, scegli V2. Per ulteriori informazioni, consulta Tipi di tubazioni. Scegli Next (Successivo).

  6. In Ruolo di servizio, scegli Nuovo ruolo di servizio in cui consentire CodePipeline la creazione di un ruolo di servizio. IAM

  7. Lasciare i valori predefiniti delle impostazioni in Advanced settings (Impostazioni avanzate), quindi scegliere Next (Successivo).

  8. In Step 2: Add source stage (Fase 2: aggiunta della fase di origine), in Source provider (Provider origine), scegliere AWS CodeCommit. In Nome archivio, scegli il nome del CodeCommit repository in cui hai creato. Fase 1: Creare un CodeCommit repository In Branch name (Nome ramo), scegliere il nome del ramo che contiene l'aggiornamento di codice più recente.

    Dopo aver selezionato il nome del repository e il ramo, un messaggio mostra la regola Amazon CloudWatch Events da creare per questa pipeline.

    Scegli Next (Successivo).

  9. In Step 3: Add build stage (Fase 3: aggiunta della fase di compilazione), scegli Skip build stage (Ignora fase di compilazione) e quindi accetta il messaggio di avviso scegliendo Skip (Ignora).

    Scegli Next (Successivo).

  10. In Step 4: Add deploy stage (Fase 4: aggiunta della fase di distribuzione):

    1. In Deploy provider (Provider di distribuzione), scegli Alexa Skills Kit.

    2. In Alexa skill ID (ID competenza Alexa), immetti l'ID competenza assegnato alla tua competenza nella console per sviluppatori Alexa Skills Kit.

    3. In Client ID (ID client), immetti l'ID dell'applicazione registrata.

    4. In Client secret (Segreto client), immetti il segreto scelto al momento della registrazione.

    5. In Refresh token (Token di aggiornamento), immetti il token generato alla fase 3.

      Fase 4: Distribuisci la pagina per un'azione dell'Alexa Skills Kit
    6. Scegli Next (Successivo).

  11. In Step 5: Review (Fase 5: revisione), esaminare le informazioni e quindi scegliere Create pipeline (Crea pipeline).

Fase 5: modifica di un file di origine e verifica della distribuzione

Modifica la competenza e applica la modifica al repository. In questo modo viene attivata la pipeline per l'esecuzione. Verifica che la competenza sia aggiornata nella console per sviluppatori Alexa Skills Kit.