Rocket.ChatにAWS Lambda(Python)から投稿する
2020/06/17
Rocket.ChatにAPIで投稿するテスト(Postman)をやってみて、使い方がわかってきましたので、AWS Lambda PythonでRocket.Chatに投稿してみます。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
import logging import json import traceback import os import requests logger = logging.getLogger() logger.setLevel(logging.DEBUG) token = os.environ.get('rocket_token', None) user_id = os.environ.get('rocket_user_id', None) room_id = os.environ.get('rocket_room_id', None) url = os.environ.get('rocket_url', None) def lambda_handler(event, context): logger.debug(event) try: headers = { 'X-Auth-Token': token, 'X-User-Id': user_id, 'Content-Type': 'application/json' } for record in event['Records']: message = json.loads(record['Message']) project_id = message['project_id'] description = message['detail'] message = { 'message': { 'rid': room_id, 'msg': description } } response = requests.post( url, data=json.dumps(message), headers=headers ) logger.debug(response.text) except: logger.error(traceback.format_exc()) |
POSTした後のレスポンスでは、メッセージIDとかも返ってくるので、投稿したトピックのレスポンスとかも取得して、いろいろできそうです。
トークンとか環境変数にしています。
そのうち、SecretsManagerにします。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Amazon Linux 2023、T4Gインスタンス、PHP8にWordPressを移行しました
ブログをAmazon Linux 2からAmazon Linux 2023に移行 …
-
-
AWS Lambda(Python3.7)でPandocを実行する際にCSSもLayerから読み込む
Pandocで必要そうなオプションを確認しておく 先日の「AWS Lambda( …
-
-
S3バケットポリシーで特定のVPCエンドポイント以外からのリクエストを拒否しつつメンテナンスはしたい
特定のVPCで実行されているEC2のアプリケーションからのリクエストだけを許可し …
-
-
「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Microservices × Serverless On AWS」で運営と懇親会LTをしてきました
「JAWS-UG Osaka 第22回勉強会 東西の中の人が語る!!! Micr …
-
-
Amazon Location Service入門ワークショップ-ルート計算
Amazon Location Service入門ワークショップのアプリで、ルー …
-
-
AWS Lambda(Python)からZoom投票作成
以前、Zoomの投票(アンケート)をAPI経由で作成するというブログで書きました …
-
-
AWS Wavelengthゾーンを有効にする
画面上で確認しておきたかったので有効にしておきました。 AWS Waveleng …
-
-
CodeDeployでECR、ECSにデプロイするパイプラインのチュートリアル
チュートリアル: Amazon ECR ソースと、ECS と CodeDeplo …
-
-
ChatGPT APIをTeamsボットから使いました(AWS Lambda(Python) + API Gateway)
ChatGPT APIが有償で利用可能になったので、会社のTeamsボットに実装 …
-
-
AWS Organizationsでアカウントを50作って指定したOUに移動するスクリプト
AWS Organizationsでアカウントを50個作る必要がありましたので、 …

