ヤマムギ

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 ,

  関連記事

iPad ProのWorking CopyでAWS CodeCommitのリポジトリを使う

iPad Proを導入しましたので、原稿執筆や校正でフル活用しようと思いまして。 …

Amazon Bedrock Conversational Builderを使用してAIエージェントを作成してみました

2024年10月16日に「Amazon Bedrock のエージェントが Con …

AWS LambdaでS3 Select

RDSスナップショットをS3にエクスポートした、Parquetフォーマットのデー …

CodeGuru ProfilerでLambda関数(Python 3.9)のパフォーマンスを確認した

CodeGuru ProfilerでPython 3.9のLambda関数の推奨 …

AMIをOrganizations組織で共有しました

よく使うAMIをOrganizations組織内のリソースパブリッシュ用のアカウ …

AWS Systems Manager セッションマネージャを使用するために必要な設定

AWS Systems Manager セッションマネージャを使用するために必要 …

EC2ユーザーデータからメタデータを取得してRocket.Chatで80ポートを使用する

Rocket.Chatのデフォルトポート番号は3000です。 80を使うようにす …

「最小限のコードで機械学習のためのトレーニングデータを準備する」チュートリアル記録

Amazon SageMaker Data Wranglerのチュートリアルをや …

Lambda関数で自分自身の環境変数を更新する

Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …

JAWS DAYS 2018 「Cost-Driven AWS クラウドアーキテクチャデザインとコスト最適化方法 – Cost-Driven AWS Cloud Architecture Design : The Lean Startup on AWS」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …