J'ai récemment construit un système pour automatiser les notifications Slack avec des graphiques qui visualisent le nombre de sessions des 7 derniers jours. Ceci a été réalisé en combinant les fonctions Cloud Run pour le traitement des données et la génération de graphiques, ainsi que Cloud Scheduler pour planifier l'exécution.
La fonction Cloud Run interroge BigQuery pour récupérer les données de session, utilise Matplotlib pour créer un graphique linéaire, puis envoie le graphique à Slack via l'API Slack. Les étapes suivantes décrivent le processus de configuration.
Voici le code de main.py. Avant d'exécuter, vous devez définir SLACK_API_TOKEN et SLACK_CHANNEL_ID comme variables d'environnement. Vous pouvez les laisser vides pour le moment, car nous les configurerons plus tard.
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
|
Créez un fichier exigences.txt et incluez les dépendances suivantes :
1 2 3 4 5 |
|
Pour permettre à Cloud Scheduler ou à d'autres services d'appeler votre fonction Cloud Run, vous devez attribuer le rôle rôles/run.invoker à l'entité appropriée. Utilisez la commande suivante pour ce faire :
1 2 3 |
|
Remplacez MEMBER_NAME par l'un des éléments suivants :
Utilisez Cloud Scheduler pour automatiser l'exécution de la fonction tous les lundis à 10h00 (JST). Voici un exemple de configuration :
Pour activer votre fonction Cloud Run afin d'envoyer des notifications Slack, procédez comme suit :
Une fois que tout est configuré, votre chaîne Slack recevra une notification hebdomadaire avec un graphique comme celui-ci :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!