ヤマムギ

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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

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

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

 - AWS ,

ad

ad

  関連記事

S3バケットにWebフォントをアップロードしてCORSを設定する

Webフォントファイルは、モジワク研究さんのマメロンを使用させていただきました。 …

AWS Control TowerにOUを追加する

AWS Control TowerにOUを追加する 管理アカウントでAWS Co …

ブログ画像のシンガポールリージョンへのレプリケーションはじめました

このブログの画像はS3バケットに保存して、CloudFront経由で配信していま …

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

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

RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する

RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …

Elastic BeanstalkでflaskアプリケーションデプロイのチュートリアルをCloud9で

Elastic Beanstalk への flask アプリケーションのデプロイ …

Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(失敗、手戻りそのまま記載版)

勉強のためブログサイトを長らくお世話になったロリポップさんから、AWSに移設する …

AWS Lambda KMSを使って環境変数を暗号化、復号化する(Python)

Lambda内で外部APIを使用する場合などをユースケースとして、環境変数をKM …

共有AMIのコピー時にエラー「You do not have permission to access the storage of this ami」

他アカウントから共有されたAMIをコピーする際に、「You do not hav …

Developers Summit 2018 「AWSのフルマネージドな環境でCI/CDをやってみよう!AWS Cloud9からAWS Fargateへの継続的デプロイをご紹介」を聞きました

※写真は展示のAmazon Echoです。 以下は、思ったことや気になったことを …