質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
InfluxDB

InfluxDBは、InfluxDataによって開発された時系列データベースです。オープンソースであり、Go言語で記述されています。

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Q&A

0回答

651閲覧

AWS Lambda データベースへの書き込みプログラム

raspypy

総合スコア247

InfluxDB

InfluxDBは、InfluxDataによって開発された時系列データベースです。オープンソースであり、Go言語で記述されています。

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

0グッド

0クリップ

投稿2022/04/28 16:41

やろうとしていること

〇システム構成
IoT Devieから環境データをAWS IoT Coreに送信
AWS IoT Coreはデータ受信時に、ACTルールで、AWS Lambda関数を呼び出し
AWS Lambda関数は、EC2上にインストールしたInfluxDBに受信した環境データを書き込み

 ① IoT Device - AWS IoT Core (MQTT通信)
AWS IoT Coreが受信するjsonデータ

json

1 "clientId": "SensorBoard", 2 "date_time": "2022-04-28 19:53:49", 3 "Board_ID": 4, 4 "Temperature": 23.22850227, 5 "Humidity": 56.95950699, 6 "Pressure": 989.6340942, 7 "Voltage": 0

② AWS EC2 InfluxDBインストール、データベース作成
③ AWS Lambda上にPythonプログラムデプロイ
VPCを設定し、AWS EC2サイトにインストールしたInfluxDBへアクセス可能としています。

④ AWS IoT ACTルール
AWS IoT CoreがMQTT受信すると、Lambda関数呼び出し

プログラム

python

1import influxdb 2 3db = influxdb.InfluxDBClient( 4 database=process.env.INFLUXDB, 5 username=process.env.INFLUXDBUSRNAME, 6 password=process.env.INFLUXDBPWD, 7 port=process.env.INFLUXDBPORT, 8 hosts=[{ host: process.env.INFLUXDBHOST }], 9) 10 11def lambda_handler(event, context): 12 sdata = JSON.parse(event.body) 13 print (sdata) 14 db.write_points(sdata)

環境変数として、
INFLUXDB:データベース名
INFLUXDBUSRNAME: ユーザ名
INFLUXDBPWD:パスワード
INFLUXDBPORT: ポート8086
INFLUXDBHOST:InfluxDBがインストールされているEC2サイトのアドレス
を設定しています。

困っていること

InfluxDBへデータが書き込まれません。
Pythonのプログラムは、次の記事(Node.js)で作成されたものを参考にして作っていますが、間違いがあるようでしたら、
指摘していただけると助かります。

https://tech.gmogshd.com/raspberrypi-and-awsiot-latter/

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問