[PYTHON] Tweet von AWS Lambda

Einführung

Wir werden weiterhin eine automatische Benachrichtigungsfunktion zum Hinterlassen von Informationen erstellen. Im vorherigen Artikel konnte ich Standortinformationen von meinem Smartphone an AWS senden. Verwenden Sie als Nächstes AWS Lambda, um eine Verbindung zu Twitter herzustellen.

Über Benachrichtigung bedeutet

Als Voraussetzung wird angenommen, dass das Benachrichtigungsziel das iPhone meiner Frau ist, daher möchte ich keine besonderen Einstellungen vornehmen. Mit den folgenden Methoden können Sie ein Smartphone eines Drittanbieters einfach über AWS benachrichtigen. ・ LineBot ・ TwitterBot ·Email Wir werden Sie über Twitter benachrichtigen, das anscheinend am schnellsten zu implementieren ist. (Bitte lassen Sie mich wissen, ob es einen einfacheren Weg gibt.)

Registrierung für die Twitter API

Wie bei Bot müssen Sie sich registrieren, um mit einem Programm twittern zu können, um die "Twitter-API" verwenden zu können. Wenn Sie Ihr Twitter-Konto noch nicht registriert haben, tun Sie dies bitte vor der Registrierung. Wenn Sie Ihre E-Mail-Adresse nicht in Ihrem Konto registrieren, können Sie sich nicht registrieren, um die "Twitter-API" zu verwenden.

Greifen Sie auf die folgende Website zu und registrieren Sie sich, um die Twitter-API zu verwenden. https://developer.twitter.com/en/apps

7.PNG

Der Verwendungszweck wird gefragt. Dieses Mal werde ich einen Bot als Hobbyist erstellen, also wähle "Making a Bot"

8.PNG

Danach werde ich die Fragen auf einfache Weise beantworten. 9.PNG

Es kann einige Zeit dauern, bis einige Leute auf Englisch antworten müssen. a.PNG

Schließlich wird ein Bestätigungsbildschirm angezeigt. Klicken Sie auf "Sieht gut aus!". b.PNG

Lesen Sie den Nutzungsvertrag. c.PNG

Wenn dieser Bildschirm angezeigt wird, ist er in Ordnung. Eine Bestätigungs-E-Mail ist an der registrierten E-Mail-Adresse angekommen. Öffnen Sie sie und registrieren Sie sich. d.PNG

Grundeinstellungen der Twitter-API

Wenn Sie sich beim Twitter-Entwicklerbildschirm anmelden, werden Sie nach dem Namen der App gefragt. Antworten Sie daher entsprechend.

e.PNG

Hier sehen Sie den Schlüssel zum Twittern aus dem Programm, aber Sie können ihn ignorieren, da er später erneut ausgegeben wird. Klicken Sie auf Endpunkt testen.

f.PNG

Legen Sie nach der Registrierung der App die Berechtigungen fest. Im Ausgangszustand können Sie nur Tweets lesen. Wenn Sie diese Berechtigung nicht festlegen, können Sie nicht über das Programm twittern, und später tritt ein Fehler auf.

Öffnen Sie das "Entwicklerportal" oben rechts auf dem Bildschirm.

F2.PNG

Wählen Sie den zuvor genannten App-Namen unter "Projekt & Apps" auf der Registerkarte auf der linken Seite des Bildschirms aus. Anschließend wird der Einstellungsbildschirm der Anwendung angezeigt. Klicken Sie daher unter "App-Berechtigungen" auf "Bearbeiten".

h.PNG

Da es schreibgeschützt ist, ändern Sie es in "Lesen + Schreiben + Direktnachricht".

q.PNG

Überprüfen Sie als Nächstes den Schlüssel und das Token, um die API zu verwenden. Generieren Sie "API Key & Secret" neu und notieren Sie sich (1) API-Schlüssel und (2) API-Schlüsselgeheimnis. Generieren Sie außerdem "Access Token & Secret" und notieren Sie sich ③ Access Token, Access und ④ Token Secret. Sie werden diese vier Informationen später in AWS Lambda eingeben.

g.PNG

Damit sind die Twitter-API-Einstellungen abgeschlossen.

Erstellen Sie AWS Lambda

Erstellen Sie eine Funktion aus "Lambda> Funktion". Wählen Sie Serverless Application Repository> Öffentliche Anwendungen, suchen Sie nach "iot" und wählen Sie iot-twitter-bridge. 6.PNG

Geben Sie in den Anwendungseinstellungen die vier Informationen ein, die Sie zuvor in der Twitter-API notiert haben. Die Terminologie ist nicht einheitlich, aber CONSUMER_KEY ist der API-Schlüssel. 図1.png

Sie haben jetzt eine Lambda-Funktion erstellt. k.PNG

Lassen Sie uns den Standardfunktionscode überprüfen. Im json-Format werden deviceID und incomingText vom Trigger eingegeben, und es scheint ein Mechanismus zu sein, um die Informationen zu twittern. Lassen Sie die Funktion vorerst unverändert und testen Sie die Verbindung mit der Twitter-API. n.PNG

Prüfung

Erstellen Sie ein Testereignis. Erstellen Sie ein twitterTest-Ereignis mit der Hallo-Welt-Vorlage (siehe Abbildung unten). r.PNG

Fügen Sie vorerst den Inhalt ein.

{
  "deviceID": "6060",
  "incomingText": "twitter from aws"
}

Prüfung Wenn Erfolg wie in der Abbildung unten gezeigt angezeigt wird, ist er erfolgreich. t.PNG

Überprüfen Sie auch die Twitter-Seite. u.PNG Danke für Ihre Unterstützung.

Übrigens, wenn Sie mit dem gleichen Inhalt testen, erhalten Sie eine Fehlermeldung. Es scheint, dass es sich um eine Spezifikation von Twitter handelt, um ein kontinuierliches Posten mit demselben Inhalt zu verhindern.

details: {u'errors': [{u'message': u'Status is a duplicate.', u'code': 187}]}

abschließend

Ich konnte von AWS twittern, um eine automatische Urlaubsbenachrichtigungsfunktion zu erstellen. Danach können Sie es anscheinend tun, indem Sie Iot und Lambda verbinden und ein wenig mit der Funktion spielen.

Referenz-URL

Ich bin immer dankbar.

Erstellen einer Twitter-App https://yosiakatsuki.net/blog/create-twitter-application/

Recommended Posts

Tweet von AWS Lambda
Führen Sie BigQuery von Lambda aus
Probieren Sie AWS Lambda Destinations aus
Terraform konfiguriert, um AWS Lambda von Amazon SQS aus zu starten
[Python] Scraping in AWS Lambda
Die einfachste AWS Lambda-Implementierung
Fragen Sie Athena von Lambda Python ab
Web Scraping mit AWS Lambda
Hinweise zum Zugriff auf SQS von AWS VPC Lambda über den Endpunkt
AWS Lambda Layers Eine kurze Erklärung von der Erstellung bis zur Verknüpfung
Senden Sie eine Anfrage von AWS Lambda an Amazon Elasticsearch Service
Eine Geschichte, die ich süchtig danach war, Lambda von AWS Lambda anzurufen.
Lambda
Holen Sie sich Promi-Tweet-Geschichte von Twitter
Zusammenfassung bei Verwendung von AWS Lambda (Python)
[AWS] API mit API Gateway + Lambda erstellen
[Lambda] [Python] Von Lambda auf Twitter posten!
Schreiben Sie die AWS Lambda-Funktion in Python
Vorsichtsmaßnahmen beim Ausführen von Python unter EC2 über AWS Lambda (Befehl ausführen)
Bearbeiten von Kintondaten mit dem Python & C Data ODBC-Treiber von AWS Lambda
Versuchen Sie, AWS Lambda-Umgebungsvariablen anzugeben?
Betreiben Sie Dynamodb von Lambda aus wie SQL
Benachrichtigen Sie HipChat mit AWS Lambda (Python)
AWS Lambda-Entwicklung Meine Best Practices
Python ruft die Google Cloud Vision API von LINE BOT über AWS Lambda auf
Verständnis anhand des Mechanismus Twilio # 3-1 --AWS API Gateway + Lambda-Implementierung Walkthrough (Teil 1)
Das Modul kann nicht in Python auf EC2 importiert werden, das von AWS Lambda ausgeführt wird
Ändern Sie die AWS EC2-Instanz von t2 in t3
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
Erstellen Sie mit python3 eine Wortwolke aus Ihrem Tweet
Umgebung, in der native Bibliotheken in AWS Lambda enthalten sind
Tweet von Python mit Twitter Developer + Tweepy
Poste regelmäßig mit AWS Lambda auf Twitter!
[AWS] Verknüpfen Sie Lambda und S3 mit boto3
[Python] Führen Sie Headless Chrome unter AWS Lambda aus
Stellen Sie mit AWS Lambda Python eine Verbindung zu s3 her
[AWS] Machen Sie SSI-ähnliche Dinge mit S3 / Lambda
Zusammenfassung des Schreibens von AWS Lambda
Ich habe gerade FizzBuzz mit AWS Lambda gemacht
[AWS; Einführung in Lambda] 2. Extrahieren Sie Sätze aus der JSON-Datei und speichern Sie S3 ♬
Erstellen Sie Einstellungen in Terraform, um Nachrichten von AWS Lambda Python3.8 an Slack zu senden
[AWS] Behebung eines Problems, bei dem Lambda von CodePipeline aus angerufen hat