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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Cloud9でSAMローカルテスト
せっかくテストするので、Amazon CloudSearchからAmazon E …
-
-
Amazon Location Service入門ワークショップ-ジオフェンス
関連記事 Amazon Location Service入門ワークショップの前提 …
-
-
VyOSでssm-userからvyosユーザーに切り替える
EC2 VyOSで/etc/resolv.confを設定しました VyOSにSS …
-
-
S3 過去のオブジェクトバージョンをコピーしてロールバックしました
バージョニングを有効にしているS3バケットで、オブジェクトを以前のバージョンに戻 …
-
-
kintoneでEveryoneに権限が設定されているアプリをAWS Lambdaで一括チェックする
こないだ、kintone Cafeでユーザーが自由に作成している環境だと、どんな …
-
-
ブログのアーキテクチャをコストベースで見直しました
当ブログはAWSで構築しています。 アーキテクチャをコストを最重視して見直しまし …
-
-
S3イベントのAWS Lambdaのテスト設定
S3イベントのLambda関数でよく使うのはこんなテスト設定です。 なので覚書で …
-
-
RDSのポイントインタイムリカバリをしました
WordPressで画像アップロードができなくなった(AWS WAFでブロックし …
-
-
AWS Systems Manager AutomationでEC2の自動停止
Systems Manager Automationがない時代に、Lambdaを …
-
-
AWS X-Ray SDK for PythonをOrganizations組織内にLambda Layersで共有しました
ローカルでパッケージ作成 インストールコマンドはこちらAWS X-Ray SDK …

