Bei der Arbeit werden Datenerfassung, -verarbeitung und -analyse häufig in der Linux-Umgebung des Servers verarbeitet.
Überprüfen Sie mit ps
am Terminal, ob der Vorgang abgeschlossen ist. Es ist jedoch schwierig, jedes Mal zu überprüfen.
Ich möchte umgehend Maßnahmen ergreifen, wenn die Verarbeitung unterbrochen ist.
Eine übliche Methode besteht darin, eine Nachricht per E-Mail oder SNS zu erkennen.
Kommunikation in Slack ist der Mainstream an meinem Arbeitsplatz.
POST eine Nachricht in Slack, um festzustellen, ob es fertig ist.
Es wird davon ausgegangen, dass das Slack-Konto bereits erstellt wurde.
Slack scheint verschiedene [Apps & Integrations] zu haben (https://slack.com/apps). Dieses Mal werde ich die Methoden zum POSTEN von Nachrichten anhand der folgenden zwei Methoden zusammenfassen, die häufig im Internet verwendet werden. Persönlich mag ich "Incoming Web Hooks", weil es weniger erforderliche Elemente und kürzeren Code enthält.
Name | Einfache Funktionen |
---|---|
Slack Web API | Sie können verschiedene Dinge tun |
Incoming WebHooks | Einfaches Channel-Posting |
Sehr leicht. Melden Sie sich an, um das WEB zu lockern, und führen Sie die folgenden Schritte aus.
Name | Erfassungsmethode |
---|---|
Slack Web API | ・Create tokendrücken. ・パスワード入力後、押したところにトークンが表示される。 |
Incoming WebHooks | ・Wählen Sie "In Kanal posten" und "Eingehende WebHooks-Integration hinzufügen"drücken. ・Webhook URLの横にトークンが表示される。 |
Versuchen Sie, eine Nachricht mit "Shell" und "Python" zu veröffentlichen
Slack Web API Klicken Sie hier, um eine Liste der API-Methoden anzuzeigen (https://api.slack.com/methods). Dieses Mal möchte ich die Nachricht POSTEN, daher verwende ich die Methode "chat.postMessage".
Die Liste der Parameter lautet hier. Die erforderlichen Elemente sind wie folgt.
Parametername | Erläuterung |
---|---|
token | Zeichen |
text | Zu postender Text |
channel | Kanal Name Codierte ID für Direktnachrichten |
Dieses Mal erstellen wir ein Beispiel mit "Token", "Text", "Kanal", "Benutzername" und "Linknamen".
※ Hinweis
Wenn Sie eine Nachricht an den Kanal senden möchten, gibt es kein Problem mit "#
Shell
#Aufbau
TOKEN='<Token erhalten>'
CHANNEL='<Kanal Name>'
USERNAME='test_username'
LINK_NAMES='1'
URL='https://slack.com/api/chat.postMessage'
# post
curl="curl -XPOST -d \"token=${TOKEN}\" \
-d \"text=${TEXT}\" \
-d \"channel=${CHANNEL}\" \
-d \"username=${USERNAME}\" \
-d \"link_names=${LINK_NAMES}\" \
${URL}"
eval ${curl}
Python
#Bibliotheksimport
import requests
#Aufbau
TOKEN='<Token erhalten>'
CHANNEL='<Kanal Name>'
TEXT='test'
USERNAME='test_username'
URL='https://slack.com/api/chat.postMessage'
# post
post_json = {
'token': TOKEN,
'text': TEXT,
'channel': CHANNEL,
'username': USERNAME,
'link_names': 1
}
requests.post(URL, data = post_json)
Incoming WebHooks Beachten Sie, dass sich die POST-Methode geringfügig von der der Slack Web API unterscheidet.
Die Parameter sind wie folgt. Erstellen Sie dieses Mal ein Beispiel mit "text", "username" und "link_names".
Parametername | Erforderlicher Artikel | Erläuterung |
---|---|---|
text | 〇 | Zu postender Text |
username | Benutzername posten | |
icon_url | URL zum Profilbild des Beitrags | |
icon_emoji | Piktogramme zum Einfügen in das Profilbild des Beitrags | |
link_names | Erwähnen | |
channel | Kanal Name | |
attachments | AttachmentsFülle das Formular aus |
Shell
#Aufbau
URL='<Token erhalten>'
TEXT='test_text'
USERNAME='test_username'
LINK_NAMES='1'
# post
curl="curl -X POST --data '{ \
\"text\": \"${TEXT}\" \
,\"username\": \"${USERNAME}\" \
,\"link_names\" : ${LINK_NAMES}}' \
${URL}"
eval ${curl}
Python
#Bibliotheksimport
import requests
import json
#Aufbau
URL='<Token erhalten>'
TEXT='test'
USERNAME='test_username'
# post
post_json = {
'text': TEXT,
'username': USERNAME,
'link_names': 1
}
requests.post(URL, data = json.dumps(post_json))