gpt4 book ai didi

c# - 将参数传递给 AWS Lambda 函数

转载 作者:行者123 更新时间:2023-11-30 14:06:47 25 4
gpt4 key购买 nike

我有一个 Lambda 函数,它应该有 3 个参数

public async Task<string> FunctionHandler(string pName, string dictName, ILambdaContext context)
{
//code...
}

我正在使用 Visual Studio 2015,我将此发布到 AWS 环境,我在示例输入框中输入什么来调用此功能? enter image description here

最佳答案

就个人而言,我没有在 Lambda 入口点尝试过异步任务,因此无法对此发表评论。

但是,另一种方法是将 Lambda 函数入口点更改为:

public async Task<string> FunctionHandler(JObject input, ILambdaContext context)

然后像这样从中提取两个变量:

string dictName = input["dictName"].ToString();
string pName = input["pName"].ToString();

然后在 AWS Web 控制台中输入:

{
"dictName":"hello",
"pName":"kitty"
}

或者取而代之的是获取 JObject 值并使用它,如以下示例代码所示:

using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;

namespace SimpleJsonTest
{
[TestClass]
public class JsonObjectTests
{
[TestMethod]
public void ForgiveThisRunOnJsonTestJustShakeYourHeadSayUgghhhAndMoveOn()
{
//Need better names than dictName and pName. Kept it as it is a good approximation of software potty talk.
string json = "{\"dictName\":\"hello\",\"pName\":\"kitty\"}";

JObject jsonObject = JObject.Parse(json);

//Example Zero
string dictName = jsonObject["dictName"].ToString();
string pName = jsonObject["pName"].ToString();

Assert.AreEqual("hello", dictName);
Assert.AreEqual("kitty", pName);

//Example One
MeaningfulName exampleOne = jsonObject.ToObject<MeaningfulName>();

Assert.AreEqual("hello", exampleOne.DictName);
Assert.AreEqual("kitty", exampleOne.PName);

//Example Two (or could just pass in json from above)
MeaningfulName exampleTwo = JsonConvert.DeserializeObject<MeaningfulName>(jsonObject.ToString());

Assert.AreEqual("hello", exampleTwo.DictName);
Assert.AreEqual("kitty", exampleTwo.PName);
}
}
public class MeaningfulName
{
public string PName { get; set; }

[JsonProperty("dictName")] //Change this to suit your needs, or leave it off
public string DictName { get; set; }
}

}

关键是我不知道您是否可以在 AWS Lambda 中有两个输入变量。很可能你做不到。此外,最好坚持使用 json 字符串或对象来传递所需的多个变量。

关于c# - 将参数传递给 AWS Lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45295549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com