ヤマムギ

growing hard days.

*

Amazon Location Service入門ワークショップ-トラッカー

   

トラッカーでデバイスの位置や移動履歴を追跡できます。

関連記事

GetDevicePosition

デバイスの位置を取得できます。

ワークショップアプリで[Trackers]を押下して、マップ上をクリックすると、車アイコンのデバイスが追加されます。
これがVehicle-1なので上記のようなコマンドで位置情報が得られます。

GetDevicePositionHistory

ワークショップアプリでマップを数回クリックしてデバイスを複数地点に移動させて、[View History]ボタンを押下すると移動履歴が表示できます。

GetDevicePositionHistoryアクションで情報が取得できています。

CLIの場合、このようなコマンドです。

位置情報のリストが取得できます。
この情報は30日間Amazon Location Serviceに保存されています。
30日間以上保存が必要な場合は定期的に出力してS3などに保存します。

BatchUpdateDevicePosition

デバイスを移動させます。

大阪城に移動させるコマンドです。
このコマンドではドライバーIDや速度といった属性をもたせることができていません。
パラメータにPositionPropertiesを追加することでもたせられます。

IoT CoreとMQTTを使ったトラッキング

IoT CoreルールからLambda関数を呼び出してトラッカーを更新します。

IAMロールの作成

Lambda関数用のIAMロールを作成しました。
ポリシーは、AWS管理ポリシーAWSLambdaBasicExecutionRoleと、次のインラインポリシーを追加しました。

Lambda関数の作成

ワークショップ手順に用意されている次のコードでPython3.9ランタイムのLambda関数を作成しました。
IoT Coreイベントから渡されるlocation情報などでトラッカーを更新するコードです。

AWS IoT Coreルールの作成

IoT Coreにアクセスして、[メッセージのルーティング]-[ルール]でルールの作成をしました。

SQLステートメントは手順通りSELECT * FROM ‘devices/Vehicle-1’にしました。

作成したLambda関数を指定しました。

テスト

AWS Iot Coreコンソールの[MQTT テストクライアント]-[トピックに公開する]で、トピック名devices/Vehicle-1として、次を設定しました。
timestampは過去30日以内が必要なので、ターミナルでdate +%sで求めました。

トラッカーが更新された車が通天閣に移動しました。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

  関連記事

Feedlyのフィードを自動でSlackへ投稿する(AWS Lambda , Amazon DynamoDB)

やりたいこと Feedlyで共有したいフィードに特定のタグを付けます。 特定のタ …

AWS Elastic Beanstalkによって作成されたS3バケットはDeleteBucketが拒否されていた

ちょっとした検証をしたあとに、Elastic Beanstalkのアプリケーショ …

[JapanTaxi] Athena 指向アナリティクス 〜真面目に手を抜き価値を得よ〜(AWS Summit Tokyo 2017)を聞いてきました

Athenaのユースケースとして聞きにいきましたが、最近触ってるRe:dashも …

slackのbotに天気を教えてもらう(Python on AWS Lambda + API Gateway)

slackのbotにAPIの定番ともいえる天気情報を教えてもらいました。 環境は …

AWS Savings Plansを検討しました

今、個人でAWSアカウントを7つ使っています。 Savings Plansが使え …

AWS AmplifyでTodoアプリを作るハンズオンをやってみました

【お手軽ハンズオンで AWS を学ぶ】AWS Amplify で Todo アプ …

Azure AD SSOからAWS SSOに統合するための提供情報

Azure AD SSO担当者に送る情報をこちらの記事を見て確認しました。 チュ …

Route53でドメインを新規取得してDNSレコードを設定する

Elastic IPをAWSで発行しているのですから、DNSの設定も同じようにマ …

ちょっとしたCLI作業にEC2起動テンプレート

CLIでちょっとした作業したいだけのときに、Cloud9を使うまでもないなあと思 …

EC2 Instance Connect向けのセキュリティグループのソースにプレフィックスリストを

EC2 Instance Connect、便利ですね。 キーペア不要で、EC2イ …