Le temps est mauvais. C'est Yoshida. J'aime particulièrement Lambda pour les services AWS. Mettez de côté si vous le maîtrisez Est-ce parce que Lambda a récemment rendu Python disponible?
Parce que je ressentais une telle anxiété, j'ai fait de mon mieux avec Python pendant environ 4 heures.
Lambda est déclenché avec awsSNS comme déclencheur et les messages SNS sont publiés sur Twitter.
_ L'image ressemble à ceci _
Cette fois, j'utiliserai l'exemple de message SNS pour publier "Bonjour de SNS!" Sur mon compte.
--J'ai un compte Twitter
Préparez-vous à travailler avec Twitter
https://dev.twitter.com/
L'accès à l'URL ci-dessus vous mènera au site des développeurs Twitter.
Si vous avez enregistré une application Twitter ou quelque chose il y a longtemps, ici
Si vous n'êtes pas connecté à votre compte Twitter, cliquez sur Se connecter en haut à droite pour vous connecter.
Lorsque vous avez terminé d'écrire, faites défiler vers le bas et si vous pouvez lire l'attention, lisez et acceptez.
Si vous pouvez confirmer les quatre clés ci-dessus, la préparation sur Twitter est terminée.
Maintenant que Twitter est prêt, je vais l'écrire tout de suite.
Tout d'abord, créez un répertoire de travail et installez les modules externes à utiliser. Cette fois, je l'ai créé juste sous la maison. Après avoir créé le répertoire, créez un fichier décrivant le script.
mkdir lambda_function`
cd lambda_function
vi function.py
Ensuite, installez le module externe utilisé dans lambda. Cette fois, nous allons utiliser un module appelé "Requests-OAuthlib", donc installez-le.
pip install requests_oauthlib -t ./
___ Appuyez sur la commande dans le répertoire que vous venez de créer ___
Il peut être installé en spécifiant le répertoire courant après l'option ___- t. ___
3.fnction.py
Voici le script que j'ai écrit cette fois
#### **`function.py`**
```python
from requests_oauthlib import OAuth1Session
# Consumer Key : CK
# Consumer Secret : CS
# Access Token : AT
# Accesss Token Secert : AS
CK = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
CS = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
AT = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
AS = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
URL = 'https://api.twitter.com/1.1/statuses/update.json'
def handler(event, context):
msg = event['Records'][0]['Sns']['Message']
params = {"status": msg }
twitter = OAuth1Session(CK, CS, AT, AS)
req = twitter.post(URL, params = params)
if req.status_code == 200:
return msg
else:
return req.status_code
Grâce à ce script, Python Virgin a été promu à 4 heures d'histoire Python. Non, ça ne marche pas! Cela seul (suer L'URL semble être une URL spéciale pour la publication.
Fermons l'environnement créé cette fois et apportons-le à AWS Notez que ___ vous serez en colère si vous ne trouvez pas le module à moins de compresser le contenu du répertoire créé ___ J'étais accro à ça pendant environ une heure ...
cd lambda_function
zip -r myfunc.zip ./
Le nom du fichier zip à compresser est approprié.
![AWS_マネジメントコンソール.jpg](https://qiita-image-store.s3.amazonaws.com/0/52141/fa003804-a627-f200-a1ba-b3288da87c1f.jpeg "AWS_マネジメントコンソール.jpg ")
![AWS_Lambda.jpg](https://qiita-image-store.s3.amazonaws.com/0/52141/4a4a5aab-f73f-3f6a-cbbb-5030b5c808f6.jpeg "AWS_Lambda.jpg ")
![AWS_Lambda02.jpg](https://qiita-image-store.s3.amazonaws.com/0/52141/6e78ebd2-2b01-0ad7-6d94-c43398432052.jpeg "AWS_Lambda02.jpg ")
![AWS_Lambda03.jpg](https://qiita-image-store.s3.amazonaws.com/0/52141/f4c24b7c-61ee-e30e-fe1b-d361ae627909.jpeg "AWS_Lambda03.jpg ")
#### Le point est le nom du gestionnaire. La raison pour laquelle vous devenez un function.handler est telle qu'elle est écrite.
Tout ce que vous avez à faire est de créer une fonction et vous avez terminé.
4.Test
Spécifiez la source de test comme SNS. Alors ...
![AWS_Lambda-kekka.jpg](https://qiita-image-store.s3.amazonaws.com/0/52141/e182de85-c722-d23b-c4a0-6b1c7b8a31e7.jpeg "AWS_Lambda-kekka.jpg ")
Le journal est correctement sorti.
Si vous vérifiez Twitter ...
![ミッスッター_ヨーダ__Yuki_BB3_さん___Twitter.jpg](https://qiita-image-store.s3.amazonaws.com/0/52141/f2164b23-0446-facc-ebab-f843fe508a01.jpeg "ミッスッター_ヨーダ__Yuki_BB3_さん___Twitter.jpg ")
C'est fait!
Pour cette application, lorsque j'ai essayé d'envoyer exactement le même message de test, j'ai eu une erreur 403 et je n'ai pas pu publier. Est-ce une spécification?
---
Je l'ai fait! !! !! !!
C'est fait!
Par exemple, si vous utilisez BOTO pour tweeter le nombre d'EC2 que vous avez configuré dans l'environnement AWS, vous pouvez éviter d'oublier de l'effacer, non?
C'est bien d'avoir quelque chose qui fonctionne avec Python, quel que soit son usage.
### référence
[Accéder à l'API Twitter avec Python](http://qiita.com/yubais/items/dd143fe608ccad8e9f85)
[Création d'une application Twitter (clé du consommateur, secret du consommateur, jeton d'accès, méthode de confirmation du secret du jeton d'accès)](http://website-planner.com/twitter%E3%82%A2%E3%83%97%E3% 83% AA% E3% 82% B1% E3% 83% BC% E3% 82% B7% E3% 83% A7% E3% 83% B3% E3% 81% AE% E4% BD% 9C% E6% 88% 90% EF% BC% 88consumer-key% E3% 80% 81consumer-secret% E3% 80% 81access-token% E3% 80% 81access-token-secret /)
Recommended Posts