返回顶部
首页 > 资讯 > 后端开发 > GO >2个参数从golang调用lambda aws
  • 592
分享到

2个参数从golang调用lambda aws

2024-04-05 00:04:26 592人浏览 独家记忆
摘要

欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《2个参数从golang调用lambda aws》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都

欢迎各位小伙伴来到编程网,相聚于此都是缘哈哈哈!今天我给大家带来《2个参数从golang调用lambda aws》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习

问题内容

我想发送 lambda 工作所需的 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 个参数作为有效负载

你知道正确的做法吗?请帮忙


正确答案


lambda 函数仅接受一个有效负载。如您所知,V1 of the AWS SDK, InvokeInput 采用一个 []byte 参数来表示 json。

您可以构建您的一个 json payload 来携带列表。查看您的示例,有效负载可能类似于

["name","name"]

您可以像这样更改您的签名:

func (s *resourceservice) getproject(ctx context.context, names []string) projectstruct

json.marshal 可以处理切片以及切片内的元素的封送处理,因此其余代码不需要更改。

当然,接收函数必须同意正在传递的数据的架构。如果您希望从字符串更改为字符串列表,这将是一个重大更改。因此,json 模式通常使用命名值而不是标量。

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

您可以添加 ageaddress 而不破坏接收功能(当然,它会忽略新字段,直到您对其进行编程以忽略它们)。

花点时间了解 Get to know JSON - 这是一种简单且富有表现力的编码标准,在任何地方都受到可靠支持。 json 是在 go 中编码结构化数据的自然选择,因为 JSON integrates well with Go's with structures, maps, and slices。

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~

您可能感兴趣的文档:

--结束END--

本文标题: 2个参数从golang调用lambda aws

本文链接: https://lsjlt.com/news/596852.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作