Beispiel für eine Slack-Benachrichtigung mit Python Lambda
Aufbau
- Der Handler wird durch
file name.function name
angegeben
Fügen Sie Imcoming WebHook in Slack hinzu
Code
- Es scheint, dass das Anforderungsmodul, das von Google ausgegeben wird, in urllib absorbiert ist
- Post json an die WEBHOOK-Adresse von slack
--
def lambda_handler (Ereignis, Kontext): `` Ereignis
sind die JSON-Daten, die bei der Ausführung von Lambda an die Funktion übergeben werden.
- Natürlich unterscheiden sich die Inhalte je nach Ressource der Ausführungsquelle, aber da es sich um JSON-Daten handelt, können sie wie eine Vorlage behandelt werden.
import json
import urllib.request
def post_slack():
send_data = {
"username": "notify_slack",
"icon_emoji": ":vampire:",
"text": "test",
}
send_text = "payload=" + json.dumps(send_data)
method = 'POST'
headers = {'Content-Type': 'application/json'}
WEB_HOOK_URL = "https://hooks.slack.com/services/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"
#Bauen Sie das Objekt zusammen
request = urllib.request.Request(
WEB_HOOK_URL,
data=send_text.encode('utf-8'),
method=method
)
#POST wird hier tatsächlich ausgeführt
with urllib.request.urlopen(request) as response:
response_body = response.read().decode('utf-8')
#Zuerst von Lambda angerufen
def lambda_handler(event, context):
response = post_slack()
return response
Funktionsprüfung
- Führen Sie den Test von Lambda aus
- Die zu diesem Zeitpunkt zu testende JSON-Zeichenfolge ist angemessen (da sie im Code nicht verwendet wird).