我试图使用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

谢谢

最佳答案

根据AWS文档,不能发送大于32000个字符的输入/结果数据集此限制影响活动或工作流执行结果数据、计划活动任务或工作流执行时的输入数据,以及随工作流执行信号发送的输入。
解决此问题的解决方法是
使用AWS S3上传消息并在活动之间发送S3消息的路径。
如果需要高性能,请使用Elasticache并存储值并在活动之间传递密钥。

关于ruby - 事件无法发送数据大于32768个字符的响应,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38132985/

10-11 07:44
查看更多