API Gateway вызывает старую версию моей лямбда-функции - PullRequest
1 голос
/ 24 мая 2019

У меня есть лямбда-функция, вызванная из моего браузера.Я знаю, что это работает, потому что ответ правильный.В моей лямбде я хочу записать в таблицу динамо, поэтому я обновил свою функцию, включив эту логику.

Когда я проверяю свою функцию в лямбда-консоли, она работает как положено.Когда лямбда вызывается из браузера (через API-шлюз), она не выполняет никакого нового кода, который я добавил.

Вот мой код:

#set-up table connection 
dynamodb = boto3.resource('dynamodb', region_name='us-east-1')
table = dynamodb.Table('XXXX')

tString = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S")

#print("Received event: " +
#   json.dumps(event, indent=2))

#recieve parameters
if 'userid' in event: 
    userid = event['userid']
else:
    userid = 'nothing'
if 'token' in event: 
    token = event['token']
else:
    token = 'nothing'
if 'appid' in event: 
    appid = event['appid']
else:
    appid = 'connection'

response = table.put_item(
        Item = {
            'ID': userid,
            'token': 'test2',
            'appid': 'test2',
            'authApp': 'test2',
            'authUser': 'test2' 
        })
return userid

1 Ответ

2 голосов
/ 25 мая 2019

Вы вызываете Lambda через API-шлюз?Если это так, проверьте интеграцию Lambda для конечной точки, к которой вы обращаетесь в API Gateway, и посмотрите, жестко ли закодирована версия / псевдоним функции Lambda.Вы можете найти это, посмотрев на значение «Лямбда-функция» в разделе «Запрос на интеграцию» метода API-шлюза:

Lambda Function: my_function:dev

В приведенном выше примере это означает, что ваш API-шлюз вызывает «dev»версия "my_function" lambda.

Затем проверьте в консоли Lambda, совпадает ли версия / псевдоним, который вы вызываете в консоли, с последними изменениями DynamoDB, версия / псевдоним, который вызываетсяШлюз API.

Я провел день или два, разбивая голову о клавиатуру, пытаясь понять, почему мои обновления не выполнялись, чтобы понять, что Шлюз API указывает на другую / более старую версиюмоя функция.

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