Utilisez OpenWhisk pour informer Slack des informations météorologiques.
La méthode d'acquisition des informations météorologiques est décrite dans l'article suivant.
Cette fois, je décrirai le déroulement de la notification à Slack des données acquises par Weather Company.
L'écran Open Whisk de Bluemix a également été repensé. Est-ce que c'est mignon.
Lorsque vous utilisez Slack, c'est la même chose que Weather Company. Depuis l'écran de modification des actions, sélectionnez "Afficher le catalogue" en haut à droite.
Sélectionnez "SLACK".
Le package Slack s'affiche.
Jetons un coup d'œil à l'exemple d'entrée. Afin de notifier Slack, il semble que vous deviez entrer les paramètres suivants dans JSON.
{
"channel": "myChannel",
"text": "Hello OpenWhisk!",
"url": "https://hooks.slack.com/services/XYZ/ABCDEFG/12345678",
"username": "openwhisk"
}
Le contenu est l'URL, le nom d'utilisateur et le nom de canal du Webhook de Slack. Et le texte à notifier. Sélectionnez NOUVELLE OFFRE sur la gauche.
Entrez l'url et le canal en fonction de la marge que vous souhaitez notifier, entrez n'importe quel nom d'utilisateur et enregistrez la configuration. Il ne vous reste plus qu'à créer le texte pour vous avertir.
Dans l'article précédent, les données acquises par Weather Company sont les suivantes.
{
"metadata": {
"latitude": 35.68,
"status_code": 200,
"longitude": 139.76,
...(réduction)...
},
"observation": {
"dewPt": 1,
"blunt_phrase": null,
"pressure_tend": 2,
"pressure_desc": "Falling",
...(réduction)...
"wx_phrase": null,
"terse_phrase": null,
"uv_index": 3
}
}
Obtenez les paramètres requis et écrivez un peu de code dans Slack pour les insérer dans les paramètres de texte. Sélectionnez Créer une action.
Les actions sont actuellement disponibles dans Swift, Node.js, Python et Docker. Cette fois, j'ai choisi Python.
Le codage est comme d'habitude ** Je ne ferai pas de mon mieux. ** **
weather_to_slack.py
import sys
def main(dict):
slack = {}
latitude = dict["metadata"]["latitude"]
longitude = dict["metadata"]["longitude"]
pressure = dict["observation"]["pressure"]
temp = dict["observation"]["temp"]
rh = dict["observation"]["rh"]
message = "temperature:" + str(temp) + "\n" + "Humidity:" + str(rh) + "\n" + "Atomosheric pressure:" + str(pressure)
slack["text"] = message
return slack
Les paramètres reçus de Weather Company sont transmis dans un format de dictionnaire, donc extrayez uniquement les paramètres souhaités et insérez-les dans le texte mou. J'ai essayé d'afficher le texte en japonais par essais et erreurs, mais cela n'a pas fonctionné et je n'avais pas d'autre choix que de l'écrire en anglais. Est-il possible de transférer du JSON japonais?
L'action est prête. Créez une "séquence" qui combine chaque action et essayez de l'exécuter. À partir de l'action que vous venez de créer, sélectionnez "Lier à la séquence" en bas à droite.
Sélectionnez le SLACK que vous avez défini précédemment.
Pour le BIND sur la gauche, sélectionnez le jeu BIND cette fois. Cliquez sur Ajouter à la séquence.
Depuis le Weather_to_slack que j'ai fait cette fois, j'ai un flux pour le transmettre au package Slack! Ensuite, ajoutez la société météorologique à partir de laquelle les données ont été obtenues. Sélectionnez "Prolonger" en bas à droite.
Sélectionnez "MÉTÉO".
Pour WEATHER, sélectionnez le BIND précédemment défini pour le BIND sur la gauche et cliquez sur "Add to Sequence".
J'étais connecté! !!
..., mais l'ordre d'exécution des actions est Korejanai. Sokojanai.
Mais c'est d'accord. Vous pouvez modifier l'ordre d'exécution des actions en cliquant sur la flèche en haut à droite de l'action Météo.
Modifiez le déroulement des actions dans.
C'est dans le bon ordre! Cliquez sur Enregistrer la séquence d'actions en bas à droite et donnez un nom à la séquence.
Il a été sauvé! Cliquez sur la séquence que vous avez créée et cliquez sur "Exécuter cette séquence"
Les informations météorologiques seront notifiées à Slack.
Depuis cette vérification, le catalogue de packages Watson a été développé. J'essaierai certainement d'utiliser TextToSpeech et SpeechToText également.
Recommended Posts