Alexa音声アシスタント特集Lambda2017年04月18日せーの(269)15この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。春のけはいがようやくととのったようですが、お元気でいらっしゃいますか、せーのです。Kitの新しい機能のご紹介です。Address、ということは、そう、住所に関する機能のアップデートです。location」という項目に住所を入力することが出来ます。これは例えばAlexaに天気を聞いたりする時にデフォルトで地域を指定するために使います。今日の天気は?」と言うとAlexaはここの住所を元に天気APIに検索をかけるんですね。Skillにも開放しよう、という機能となります。呼びかけている場所がどこからなのかがわかると使えるサービスはうんと幅が広がりそうですね。Code(郵便番号)を知る」機能と「フルの住所を知る」2つの機能があります。かい住所が必要になる場合は後者の機能を使うと良いでしょう。実際にこの機能を実装するにはどうしたらいいでしょう。API]はその名の通りAPIですので、属性を与えてエンドポイントを叩いてやると結果を返してくれます。扱う情報は個人情報になりますので、事前のユーザによる許可が必要となります。APIを使用するフローはこんな感じになります。token"にtokenが入る。tokenにtokenが入っていればAPIを叩いて住所を取り出すです。tokenはユーザの住所情報に対する許可をトークンという形で受け渡しするものです。Token、とかの仲間です。実際にLambdaに渡るrequestの中ではこのように格納されています。}}Userごとのパーミッション(規制)、という形になるんですね。意味としては正しい(ユーザーのいる場所、なのだからUserに紐づく)と思います。実際のAlexaの画面ではデバイス毎に異なる住所を打ち込むことが可能なので、この位置にあるのは多少違和感がありますが。ここにあるのでLambdaの中ではevent.context.System.user.permissions.consentTokenで取ってこれます。ID」同様、AlexaのdevelopersコンソールのTestから送っても"System"ごとカットされていますのでご注意下さい。AskForPermissionsConsentCardAskForPermissionsConsentCardはユーザーが住所の登録をしていない場合に登録を促すメッセージの雛形となります。Lambdaのresponseにこのような形で「card」カテゴリに入れておけばOKです。}}read::alexa:device:all:addressというのはユーザーに許可させる住所情報の範囲を示します。国とZipCode(郵便番号)どちらか必要な範囲のpermissionを指定してcardを返します。ちなみにall:addressとall:address:cはAPI上のエンドポイントもpermissionも別のものと捉えられるので、「全ての住所情報」に許可されていたとしても「国とZipCode」を取得するAPIを叩いたら403が返ってきます。「国とZipCode」の情報が使いたい時はその許可が別途必要となります。このCardはユーザーにはこのように見えます。ユーザはこのCardをクリックすると許可ページに流れる、というわけです。APIのコードサンプルがあるのでそちらを使ってみましょう。Skillを作成します。細かいSkillの作り方はこちらを見て参考になさって下さい。Utteranceをそれぞれ貼り付けます。APIを使用するチェックを入れます。あとは通常にSkillを作っていきます。次にAWSのマネージメントコンソールより新規にLambdaを開きます。新規FunctionでAlexaのBlueprintを選択します。コードをzipアップロードするので、とりあえずFactSkillを選んでおきます。サンプルコードのnodeライブラリをインストールしてzip化します。*出来上がった[packagedSkill.zip]をLambdaにアップロードします。これで準備は完了です。Acceessが必要、とあるのですが、特に使っているようには見えないのでなくてもいいと思います。テストそれではテストしてみましょう。住所の許可を出さずにそのまま使ってみます。app.ということでPermissionが足りない、と言われます。alexaサイトから住所情報の許可をONにします。同じやりとりをもう一回してみます。97230.住所を読み上げてくれました。成功です(この住所はアメリカにある転送サービスの倉庫の住所です)。まとめいかがでしたでしょうか。住所を使ったスキルもこれで作りやすくなりましたね。同時に開発者的にも自分のサーバで個人情報を管理しなくていいので安心です。2,693,328せーのと申します。北海道にて犬2匹とともにのんびりコードを書いたりしています。最近は触れるデバイスをネットにつなげて遊ぶのにはまっています。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。使いたいときの注意点を書きました。本が出ていたので読んでみたところよかったので紹介させていただきます。EC2)環境において、不要な踏み台サーバをなくすことができる便利なアップデートです。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介252SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健232こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。