活动无法发送数据大于32768个字符的响应

时间:2016-06-30 20:48:32

标签: ruby amazon-web-services amazon-swf aws-lambda

我正在尝试使用ruby调用一个简单的lambda函数(lambda函数将hello world打印到控制台)。但是当我运行代码并查看swf仪表板时。我看到以下错误:

  

原因:活动无法发送数据大于32768个字符的响应。请限制响应的大小。您可以查看“活动工作者”日志以查看原始响应。

有人可以帮我解决这个问题吗?

代码如下:

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

由于

1 个答案:

答案 0 :(得分:0)

根据AWS文档,您无法发送大于 32,000个字符的输入/结果数据集大小。此限制会影响活动或工作流程执行结果数据,在计划活动任务或工作流程执行时输入数据,以及使用工作流程执行信号发送的输入。

解决此问题的解决方法是

  1. 使用 AWS S3 上传邮件,并在活动之间发送S3邮件的路径。
  2. 如果您需要高性能,请使用 Elasticache 并存储值并在活动之间传递密钥。