annotate src/handlers/sentiment.py @ 6:db2ce7097ff3

add string parameters
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Fri, 17 Sep 2021 17:42:42 +0200
parents cfd876570008
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
5c36f51105c2 fetch tweets working
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 1
diff changeset
1 import requests
6
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
2
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
3 # noinspection PyUnresolvedReferences
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
4 from secrets_controller import get_secret
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
5 # noinspection PyUnresolvedReferences
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
6 from event_controller import unwrap_sentiment_string_parameters
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
7 # noinspection PyUnresolvedReferences
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
8 from url_controller import create_twitter_url
1
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
9
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
10
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
11 def get_tweet_sentiment(event, context):
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
12 """
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
13 :param event: dict, required
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
14 API Gateway Lambda Proxy Input Format
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
15 :param context: object, required
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
16 Lambda Context runtime methods and attributes
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
17 :return: dict
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
18 API Gateway Lambda Proxy Output Format
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
19 """
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
20
6
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
21 # Unwrap query string parameters
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
22 twitter_user, number_of_tweets = unwrap_sentiment_string_parameters(event)
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
23
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
24 # URL creation & authentication
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
25 twitter_url = create_twitter_url(twitter_user, number_of_tweets)
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
26 twitter_key = get_secret(secret_name='tweet-analysis-keys')
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
27 twitter_header = {"Authorization": "Bearer {}".format(twitter_key['BEARER'])}
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
28
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
29 # Request tweets to Twitter
3
5c36f51105c2 fetch tweets working
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 1
diff changeset
30 twitter_response = requests.request("GET", twitter_url, headers=twitter_header)
1
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
31
6
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
32 # Analyse tweets with AWS Comprehend
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
33
1
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
34 return {
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
35 "statusCode": 200,
6
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
36 "body": {
4
cfd876570008 attach inline policy to function to access screts
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 3
diff changeset
37 "tweets": twitter_response.json()
6
db2ce7097ff3 add string parameters
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents: 4
diff changeset
38 }
1
0277e7fc0f0a first successful sam deploy
Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
parents:
diff changeset
39 }