Closed ddddddO closed 1 year ago
AmazonSNSとSQSを両方使ってみたい
get_and_store_dataプロセスは、CO2取得処理を追加する必要がある
get_and_store_dataは、ラズパイ上で起動しないといけない
DBはラズパイ上のsqliteをそのまま使いたい。課金を抑えたいため。
graph TD
bme280 --> get_and_store_data
get_and_store_data --> DB
DB --> get_10records_and_publish
get_10records_and_publish --> AmazonSNS
AmazonSNS --> generate_line_graph_file_press
AmazonSNS --> generate_line_graph_file_hum
AmazonSNS --> generate_line_graph_file_temp
AmazonSNS --> generate_line_graph_file_co2
generate_line_graph_file_press --> AmazonSQS
generate_line_graph_file_hum --> AmazonSQS
generate_line_graph_file_temp --> AmazonSQS
generate_line_graph_file_co2 --> AmazonSQS
AmazonSQS --> post_tweet
post_tweet --> twitterAPI
twitterAPI --> twitterApp
graph TD
bme280 --> get_and_publish_data_bme280
mh-z19 --> get_and_publish_data_mh-z19
sensor_a --> get_and_publish_data_a
sensor_b --> get_and_publish_data_b
get_and_publish_data_bme280 --> 1[AmazonSQS]
get_and_publish_data_mh-z19 --> 1
get_and_publish_data_a --> 1
get_and_publish_data_b --> 1
1 --> get_and_store_data
get_and_store_data --> DB
DB --> get_10records_and_publish
get_10records_and_publish --> AmazonSNS
AmazonSNS --> generate_line_graph_file_press
AmazonSNS --> generate_line_graph_file_hum
AmazonSNS --> generate_line_graph_file_temp
AmazonSNS --> generate_line_graph_file_co2
generate_line_graph_file_press --> AmazonSQS
generate_line_graph_file_hum --> AmazonSQS
generate_line_graph_file_temp --> AmazonSQS
generate_line_graph_file_co2 --> AmazonSQS
AmazonSQS --> post_tweet
post_tweet --> twitterAPI
twitterAPI --> twitterApp
sqs
lambdaからsqsへのアクセスで403が返ってきた。権限が無いよう。以下が参考になりそう。 https://bobbyhadz.com/blog/aws-grant-lambda-access-to-sqs ↓ IAM > ロール で確認できるlambdaのロールのARNを、sqs作成時の、アクセス許可するロールに追加する。それでsqsへはpublishできる。後から追加は可能?-> 可能。SQSのアクセスポリシー(json)に、追加すればいい。
raspberry pi(aws cli v2をインストールするため)
sudo pip3.8 install https://github.com/boto/botocore/archive/v2.tar.gz
sudo pip3.8 install https://github.com/aws/aws-cli/archive/v2.tar.gz
ざっと動くまで対応した
構成再編メモ