2参数的调lambda aws从go语言

0

的问题

我想要发送的2个参数一氧需求,以便工作和它基本需求的价值,我要搜索和作为第二个参数的领域在哪里可以找到这种价值。

现在有没问题我已经能够访问其他一些lambda用,只需要一个参数的代码这样。

func (s *resourceService) GetProject(ctx context.Context, name string) projectStruct {

    payload, err := json.Marshal(name)

    util.Logger.Debugf("Payload",payload)
    invokeOutput, err := s.lambdaSvc.Invoke(ctx, &lambda.InvokeInput{
        FunctionName:   &s.getProject,
        InvocationType: "RequestResponse",
        Payload: payload,

    })
    if err != nil {
        panic(err.Error())
    }
    var project projectStruct
    err = json.Unmarshal(invokeOutput.Payload, &project)
    if err != nil {
        panic(err.Error())
    }

    util.Logger.Debugf("Invocation output [%v]", invokeOutput)
    return project
}

现在有2个参数我有一个很大的问题,并尝试了很多不同的方法开始为增加另一个有效载荷的价值,创造一个字符串2价值观和元帅,封送两个参数和尝试,并增加它们作为有效载荷,即使追加的两封送字阵列,但我已经不能发送的2个参数作为有效载荷

你知不知道正确的方式这样做吗? 请帮助

aws-lambda go
2021-11-22 20:58:11
1

最好的答案

0

Lambda职能只需要一个有效载荷。 在 V1的实SDK,InvokeInput 需要 一个 []byte 参数表达式,因为你已经知道的。

你可以结构你 Json有效载荷进行 列表. 看你如,有效载荷可能看起来喜欢的东西

["name","name"]

你可以改变你的签署,像这样:

func (s *resourceService) GetProject(ctx context.Context, names []string) projectStruct

json.Marshal 可以处理封送一片只以及内的元素片,使剩余的代码不需要改变。

当然 接收 功能必须 同意 有关模式的数据,它正在通过。 如果你想改变从一个字符串 名单 的字符串,这将是一个重大更改。 出于这一原因,Json架构通常使用 的命名 值,而不是标量.

[{ "Name": "Joan"},{"Name":"Susan"}]

你可以添加 AgeAddress 没有打破接收功能的(尽管当然,它会忽略的新领域直到你的节目,它忽略)。

需要时间来 了解JSON -这是一个简单和表现的编码标准,可靠地支持无处不在。 JSON是自然选择编码结构化数据在去,因为 JSON集成以及与去的结构,地图,并片.

2021-11-22 23:47:47

谢谢你的帮助,具有这一点,我认为我将要使用的一个目作为一个输入变化lambda参与它的工作
Julian Cisneros

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................