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
関連記事
-
-
AWS Toolkit for Eclipseをセットアップ(2021年版)
AWS Toolkit for Eclipseをセットアップするで6年前に書いて …
-
-
AWS CDKでクロススタックリファレンスをする
CloudFormationで複数のスタックで参照することがあります。 それをC …
-
-
AWS東京リージョンのAZ(apne1-az1)障害時の当ブログで発生していたことの記録
日本時間2/19 23:01頃より、東京リージョン、特定AZの1つでEC2インス …
-
-
オンプレミスに見立てたオハイオリージョンにVyOSインスタンスを起動して東京リージョンからVPN接続
AWSクイックスタートのActive Directory Domain Serv …
-
-
AWS LambdaをVPC設定したときに「The provided execution role does not have permissions to call CreateNetworkInterface on EC2」
The provided execution role does not hav …
-
-
サービスディスカバリを使用してECSサービスの作成
ECSデベロッパーガイドのチュートリアル:サービスディスカバリを使用して、サービ …
-
-
DynamoDB Accelerator(DAX)のサンプルアプリケーション(Python)を実行
DynamoDBデベロッパーガイドのDynamoDB Accelerator(D …
-
-
AWS Database Migration Service(DMS)チュートリアル
公式ユーザーガイドのAWS Database Migration Service …
-
-
Cloud9環境を共有した際の環境認証
Cloud9を環境を構築したIAMユーザー以外に共有したとき、その環境から実行す …
-
-
AWSアカウントのルートユーザーのセキュリティ認証情報
アカウント作成時にはMFA設定するためにIAMダッシュボードからアクセスするので …