Alexa-hostedスキルについて
通常、Alexaスキルのコードとリソースは開発者自身が保存します。しかし、Alexa-hostedスキルを作成すると、Alexaはコードとリソースを開発者に代わってAmazon Web Services(AWS)に保存します。Alexa-hostedスキルでは、開発者コンソールで利用可能なスキルテンプレートを使用して、すぐにスキル開発を始められます。また、スキルのコーディングは開発者コンソールのオンラインコードエディタで行うことができます。
Alexa-hostedスキルの作成や管理に、Alexa Skills Kit(ASK)コマンドラインインターフェース( CLI)を使うこともできます。
概要
Alexa-hostedスキルでは、スキルの作成、編集、公開がすべて開発者コンソールで完結します。オンラインコードエディタを使えば、スキルのコードを編集し、AWS Lambdaエンドポイントに直接デプロイできます。
Alexa-hostedスキルを作成すると、Alexaは以下をプロビジョニングします。
- Alexaのサービスリージョン(3つすべて)のAWS Lambdaエンドポイント
- メディアストレージ用のAmazon S3バケット
- データを永続化するためのAmazon DynamoDBテーブル
- AWS CodeCommitリポジトリ
Alexa-hostedスキルを作成するためにAWSアカウントは必要ありません。Alexaは、必要なAWSリソースをAlexa開発者コンソールから直接プロビジョニングします。Alexaはファイルやリソースを、他のユーザーのアカウントから切り離された個々のアカウントに配置します。また、ファイルが他のユーザーと共有されることはありません。そのほかのAWSサービスを利用する必要がある場合やAWS無料利用枠を超えた場合、追加のリソースのプロビジョニングには独自のAWSアカウントが必要です。詳細については、Alexa-hostedスキルで個人のAWSリソースを使用するを参照してください。
スキルを作成すると、コード管理用のAWS CodeCommitリポジトリもセットアップされます。ASK CLIを使ってこのリポジトリにアクセスしてスキルを編集できます。詳細については、ASK CLIを使用したAlexa-hostedスキルの作成と管理を参照してください。
Alexa-hostedスキルについての説明動画は、YouTubeのSetting up an Alexa-hosted skill(英語)を参照してください。
Alexa-hostedスキルの考慮事項
Alexa-hostedスキルを作成する前に、以下の点を考慮してください。
- Alexa-hostedスキルとしてカスタム音声対話モデルを使用するスキルを構築できます。現時点では、スマートホームスキルなど、プリビルドされた音声対話モデルを使用するAlexa-hostedスキルは作成できません。
- Node.jsバージョン16.xまたはPythonバージョン3.8を使用してAlexa-hostedスキルを構築できます。スキルを作成するときに、スキルのランタイムを選択します。スキルのランタイムを選択すると、後から変更できません。
- スキルユーザーから近いリージョンでS3とDynamoDBリソースをプロビジョニングすることで、スキルの体感速度を向上することができます。詳細はリソースをさまざまなAWSリージョンでホスティングするを参照してください。
- S3およびDynamoDBに保存されたすべてのデータは、AWSで管理された暗号化キーを使用して保管時に暗号化されます。これらのキーは、AWSKey Management Service(KMS)によって作成および管理されます。Alexa-hostedスキルでは、暗号化キーを作成または管理することはできません。
重要: これらの無料のAWSリソースを使用する場合は、データの機密性を考慮してください。KMSキーの詳細については、カスタマーキーとAWSキーを参照してください。
Alexa-hostedスキルを作成する
Alexa-hostedスキルは、次の方法で作成できます。
- 開発者コンソールから利用可能なテンプレートを選択して新規作成するには、コンソールでAlexa-hostedスキルを作成するを参照してください。
- 公開GitリポジトリからスキルプロジェクトをインポートしてAlexa-hostedスキルを新規作成するには、GitリポジトリをAlexa-hostedスキルにインポートするを参照してください。
- ASK CLIを使用してAlexa-hostedスキルを作成するには、ASK CLIを使用したAlexa-hostedスキルの作成と管理を参照してください。
- 既存のカスタムモデルスキルをAlexa-hostedスキルに移行するには、既存のスキルをAlexa-hostedスキルに切り替えるを参照してください。
- VS Codeを使用してAlexa-hostedスキルを作成するには、Alexa Skills Toolkit for Visual Studio Codeで開発を始めるを参照してください。
リソースをさまざまなAWSリージョンでホスティングする
スキル利用時の体感速度を向上するため、AlexaはAlexa-hostedスキル用に3つのAWS Lambdaエンドポイントをプロビジョニングします。Alexaは、以下の各リージョンでスキルのLambdaエンドポイントをプロビジョニングします。
- 米国東部(バージニア北部)us-east-1
- 欧州(アイルランド)eu-west-1
- 米国西部(オレゴン)us-west-2
これらのリージョンにAmazon S3とDynamoDBリソースをプロビジョニングできます。次の表に基づいた、ユーザーに最も近いリージョンを選択することをお勧めします。以下は、コンソールでスキルの作成時にデフォルトのホスティングリージョンとして表示されます。
スキルの言語 | マーケットプレイス | AWSリージョン | 推奨されるAWSリージョン |
---|---|---|---|
英語(AU) | .com.au | 極東 | 米国西部(オレゴン)us-west-2 |
英語(CA) | .ca | 北米 | 米国東部(バージニア北部)us-east-1 |
英語(IN) | .in | ヨーロッパ | 欧州(アイルランド)eu-west-1 |
英語(UK) | .co.uk | ヨーロッパ | 欧州(アイルランド)eu-west-1 |
英語(US) | .com | 北米 | 米国東部(バージニア北部)us-east-1 |
フランス語(CA) | .ca | 北米 | 米国東部(バージニア北部)us-east-1 |
フランス語(FR) | .fr | ヨーロッパ | 欧州(アイルランド)eu-west-1 |
ドイツ語(DE) | .de | ヨーロッパ | 欧州(アイルランド)eu-west-1 |
ヒンディー語(IN) | .in | ヨーロッパ | 欧州(アイルランド)eu-west-1 |
イタリア語(IT) | .it | ヨーロッパ | 欧州(アイルランド)eu-west-1 |
日本語(JP) | .co.jp | 極東 | 米国西部(オレゴン)us-west-2 |
ポルトガル語(BR) | .com.br | 北米 | 米国東部(バージニア北部)us-east-1 |
スペイン語(ES) | .es | ヨーロッパ | 欧州(アイルランド)eu-west-1 |
スペイン語(MX) | .com.mx | 北米 | 米国東部(バージニア北部)us-east-1 |
スペイン語(US) | .com | 北米 | 米国東部(バージニア北部)us-east-1 |
スキルのエンドポイント
Alexaは、Alexaの各サービスリージョンにAlexa-hostedスキルのAWS Lambdaエンドポイントをプロビジョニングします。デフォルトのエンドポイントをHTTPSエンドポイントに変更すると、スキルはAlexa-hostedスキルではなくなり、コンソールのコードエディターで新しいエンドポイントにデプロイしなくなります。公開中スキルのデフォルトエンドポイントを変更する場合は、独自のAWS LambdaエンドポイントまたはHTTPSエンドポイントを作成し、新しいエンドポイントを使用するためにスキルを再度申請する必要があります。もしくは、開発者コンソールのコードタブで Alexa-hostedエンドポイントを使用するオプションを選択して戻すことができます。
関連トピック
- Alexa-hostedスキルでメディアファイルを使用する
- Alexa-hostedスキルのデータ永続性にDynamoDBを使用する
- ホストされたリソースの使用制限
- 開発者コンソールを使用したスキルの作成と管理
最終更新日: 2023 年 05 月 15 日