Tutorial: Erstellen einer Pipeline zum Bereitstellen eines Amazon Alexa-Skills - AWS CodePipeline

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Tutorial: Erstellen einer Pipeline zum Bereitstellen eines Amazon Alexa-Skills

In diesem Tutorial konfigurieren Sie eine Pipeline, über die Ihre Alexa-Qualifikation kontinuierlich bereitgestellt wird, indem das Alexa Skills Kit auf Ihrer Bereitstellungsstufe als Bereitstellungsanbieter verwendet wird. Die fertige Pipeline erkennt Änderungen an Ihrer Qualifikation, wenn Sie in Ihrem Quell-Repository eine Änderung an den Quelldateien vornehmen. Die Pipeline nutzt dann das Alexa Skills Kit für Bereitstellungen für die Entwicklungsstufe der Alexa-Qualifikation.

Wichtig

Im Rahmen der Erstellung einer Pipeline wird ein vom Kunden bereitgestellter S3-Artefakt-Bucket von CodePipeline for Artifacts verwendet. (Dies unterscheidet sich von dem Bucket, der für eine S3-Quellaktion verwendet wird.) Wenn sich der S3-Artefakt-Bucket in einem anderen Konto befindet als das Konto für Ihre Pipeline, stellen Sie sicher, dass der S3-Artefakt-Bucket denjenigen gehört AWS-Konten , die sicher und zuverlässig sind.

Anmerkung

Diese Funktion ist in der Region Asien-Pazifik (Hongkong) oder Europa (Mailand) nicht verfügbar. Informationen zur Verwendung anderer Bereitstellungsaktionen, die in dieser Region verfügbar sind, finden Sie unterBereitstellungsaktions-Integrationen.

Informationen zum Erstellen Ihres benutzerdefinierten Skills als Lambda-Funktion finden Sie unter Hosten eines benutzerdefinierten Skills als AWS Lambda-Funktion. Sie können auch eine Pipeline erstellen, die Lambda-Quelldateien und ein CodeBuild Projekt verwendet, um Änderungen an Lambda für Ihre Fähigkeiten bereitzustellen. Wenn Sie beispielsweise eine neue Qualifikation und eine zugehörige Lambda-Funktion erstellen möchten, können Sie ein AWS CodeStar -Projekt erstellen. Informationen hierzu finden Sie unter Erstellen eines Alexa-Skill-Projekts in AWS CodeStar. Für diese Option umfasst die Pipeline eine dritte Build-Phase mit einer CodeBuild Aktion und eine Aktion in der Bereitstellungsphase für. AWS CloudFormation

Voraussetzungen

Sie müssen bereits über Folgendes verfügen:

Schritt 1: Erstellen Sie ein LWA Sicherheitsprofil für Alexa Developer Services

In diesem Abschnitt erstellen Sie ein Sicherheitsprofil zur Verwendung mit Login with Amazon (LWA). Falls Sie bereits über ein Profil verfügen, können Sie diesen Schritt überspringen.

  • Gehen Sie wie unter beschrieben vor generate-lwa-tokens, um ein Sicherheitsprofil zu erstellen.

  • Notieren Sie sich die Client-ID und den Clientschlüssel, nachdem Sie das Profil erstellt haben.

  • Stellen Sie sicher, dass Sie den Wert „Zulässige Rücksendung“ URLs wie in den Anweisungen angegeben eingeben. URLsSie ermöglichen es dem ASK CLI Befehl, Aktualisierungstoken-Anfragen umzuleiten.

Schritt 2: Erstellen Sie Alexa-Skill-Quelldateien und übertragen Sie sie in Ihr CodeCommit Repository

In diesem Abschnitt erstellen Sie die Quelldateien für Ihre Alexa-Qualifikation und übertragen sie per Push an das Repository, das von der Pipeline für Ihre Quellstufe verwendet wird. Für die Qualifikation, die Sie in der Amazon-Entwicklerkonsole erstellt haben, erstellen und übertragen Sie Folgendes:

  • Die Datei skill.json.

  • Einen interactionModel/custom-Ordner.

    Anmerkung

    Diese Verzeichnisstruktur entspricht den Anforderungen des Alexa Skills Kit-Skill-Pakets, wie in Skill-Paketformat beschrieben. Wenn Ihre Verzeichnisstruktur nicht das richtige Skill-Paketformat verwendet, werden Änderungen nicht erfolgreich in der Alexa Skills Kit-Konsole bereitgestellt.

So erstellen Sie Quelldateien für Ihre Qualifikation
  1. Rufen Sie Ihre Qualifikations-ID aus der Alexa Skills Kit-Entwicklerkonsole ab. Verwenden Sie diesen Befehl:

    ask api list-skills

    Suchen Sie anhand des Namens nach Ihrer Qualifikation und kopieren Sie die zugehörige ID anschließend in das Feld skillId.

  2. Generieren Sie die Datei skill.json, die Ihre Qualifikationsdetails enthält. Verwenden Sie diesen Befehl:

    ask api get-skill -s skill-ID > skill.json
  3. (Optional) Erstellen Sie einen interactionModel/custom-Ordner.

    Verwenden Sie diesen Befehl, um die Interaktionsmodelldatei im Ordner zu generieren. Als Gebietsschema wird in diesem Tutorial „en-US“ im Dateinamen verwendet.

    ask api get-model --skill-id skill-ID --locale locale > ./interactionModel/custom/locale.json
Um Dateien in Ihr CodeCommit Repository zu übertragen
  1. Push oder lade die Dateien in dein CodeCommit Repository hoch. Diese Dateien stellen das Quellartefakt dar, das vom Assistenten Create Pipeline (Pipeline erstellen) für Ihre Bereitstellungsaktion in AWS CodePipeline erstellt wurde. Ihre Dateien sollten in Ihrem lokalen Verzeichnis wie folgt aussehen:

    skill.json /interactionModel /custom |en-US.json
  2. Wählen Sie die Methode aus, mit der Sie Ihre Dateien hochladen möchten:

    1. So verwenden Sie die Git-Befehlszeile aus einem geklonten Repository auf Ihrem lokalen Computer:

      1. Führen Sie den folgenden Befehl aus, um alle Dateien auf einmal zu übertragen:

        git add -A
      2. Führen Sie den folgenden Befehl aus, um einen Commit für Dateien mit einer Commit-Nachricht durchzuführen:

        git commit -m "Added Alexa skill files"
      3. Führen Sie den folgenden Befehl aus, um die Dateien von Ihrem lokalen Repository in Ihr CodeCommit Repository zu übertragen:

        git push
    2. So verwenden Sie die CodeCommit Konsole, um Ihre Dateien hochzuladen:

      1. Öffnen Sie die CodeCommit Konsole und wählen Sie Ihr Repository aus der Repository-Liste aus.

      2. Wählen Sie Add file (Datei hinzufügen) und dann Upload file (Datei hochladen) aus.

      3. Wählen Sie Choose file (Datei auswählen) aus und navigieren Sie anschließend zu Ihrer Datei. Übernehmen Sie die Änderung, indem Sie Ihren Benutzernamen und Ihre E-Mail-Adresse eingeben. Wählen Sie Commit changes (Änderungen übernehmen) aus.

      4. Wiederholen Sie diesen Schritt für jede Datei, die Sie hochladen möchten.

Schritt 3: Verwenden Sie ASK CLI Befehle, um ein Aktualisierungstoken zu erstellen

CodePipeline verwendet ein Aktualisierungstoken, das auf der Client-ID und dem geheimen Schlüssel in Ihrem Amazon-Entwicklerkonto basiert, um Aktionen zu autorisieren, die es in Ihrem Namen ausführt. In diesem Abschnitt verwenden Sie den, ASK CLI um das Token zu erstellen. Sie nutzen diese Anmeldeinformationen bei der Verwendung des Assistenten Create Pipeline (Pipeline erstellen).

So erstellen Sie ein Aktualisierungs-Token mit den Anmeldeinformationen Ihres Amazon-Entwicklerkontos
  1. Verwenden Sie den folgenden Befehl:

    ask util generate-lwa-tokens
  2. Geben Sie bei entsprechender Aufforderung Ihre Client-ID und den Schlüssel wie in diesem Beispiel ein:

    ? Please type in the client ID: amzn1.application-client.example112233445566 ? Please type in the client secret: example112233445566
  3. Die Browserseite für die Anmeldung wird angezeigt. Melden Sie sich mit den Anmeldeinformationen für Ihr Amazon-Entwicklerkonto an.

  4. Wechseln Sie zurück zum Fenster mit der Befehlszeile. Das Zugriffstoken und das Aktualisierungstoken werden in der Ausgabe generiert. Kopieren Sie das zurückgegebene Aktualisierungs-Token, das in der Ausgabe enthalten ist.

Schritt 4: Erstellen Ihrer Pipeline

In diesem Abschnitt erstellen Sie eine Pipeline mit den folgenden Aktionen:

  • Eine Quellstufe mit einer CodeCommit Aktion, bei der es sich bei den Quellartefakten um die Alexa-Skill-Dateien handelt, die Ihren Skill unterstützen.

  • Eine Bereitstellungsstufe mit einer Alexa Skills Kit-Bereitstellungsaktion.

So erstellen Sie mit dem Assistenten eine Pipeline
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die CodePipeline Konsole unter http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Wählen Sie die AWS Region aus, in der Sie das Projekt und seine Ressourcen erstellen möchten. Die Alexa Skill-Laufzeit ist nur in den folgenden Regionen verfügbar:

    • Asien-Pazifik (Tokio)

    • Europa (Irland)

    • USA Ost (Nord-Virginia)

    • USA West (Oregon)

  3. Wählen sie auf der Seite Welcome (Willkommen) die Option Getting started (Erste Schritte) aus, oder auf der Seite Pipelines die Option Create pipeline (Pipeline erstellen).

  4. Geben Sie unter Step 1: Choose pipeline settings (Schritt 1: Auswahl der Pipeline-Einstellungen) unter Pipeline name (Pipeline-Name) MyAlexaPipeline ein.

  5. Wählen Sie unter Pipeline-Typ die Option V2 aus. Weitere Informationen finden Sie unter Arten von Pipelines. Wählen Sie Weiter.

  6. Wählen Sie unter Servicerolle die Option Neue Servicerolle aus, CodePipeline um das Erstellen einer Servicerolle in zu ermöglichenIAM.

  7. Belassen Sie die Einstellungen unter Erweiterte Einstellungen bei den Standardeinstellungen, und wählen Sie dann Next (Weiter) aus.

  8. Wählen Sie unter Step 2: Add source stage (Schritt 2: Quell-Phase hinzufügen) unter Source provider (Quell-Anbieter) die Option AWS CodeCommit. Wählen Sie unter Repository-Name den Namen des CodeCommit Repositorys aus, in dem Sie es erstellt habenSchritt 1: Erstellen Sie ein CodeCommit Repository. Wählen Sie in Branch name den Namen des Branch aus, der das neueste Code-Update enthält.

    Nachdem Sie den Repository-Namen und den Branch ausgewählt haben, wird in einer Meldung die Amazon CloudWatch Events-Regel angezeigt, die für diese Pipeline erstellt werden soll.

    Wählen Sie Weiter.

  9. Wählen Sie unter Step 3: Add build stage (Schritt 3: Build-Stufe hinzufügen) die Option Skip build stage (Build-Stufe überspringen) und akzeptieren Sie die Warnmeldung, indem Sie erneut auf Skip (Überspringen) klicken.

    Wählen Sie Weiter.

  10. Unter Step 4: Add deploy stage (Schritt 4: Bereitstellungsstufe hinzufügen):

    1. Wählen Sie unter Deploy provider (Bereitstellungsanbieter) die Option Alexa Skills Kit.

    2. Geben Sie unter Alexa Skill-ID die Qualifikations-ID ein, die Ihrer Qualifikation in der Alexa Skills Kit-Entwicklerkonsole zugewiesen ist.

    3. Geben Sie unter Client-ID die ID der von Ihnen registrierten Anwendung ein.

    4. Geben Sie unter Clientschlüssel den Schlüssel ein, den Sie während der Registrierung gewählt haben.

    5. Geben Sie unter Aktualisierungs-Token das Token ein, das Sie in Schritt 3 generiert haben.

      Schritt 4: Seite „Bereitstellen“ für eine Alexa Skills Kit-Aktion
    6. Wählen Sie Weiter.

  11. Prüfen Sie in Step 5: Review die Informationen und wählen Sie dann Create pipeline aus.

Schritt 5: Vornehmen einer Änderung an einer beliebigen Quelldatei und Überprüfen der Bereitstellung

Nehmen Sie eine Änderung an Ihrer Qualifikation vor und übertragen Sie die Änderung per Push in Ihr Repository. Damit wird die Ausführung Ihrer Pipeline ausgelöst. Vergewissern Sie sich, dass Ihre Qualifikation in der Alexa Skills Kit-Entwicklerkonsole aktualisiert wurde.