ASK CLIで作成したLambdaのリージョンと言語を指定する

1 min read読了の目安(約1600字

Alexa Skills Kitコマンドラインインターフェースを使って作ったスキルをデプロイするとデフォルトでバージニア北部(us-east-1)にLambdaが作られ、一度デプロイするとリージョンが変更できないようなので、他のリージョンを選ぶならデプロイ前が肝心です。
なお、スキルの言語設定はデプロイ後でも変更できます。

ASK CLIのバージョンは2.22.4です。

ask newで作成されたファイルを見るとリージョンがバージニア北部に指定されています。

<skillname>/ask-resources.json
{
  "askcliResourcesVersion": "2020-03-31",
  "profiles": {
    "default": {
      "skillId": "",
      "skillMetadata": {
        "src": "./skill-package"
      },
      "code": {
        "default": {
          "src": "./lambda"
        }
      },
      "skillInfrastructure": {
        "userConfig": {
          "runtime": "python3.6",
          "handler": "hello_world.handler",
          "awsRegion": "us-east-1"
        },
        "type": "@ask-cli/lambda-deployer"
      }
    }
  }
}

awsRegionでリージョンを指定します。(以下は東京の場合)

<skillname>/ask-resources.json
-          "awsRegion": "us-east-1"
+          "awsRegion": "ap-northeast-1"

リージョンを指定するだけならこれだけでデプロイしても良いのですが、以下のようにスキルの言語設定が英語になります。

ここで言語指定されています。

<skillname>/skill-package/skill.json
{
  "manifest": {
    "publishingInformation": {
      "locales": {
        "en-US": {
 

後からでも変更できますが、日本語のスキルを開発する場合は初回デプロイの前に変更するのが良いと思います。
日本語のスキルとする場合はlocalesja-JPへ変更します。

<skillname>/skill-package/skill.json
-        "en-US": {
+        "ja-JP": {

対話モデルの定義ファイル名を以下のようにen-US.jsonからja-JP.jsonへ変更します。
<skillname>/skill-package/interactionModels/custom/ja-JP.json

これでask deployでデプロイすれば日本語に変更されます。