GCP(Google Cloud Platform)ベースでSlackAPIを連携させました。DifyとSlackAPIで作ったものを、Cloud Functionsでファンクション化し、Cloud Schedulerを使って、毎朝9時に定期通知するように設計します。
Difyでワークフローを作成
Difyからワークフローでアプリを作ります。
- HTTPリクエストで、Trading viewから経済に関するニュースを取得。
- 1で取得したきた結果から上から3つニュースを取得するように加工
連携
まず、GCP上でプロジェクトを作ります。アカウントがない方は、以下から作成してください。https://embed.zenn.studio/card#zenn-embedded__d2941ff818d14
4-1. APIキーを保存
GCP Consoleで「APIとサービス」をクリックし、ダッシュボードに移動し、「Secret Manager API」を探して、「有効にする」をクリックする。
GCPコンソールから、「セキュリティ」を選択し、そこから「Secret Manager」に移動し、「シークレットを作成」をクリックする。
以下の入力して、「シークレット作成」を押下する。
- 名前
- dify-api-key(好きな名前でOKです)
- シークレットの値
- コピーしたDifyのAPI key
- コピーしたDifyのAPI key
4-4.Cloud Schedulerを作成
GCP Console で Cloud Scheduler に移動し、「ジョブを作成」 をクリックする。
以下の設定を行います:
- 名前
- 任意の名前
- リージョン
- Cloud Functions設定時と同じもの
- 説明
- 入れなくてもOK!
- 頻度
- cron 形式で指定 (例: 毎日午前9時に実行する場合 0 9 * * *)。詳細はこちらを参照してみてください。
- ターゲットタイプ
- HTTP
- URL
- 作成したCloud FunctionsのトリガーとなるURL
- HTTPヘッダー
- 設定しなくてOK
- Authヘッダー
- OIDCトークン
- サービスアカウント
- 作成したCloud Functionsのサービスアカウントを選択
その後のオプションの設定はデフォルトの設定値で大丈夫です。もし気になる場合は、ご自身で好きな値にしてください!
ちなみに、トリガーURLはCloud Functionsのトリガーから確認できます。