Microsoft TeamsのIncoming Webhooksを使ってAWS Lambda(Python)からFeedlyの記事を自動投稿する
Microsoft Teamsの検証を始めましたので、Slackで自動化している投稿もやってみよう、ということで。
目次
Incoming Webhooksの設定
Slackでは、チーム全体にIncoming Webhooksを有効にして、投稿するAPIでチャンネルを指定しますが、Teamsはチャンネルに対してIncoming Webhooksを有効にして、そのチャンネル用のAPIエンドポイントが発行されます。
では、設定していきます。
対象のチャンネルを選択して[コネクタ]メニューを選択しました。
Incoming Webhooksをインストールして[構成]をクリックしました。
任意の名前を入力してアイコンをアップロードします。
ここで設定した名前とアイコンが投稿に使われます。
POSTする先のAPIエンドポイントが発行されるのでコピーしておきます。
Lambdaのコード
元々Lambda→DynamoDB→Lambda→Slackなので、
本当はLambda→DynamoDB→Lambda→SNS→SQSファンアウトで並列でSlackとTeamsに投稿するのが良さそうですが、今回はすでにSlackに投稿しているLambdaに処理を追加しました。
理想構成
今回の構成
追加したコード
1 2 3 4 5 6 7 8 9 10 11 12 13 |
requests.post( teams_url, json.dumps( { 'title': title, 'text': '[記事リンク]({url})<br>{summary}'.format( url=url, summary=summary ) } ) ) |
1つ目のパラメータのteams_urlには、Incoming Webhooksで発行されたAPIエンドポイントのURLを指定します。
2つ目のパラメータでtitleとtextを指定する必要があります。
textではマークダウンが使えるようなので、「記事リンク」という文字列に記事のURLを指定しています。
改行は
にしています。
このコードの全体を見られる方はこちら「Feedlyのフィードを自動でSlackへ投稿する(AWS Lambda , Amazon DynamoDB)」をご参照ください。
投稿されました!
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
「JAWS-UG 名古屋 2022年 “re:Invent”の復習~忘年会~」に参加しました
re:Inventのおみやげも飲み物、ピザ、お寿司もたくさん。 コラボベースさん …
-
AWS複数アカウントのリソースをLambda(Python)から一括操作したくて
AWSの複数アカウント(30ちょい)のリソースをまとめて自動処理したくて。 とり …
-
cfn-initでEC2インスタンスにPHPをインストールしWebサーバーを起動する
AWS CloudFormation による Amazon EC2 へのアプリケ …
-
AWS EC2 インスタンスステータスのチェックで失敗 原因はPHP-FPMのOOM-KILLER
先週に引き続きEC2のインスタンスステータスチェックで失敗 再起動するも失敗する …
-
Lambda関数で自分自身の環境変数を更新する
Twitterでツイート検索するAPIを試してみるでツイートの取得を重複させない …
-
AWSルートユーザーのパスワード復旧
AWSルートユーザーのパスワード最設定は、メールアドレスだけでいいのですね。 M …
-
プライベートサブネットのEC2でセッションマネージャを使うようVPCエンドポイントを構成する
インターネットゲートウェイへのルートがないルートテーブルに関連付けられたプライベ …
-
WordPressをAmazon CloudFrontで配信してついでにACM(AWS Certificate Manager)を使って常時SSL化する
当サイトの500と502の発生状況がドイヒーであるとの苦情をいただきまして、Am …
-
WordPress W3 Total Cache のDatabaseCacheをAmazon ElastiCacheのmemcachedに格納する
このブログのアーキテクチャは現在こちらです。 データベースは、Amazon Au …
-
AWS Certificate Manager(ACM)メール検証をDNS検証の証明書に差し替えました
ブログの証明書 このブログの証明書の有効期限があと1週間です。 証明書はAWS …