Hallo Ich versuche, Push-Benachrichtigungen wie diesesenden Apple-Push-Benachrichtigung über AWS Lambda/Python als JSON mit benutzerdefinierten Variablen Nachricht
message3 = {"APNS_SANDBOX":"{\"aps\": {\"alert\": \"some alert\",\"sound\": \"default\",\"badge\": 1},\"message\": \"additional information\",\"id\": 1234}"}
response = client.publish(
#TopicArn='string',
TargetArn = someEndpoint,
Message = json.dumps(message3),
MessageStructure= 'json'
#Subject='string',
)
Alles funktioniert gut zu senden. Aber ich brauche die Warnung, um variabel zu sein. Wenn ich versuche, eine benutzerdefinierte Textvariable in dem message3 JSON-Objekt zu setzen, halte ich diesen Fehler:
"errorType": "ClientError",
"errorMessage": "An error occurred (InvalidParameter) when calling the Publish operation: Invalid parameter: Message Reason: Invalid notification for protocol APNS_SANDBOX: Notification is malformed"
Kann jemand helfen? Vielen Dank!!
Wie haben Sie versucht, 'message3' anzupassen? Gibt es ein Beispiel, das Sie teilen können? – kichik
Hallo, danke für die schnelle Antwort! Die Funktion wird durch ein dynamodb -Einfüge-Ereignis ausgelöst und ich erstelle eine String-Variable aus dem eingefügten Datensatz. aber selbst wenn Sie einfach eine einfache Variable wie sampleText = "test" verwenden und versuchen, "alert" mit sampleText in Nachricht 3 auszutauschen, bekomme ich den Fehler. – weka1
Wie tauscht man den Text aus? Es klingt, als ob du '.replace()' oder einen regulären Ausdruck verwendest. Sie sollten die Nachricht als normales Python-Wörterbuch bearbeiten und dann als JSON zurückgeben und in "APNS_SANDBOX" einfügen. – kichik