[PYTHON] Schlaffe Benachrichtigung über Wetterinformationen mit Open Whisk

Verwenden Sie OpenWhisk, um Slack über Wetterinformationen zu informieren.

snip_20161031002150.png

Die Methode zum Erfassen von Wetterinformationen wird im folgenden Artikel beschrieben.

Dieses Mal werde ich den Ablauf der Benachrichtigung von Slack über die von Weather Company erfassten Daten beschreiben.

Verwenden Sie den Paketkatalog von Slack

Der Open Whisk-Bildschirm von Bluemix wurde ebenfalls neu gestaltet. Ist das süß.

snip_20161223024154.png

Bei Verwendung von Slack ist es dasselbe wie bei Weather Company. Wählen Sie im Aktionsbearbeitungsbildschirm oben rechts "Katalog anzeigen".

snip_20161025222009.png

Wählen Sie "SLACK".

snip_20161025222036.png

Das Slack-Paket wird angezeigt.

snip_20161025222114.png

Werfen wir einen Blick auf die Beispieleingabe. Um Slack zu benachrichtigen, sollten Sie anscheinend die folgenden Parameter in JSON eingeben.

{
    "channel": "myChannel",
    "text": "Hello OpenWhisk!",
    "url": "https://hooks.slack.com/services/XYZ/ABCDEFG/12345678",
    "username": "openwhisk"
}

Der Inhalt ist die URL, der Benutzername und der Kanalname von Slacks Webhook. Und der zu benachrichtigende Text. Wählen Sie links NEUES GEBOT.

snip_20161223222258.png

Geben Sie die URL und den Kanal entsprechend der Lücke ein, die Sie benachrichtigen möchten, geben Sie einen beliebigen Benutzernamen ein und speichern Sie die Konfiguration. Jetzt müssen Sie nur noch den Text erstellen, um Sie zu benachrichtigen.

Verarbeiten Sie die von Weather Company erhaltenen Informationen zur Slack-Benachrichtigung

Im vorherigen Artikel lauten die von Weather Company erfassten Daten wie folgt.

{
  "metadata": {
    "latitude": 35.68,
    "status_code": 200,
    "longitude": 139.76,

...(Kürzung)...

  },
  "observation": {
    "dewPt": 1,
    "blunt_phrase": null,
    "pressure_tend": 2,
    "pressure_desc": "Falling",

...(Kürzung)...

    "wx_phrase": null,
    "terse_phrase": null,
    "uv_index": 3
  }
}

Holen Sie sich die erforderlichen Parameter und schreiben Sie einen kleinen Code in Slack, um sie in die Textparameter einzufügen. Wählen Sie Aktion erstellen.

snip_20161022171511.png

Aktionen sind derzeit in Swift, Node.js, Python und Docker verfügbar. Dieses Mal habe ich Python gewählt.

snip_20161029203312.png

Die Codierung ist wie gewohnt ** Ich werde nicht mein Bestes geben. ** **.

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

Da die von WeatherCompany empfangenen Parameter in einem Wörterbuchtyp übergeben werden, extrahieren Sie nur die gewünschten Parameter und packen Sie sie in den Text von slack. Ich habe versucht, den Text durch Ausprobieren auf Japanisch anzuzeigen, aber es hat nicht funktioniert und ich hatte keine andere Wahl, als ihn auf Englisch zu schreiben. Ist es möglich, japanisches JSON zu übertragen?

Führen Sie dies aus, indem Sie den Verarbeitungsablauf in der Sequenz angeben

Die Aktion ist fertig. Erstellen Sie eine "Sequenz", die jede Aktion kombiniert, und versuchen Sie, sie auszuführen. Wählen Sie aus der soeben erstellten Aktion unten rechts "Link to Sequence" aus.

snip_20161223225348.png

Wählen Sie den zuvor eingestellten SLACK aus.

snip_20161223225422.png

Wählen Sie für den BIND links den diesmal eingestellten BIND aus. Klicken Sie auf Zur Sequenz hinzufügen.

snip_20161223225637.png

Von dem Weather_to_slack, das ich dieses Mal gemacht habe, habe ich einen Flow, um es an das Slack-Paket weiterzugeben! Fügen Sie als Nächstes die Wetterfirma hinzu, von der die Daten erhalten wurden. Wählen Sie unten rechts "Erweitern".

snip_20161223225705.png

Wählen Sie "WETTER".

snip_20161223225732.png

Wählen Sie für WETTER den zuvor eingestellten BIND für den BIND links aus und klicken Sie auf "Zur Sequenz hinzufügen".

snip_20161223225755.png

Ich war verbunden! !!

snip_20161223225832.png

..., aber die Reihenfolge der Ausführung der Aktion ist Korejanai. Sokojanai.

Aber es ist okay. Sie können die Reihenfolge der Aktionsausführung ändern, indem Sie auf den Pfeil oben rechts neben der Wetteraktion klicken.

  1. Holen Sie sich Wetterinformationen mit Wetter
  2. Verwenden Sie die erstellte Anwendung, um die Wetterinformationen in den Slack-Text einzufügen.
  3. Nachlassen.

Ändern Sie den Aktionsfluss in.

snip_20161223225906.png

Es ist in der richtigen Reihenfolge! Klicken Sie unten rechts auf Aktionssequenz speichern und geben Sie der Sequenz einen Namen.

snip_20161223225958.png

Es wurde gerettet! Klicken Sie auf die von Ihnen erstellte Sequenz und dann auf "Diese Sequenz ausführen".

snip_20161223230045.png

Wetterinformationen werden Slack mitgeteilt.

snip_20161031002150.png

abschließend

Seit dieser Überprüfung wurde der Watson-Paketkatalog erweitert. Ich werde auf jeden Fall versuchen, auch TextToSpeech und SpeechToText zu verwenden.

Recommended Posts

Schlaffe Benachrichtigung über Wetterinformationen mit Open Whisk
Mittagessen Einladungsbot bei Slack
Schlaffe Benachrichtigung über Wetterinformationen mit Open Whisk
Erfassung von Wetterinformationen (DarkSky)
Veröffentlichen Sie regelmäßig Bilder von Papillon auf Python + AWS Lambda + Slack
Legen Sie Informationen wie die Länge am Rand von NetworkX fest