GitリポジトリをAlexa-hostedスキルにインポートする
Alexa-hostedスキルを作成すると、AlexaはリソースをAWSでプロビジョニングおよび管理します。このサービスには、オンラインのコードエディタまたはAlexa Skills Kitコマンドラインインターフェイス(ASK CLI)やVisual Studio Codeなどのオフラインツールを使用して開発できるコードも保存されます。Alexa-hostedスキルの詳細については、Alexa-hostedスキルを使用してスキルをエンドツーエンドで作成するを参照してください。
パブリックGitリポジトリからスキルプロジェクトをインポートして、新しいAlexa-hostedスキルを作成することもできます。つまり、スキルをパブリックGitリポジトリからインポートすることで、GitHub、GitLab、BitbucketなどのプラットフォームでAlexaコミュニティが共有するさまざまなオープンソーステンプレートを使用してスキル開発を始めることができます。
Alexa-hostedスキルは、次の方法で作成することもできます。
- Alexa開発者コンソールを使用して作成できます。
- ASK CLIを使用して作成できます。
前提条件と要件
以下は、公開されているGitプロジェクトをAlexa-hostedスキルにインポートするための前提条件と要件です。
- Gitプロジェクトアーカイブのサイズは50 MBを超えてはいけません。
- Gitプロジェクトでは、Node.jsまたはPythonを使用する必要があります。
- Gitプロジェクトには、スキルを作成するときにデフォルト言語として選択する言語が含まれている必要があります。
- Gitプロジェクトのスキルコードには、対話モデルとレスポンスコードが含まれている必要があります。
- プロジェクトファイルの構造が正しい必要があります。詳細については、サポートされているプロジェクト構造を参照してください。
- ハンドラーを含むコードファイルの名前は、index.js(Node.jsの場合)またはlambda_function.py(Pythonの場合)にする必要があります。
GitリポジトリをAlexa-hostedスキルにインポートする
GitリポジトリをAlexa-hostedスキルにインポートする
- Alexa開発者コンソールを開いて、ログインします。
- スキルの作成をクリックします。新しいスキルを作成ページが表示されます。
- スキル名に名前を入力します。
- デフォルトの言語で言語を選択します。
- スキルに追加するモデルを選択でカスタムを選択します。
- スキルのバックエンドリソースをホスティングする方法を選択で、Alexa-Hosted(Node.js)またはAlexa-Hosted(Python)を選択します。
- スキルを作成をクリックします。スキルに追加するテンプレートを選択ページが表示されます。
- スキルをインポートをクリックします。スキルをインポートダイアログが表示されます。
- インポートするスキルを含むGitリポジトリ(.git)のURLを入力します。
- インポートをクリックします。Alexa-hostedスキルを作成していますというメッセージが表示されます。インポートできるAlexaスキルがGitリポジトリに含まれていることを検証した後に、Alexa-hostedスキルが作成されます。
インポート後のタスク
Alexaがホストするスキルをインポートした後、次のような追加のタスクを実行する場合があります。
- スキルに、Alexa-hostedスキルでサポートされていない依存サービス(DynamoDB、SageMaker、Amazon Translateなど)が含まれている場合は、個人のAWSリソースを使用する必要があります。詳細については、Alexa-hostedスキルで個人のAWSリソースを使用するを参照してください。
- スキルでアカウントのリンクが必要な場合は、別途設定してください。詳細については、アカウントリンクとはを参照してください。
サポートされているプロジェクト構造
Alexa-hostedスキルの作成時にインポートするプロジェクトには、特定の構造が必要です。プロジェクト構造には2つの選択肢があります。スキルパッケージ形式またはASK CLI v1形式を使用します。使用するプログラミング言語に対応するプロジェクト構造を選択します。
スキルパッケージの形式(Node.js)
SkillName
└── lambda
│ ├── index.js
│ └── package.json
|
└── skill-package
└── assets
| └── images
| ├── ja-JP_largeIcon.png
| ├── ja-JP_smallIcon.png
| ├── isp1
| │ ├── ja-JP_largeIcon.png
| │ └── ja-JP_smallIcon.png
| └── isp2
| ├── ja-JP_largeIcon.png
| └── ja-JP_smallIcon.png
|
└── interactionModels
| └── custom
| └── ja-JP.json
|
└── isps
| ├── isps.json
| ├── isp1.json
| └── exampleDirectory
| └── isp2.json
|
└── skill.json
スキルパッケージの形式(Python)
SkillName
└── lambda
│ ├── lambda_function.py
│ └── requirements.txt
|
└── skill-package
└── assets
| └── images
| ├── ja-JP_largeIcon.png
| ├── ja-JP_smallIcon.png
| ├── isp1
| │ ├── ja-JP_largeIcon.png
| │ └── ja-JP_smallIcon.png
| └── isp2
| ├── ja-JP_largeIcon.png
| └── ja-JP_smallIcon.png
|
└── interactionModels
| └── custom
| └── ja-JP.json
|
└── isps
| ├── isps.json
| ├── isp1.json
| └── exampleDirectory
| └── isp2.json
|
└── skill.json
ASK CLI v1の形式(Node.js)
SkillName
├── .ask/config
├── skill.json
└── isps/
|
└── lambda/
│ ├── index.js
│ └── package.json
|
└── models
└── xx-YY.json
ASK CLI v1の形式(Python)
SkillName
├── .ask/config
├── skill.json
└── isps/
|
└── lambda/
│ ├── lambda_function.py
│ └── requirements.txt
|
└── models
└── xx-YY.json
関連トピック
- Alexa-hostedスキルでメディアファイルを使用する
- Alexa-hostedスキルのデータ永続性にDynamoDBを使用する
- Alexa-hostedスキルで個人のAWSリソースを使用する
- ASK CLIを使用したAlexa-hostedスキルの作成と管理
最終更新日: 2020 年 11 月 05 日