Я пытаюсь вызвать простую лямбда-функцию (функция лямбда печатает мир hello для консоли) с использованием ruby. Однако, когда я запускаю код и смотрю на панель инструментов swf. Я вижу следующую ошибку:Активность не может отправить ответ с данными размером более 32768 символов
Причина: Деятельность не может отправить ответ с данными размером более 32768 символов. Ограничьте размер ответа. Вы можете посмотреть журналы Activity Worker, чтобы увидеть исходный ответ.
Может ли кто-нибудь помочь мне решить эту проблему?
код выглядит следующим образом:
require 'aws/decider'
require 'aws-sdk'
class U_Act
extend AWS::Flow::Activities
activity :b_u do
{
version: "1.0"
}
end
def b_u(c_id)
lambda=Aws::Lambda::Client.new(
region: “xxxxxx”
access_key_id: “XxXXXXXXXXX”,
secret_access_key: “XXXXXXXXXX”
)
resp = lambda.invoke(
function_name: “s_u_1” # required
)
print "#{resp}"
end
Благодарности
Попробуйте изменить '' print '# {resp} "' 'to'''test''' (с одинарными кавычками) и посмотреть, все еще ошибки. –
Просто обратите внимание: вам не нужно запускать задачу активности, которая выполняет функцию Lambda: SWF может запускать функцию Lambda напрямую, используя ['ScheduleLambdaFunction'] (http://docs.aws.amazon.com/amazonswf/ last/apireference/API_Decision.html) и ['ScheduleLambdaFunctionDecisionAttributes'] (http://docs.aws.amazon.com/amazonswf/latest/apireference/API_ScheduleLambdaFunctionDecisionAttributes.html). – Kobi
Обходным решением, которое я бы предложил, является вызов метода @Signal с полученным ответом и заполнение его в вашем рабочем потоке, с которого вы звоните. – neo7