Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Azure Functions を使って社内Slackで今週バズってる投稿が知りたい!
Search
HimekaKawaguchi
February 26, 2024
0
68
Azure Functions を使って社内Slackで今週バズってる投稿が知りたい!
HimekaKawaguchi
February 26, 2024
Tweet
Share
More Decks by HimekaKawaguchi
See All by HimekaKawaguchi
COPYコマンドって知ってる?
himekakawaguchi
0
76
社内Slackでバズっている投稿が知りたい!
himekakawaguchi
0
15
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
48
7.1k
Why You Should Never Use an ORM
jnunemaker
PRO
53
8.9k
Ruby is Unlike a Banana
tanoku
96
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
25
1.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2k
For a Future-Friendly Web
brad_frost
174
9.3k
GraphQLの誤解/rethinking-graphql
sonatard
65
9.8k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.6k
Bash Introduction
62gerente
608
210k
It's Worth the Effort
3n
182
27k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
18k
Transcript
Azure Functions を使って 社内Slackで 今週バズってる投稿が 知りたい! クラウドLT大会vol7 2024/02/26 株式会社セゾン情報システムズ 川口媛香
はじめまして Himeka Kawaguchi 川口 媛香 2022年セゾン情報システムズ 入社 データ活用によるお客様の業務効率化を目指すPJに参画 ドメインの理解とエンジニアリングの習熟の両立に奮闘する日々 業務で使用する技術:Snowflake
PowerBI 2
いきなりですが 3
社内メンバーとの コミュニケーションは十分に取れていますか? 4
Slackのリアクションもコミュニケーションの1つ 5
リアクションはもらえると嬉しい 6
きっかけ 社内Slackで2023年に1番リアクションをもらった投稿が知りたく Pythonを使いローカルでSlackリアクションランキングを実装した 1年の振り返りにはもってこい。 詳しくはQiitaに!いいね♡ください https://qiita.com/Himeka_Kawaguchi/items/dfed601108f7caa62009 7
最近沢山リアクションがついた投稿も気になる 年単位の振り返りだけでなく MonthlyやWeeklyランキングを作成すれば 社内でいま注目度の高い投稿が分かりそう 8
社内で今何がバズってるか 知りたい! 9
やったこと ・Pythonを使いSlackリアクション数ランキングを実装 ・作成したランキングをAzure FunctionsでWeeklyで実行 ↑今回のメイン 10
ローカルからクラウドへ ローカル 実行 Python スクリプト 取得 投稿 Slack Azure Functions
Python スクリプト 取得 投稿 Slack 実行 11
なぜAzure Functions? 前提:Pythonで書いたソースコードを使用する Azureで実行する場合の選択肢例 • Azure Functions • Azure Data
Factory + Azure Databricks(Notebook) • Azure Databricks(Notebook + データパイプライン) • Azure ML(MLパイプライン) • Azure Container Apps • Azure App Service ・ 12
なぜAzure Functions? Azureで実行する場合の選択肢例 • Azure Functions • Azure Databricks(Notebook) +
Azure Factory • Azure Databricks(Notebook + データパイプライン) • Azure ML(MLパイプライン) • Azure Container Apps • Azure App Service 前提:Pythonで書いたソースコードを使用したい ・単一サービス ・サーバレス ・複数サービスの組合せor単一サービスでも複数コンポーネントを組合せ ・純粋なサーバレスとは異なるものもある →1番お手軽なので採用! 13
全体像 Azure Functions Python スクリプト 取得 投稿 実行 14
Azure Functions 設定内容 ・言語:Python ・トリガー:Timer trigger 日本時間 毎週金曜日17時に実行 ランキング集計ロジック (既存のコードを貼り付けるだけ)
15
出来たもの WeeklyランキングをSlackに投稿 16
躓きポイント/注意点 ①全体での注意点 ・トークンなどの重要な情報をコード内に書かない →環境変数に追加して使用。クラウド環境においても同じ。 ②Pythonのコードをクラウドに載せるときの注意点 ・言語やバージョンの確認 →ローカルなら最新でok、クラウドの場合は該当するバージョンが対象か確認。 ・ライブラリの一括インストールファイル(requirements.txt) →ローカルでインストールしていたライブラリを、クラウド環境上で取り直しが必要。 ③Azure
Functionsを使う上での注意点 ・エミュレータ、ドキュメントの読み飛ばし 17
重要な情報は環境変数に追加して使用 Azure Functionsではサーバとローカルの2つの環境変数を設定する ▪サーバ側 ▪ローカル側 ・Azureポータル>関数アプリ>構成>新しいアプリケーション設定 ・local.settings.jsonファイルにkey:value形式で登録 18
Pythonコードを使う時の注意点 言語やバージョンの確認 Azure FunctionsでサポートされているPython最新バージョンは3.11.X 公式ドキュメントから確認 ローカル側で対象バージョンのインストールが必要 ▪Azure Functions Azureアイコン>ワークスペース>新しいプロジェクトの作成>バージョン設定 ←対象のバージョンのみ選択肢に表示
※自分のPCにインストールされているPythonのデフォルトバージョンは以下で確認 19
ドキュメントの読み飛ばし エミュレータのドキュメント 私は読み飛ばしが原因で何度か手戻りが発生しました。。 20
まとめ ・ Weeklyランキングにより社内の『今』を知ることが出来た! 在宅勤務ではどうしても見えにくい社内の動きは自分でキャッチアップしないと いけないがWeeklyランキングを見れば簡単に社内の流れを追える。 注目度の高い投稿を見落とさずにダイジェストのように確認できる。 ・初めてのクラウドに挑戦!準備に苦戦… ローカルとは違うクラウドならでの注意点に何度も躓いた。 事前準備さえ整えばクラウドでの実行は想像以上に簡単だった。 一連の流れを経験できたので次回からは楽々進められそう!
21
最後に宣伝ですが、、 ぜひご参加ください! 22
以上です!ありがとうございました! 23