2-я лямбда работает и вставляет запись в DynamoDB, когда я тестирую ее один.
У меня есть другая лямбда, которая пытается вызвать ее, но ничего не происходит.
Журналы Cloudwatchпокажите никаких проблем и покажите ставит операторы после вызова.
Но таблица динамодаба не вставляет никаких записей.
Обе лямбды имеют полный лямбда-доступ
Лямбда 2 - LamdaLamdaDynamodb
2-я лямбда, которая работает сама по себе:
# lambda 'two'
require 'aws-sdk-lambda'
require 'aws-sdk-dynamodb'
require 'time'
require 'json'
def handler(event:, context:)
p "index2"
dynamodb = Aws::DynamoDB::Client.new(region: 'us-east-2')
item = {
"name": "#{Time.now.to_s[0..19]} #{event['Records'][0]['eventSource']} #{event['Records'][0]['eventName']}",
"eventTime": "#{Time.now.to_s[0..19]}",
"eventSource": "lambda",
"description": "from lambda event",
"eventID": "#{event['Records'][0]['eventID']}",
"eventName": "#{event['Records'][0]['eventName']}",
"eventSource":"#{event['Records'][0]['eventSource']}",
"awsRegion":"#{event['Records'][0]['awsRegion']}"
}
params = {
table_name: 'any_event',
item: item
}
begin
dynamodb.put_item(params)
puts 'Added item'
rescue Aws::DynamoDB::Errors::ServiceError => error
puts 'Unable to add item:'
puts error.message
end
end
Лямбда 1 - triggerLamdaLamda
Первая лямбда, которая пытается вызвать ее:
require 'aws-sdk-lambda'
require 'time'
require 'json'
def lambda_handler(event:, context:)
client = Aws::Lambda::Client.new(region: 'us-east-2')
payload = '{"name": "thing"}'
the_payload = JSON.generate(payload)
resp = client.invoke({
function_name: 'LamdaLamdaDynamodb',
invocation_type: 'RequestResponse',
log_type: 'None',
payload: the_payload
})
end