Где я могу получить http запрос в AWS - PullRequest
0 голосов
/ 25 февраля 2019

Я новичок в веб-сервисах Amazon.У меня есть ниже лямбда-функция Python

import sys
import logging
import pymysql
import json
rds_host=".amazonaws.com"
name="name"
password="123"
db_name="db"
port = 3306
def save_events(event): 
result = []
conn = pymysql.connect(rds_host, user=name, passwd=password, db=db_name, 
connect_timeout=30)
with conn.cursor(pymysql.cursors.DictCursor) as cur:
cur.execute("select * from bodyPart")
result = cur.fetchall()
cur.close()
print ("Data from RDS...")
print (result)
cur.close()
bodyparts = json.dumps(result)
bodyParts=(bodyparts.replace("\"", "'"))

def lambda_handler(event, context):
 save_events(event)
 return bodyParts

, использующая вышеуказанную функцию, отправляю json клиенту с помощью API-шлюза, теперь предположим, что пользователь выбирает элемент из списка и отправляет его обратно в виде json, где будетя получаю http запрос и как мне обработать этот запрос

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

Я только что сделал дополнительную информацию для @Harsh Manvar.

Я думаю, что проще всего использовать api-gateway-proxy-интеграцию-лямбду

В настоящее время поддержка API-шлюза AWS лямбда очень хорошая, вы можете передать тело запроса(json), используя event.body для вашей лямбда-функции.

Я использовал его каждый день в своем хобби-проекте (командный бот Slack, это сложнее, потому что вам нужно сопоставить application / x-www-form-urlencoded с json через шаблон отображения)

И для вас, я думаю, это просто, потому что вы используете только json в качестве запроса и ответ .Ключ в том, что вы должны выбрать Тип поздравления до Лямбда-функция enter image description here

Вы можете пройти несколько быстрых уроков в Medium.com дляболее подробно, я связываю только документы из Amazon.

@ mohith: Привет, мужик, я только что сделал для вас простой подход, вы можете увидеть его здесь.

Первое, что вам нужно создатьAPI (см. документы выше), затем свяжите его с вашей функцией Lambda, потому что вы используете только json , поэтому вам нужно проверить именованную Использовать интеграцию Lambda Proxy , например так: enter image description here Затем вам нужно развернуть его!

Затем в вашей функции вы можете обработать свой код, в моем случае я возвращаю все события, которые передаются моей функции, следующим образом:

enter image description here

Наконец, вы можете отправлять сообщения на конечную точку, я использовал почтальон в моем случае: enter image description here

Надеюсь, вы поняли мою идею: когда вы успешно развернули свой API, вы можете сделать с ним все что угодно в своем интерфейсе.

Я предлагаюЕсли вы больше изучаете CloudWatch, когда вы работаете с API Gateway, Lambda, ... это швейцарский армейский нож, вы не можете жить без него, его очень легко отследить и отладить код.

Пожалуйста,не стесняйтесь спрашивать меня.

0 голосов
/ 25 февраля 2019

вы можете использовать сервис aws, который называется API-шлюз, он предоставит вам конечную точку для запросов http api.

этот шлюз api устанавливает соединение с вашей лямбдой, и вы можете передавать запрос http в lambda.

здесь, делясь информацией о создании rest api на lambda, вы можете проверить это: https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-create-api.html

aws также предоставляет пример для лямбды GET, POST lambda example.you просто нужно отредактировать код, он автоматически сделает api-gateway. Как справку, вы можете проверить это.

В Lambda Console> создать функцию> выберите AWS-сервер без хранилища> в строке поиска введите "get" и выполните поиск> api-lambda-Dynamodb>, он будет принимать значение от пользователя и процессав лямбде.

здесь, делясь ссылкой, вы можете напрямую проверить примеры: https://console.aws.amazon.com/lambda/home?region=us-east-1#/create?tab=serverlessApps

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...