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 Q Developer for CLIでAWS Diagram MCP Serverを使ってAWSアイコンを使った図を書いてもらいました
MacにインストールしているAmazon Q Developer for CLI …
-
-
リザーブドインスタンス推奨事項を確認した
マネジメントコンソールで[AWSコスト管理]カテゴリの[AWS Cost Exp …
-
-
Aurora Serverless Data APIを有効にしてLambdaからクエリを実行
Aurora Serverless作成 MySQLを作成しました。 作成時にDa …
-
-
ads.txtをS3に配置してCloudFrontで設定する
ads.txtのダウンロード ads.txt設置してねってメールが来てました。 …
-
-
php-fpm で Out of memoryが発生した際にメール通知する(AWS CloudWatch , Amazon SNS)
AWS CloudWatch LogsエージェントでAmazon EC2上のNg …
-
-
CloudFrontのVPCオリジンを使用してApplication Load Balancerをプライベートサブネットで起動する
このブログのApplication Load Balancerはパブリックサブネ …
-
-
boto3(Python SDK) s3 get_object でバイト範囲を指定する
S3のGetObjectアクションでバイト範囲を指定することができます。 それに …
-
-
特定AWSアカウント特定リージョンのSNSトピックを削除するLambda(Python)
やりたいこと 特定アカウント内特定リージョン内のSNSトピックを全部削除したいで …
-
-
WordPress W3 Total Cache のDatabaseCacheをAmazon ElastiCacheのmemcachedに格納する
このブログのアーキテクチャは現在こちらです。 データベースは、Amazon Au …
-
-
VPC環境でLambdaを100同時実行してプライベートIPアドレスを確認した
2019年9月発表のLambda 関数が VPC 環境で改善されます以降に、VP …

