Alexa-hostedスキル



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-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バージョン12.xまたはPythonバージョン3.7を使用してAlexa-hostedスキルを構築できます。スキルを作成するときに、スキルのランタイムを選択します。スキルのランタイムを選択すると、後から変更できません。
  • スキルユーザーから近いリージョンでS3とDynamoDBリソースをプロビジョニングすることで、スキルの体感速度を向上することができます。詳細はリソースをさまざまなAWSリージョンでホスティングするを参照してください。

Alexa-hostedスキルを作成する

Alexa-hostedスキルは、次の方法で作成できます。

リソースをさまざまな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エンドポイントを使用するオプションを選択して戻すことができます。