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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Amazon Connectのパスワードどころかユーザー名も忘れたのでEmergency accessした
長い間放置していたAmazon Connect環境にアクセスしようとしたところ、 …
-
-
テキストをAmazon PollyでMP3に変換してS3に格納(AWS Lambda Python)
Google Calendar Twilio ReminderのテキストをAma …
-
-
AWS Cloud9で環境を共有する
(特にリモート環境では)画面共有をしたり、リポジトリを共有したり、コーディング環 …
-
-
API Gatewayで顧客レベルの使用量プランを設定する
API GatewayのAPIキーを使って使用量プランでのスロットリングも設定し …
-
-
Introduction to Amazon EKS Workshopの記録
AWS Workshop StudioのIntroduction to Amaz …
-
-
EC2インスタンスが到達不能になって復旧してMackerelで監視し始めた
きっとばりばり使っておられる方ならよくある事なんだろうけど、はじめて体験したので …
-
-
AWS EC2 インスタンスステータスのチェックで失敗 原因はPHP-FPMのOOM-KILLER
先週に引き続きEC2のインスタンスステータスチェックで失敗 再起動するも失敗する …
-
-
EKS「現在の IAM プリンシパルは、このクラスター上の Kubernetes オブジェクトにアクセスできません」
マネジメントコンソールでクラスターのオブジェクトを見ようと、リソースの名前空間や …
-
-
GoogleフォームからAPI Gatewayで作成したREST APIにPOSTリクエストする
「API GatewayからLambdaを介さずにSNSトピックへ送信」の続きで …
-
-
Amazon CodeCatalystのスペースとプロジェクトを作成してみました
Amazon CodeCatalystはIAMユーザーで操作するのではなく、AW …

