适用于 C# 的 AWS 注释框架输入参数
AWS Annotations Framework Input Parameters for C#
我无法获取使用 AWS 注释框架编写的 Lambda 函数来接受输入参数。这是我正在使用的文章:https://aws.amazon.com/blogs/developer/introducing-net-annotations-lambda-framework-preview/,但仅此而已。当我将函数发布到 Amazon 并测试单击“测试”按钮时,未填充输入参数。
这是我的功能:
[LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))]
[LambdaFunction()]
[HttpApi(LambdaHttpMethod.Get, "/add/{x}/{y}")]
public int Add(int x, int y, ILambdaContext context)
{
context.Logger.LogInformation($"{x} plus {y} is {x + y}");
return x + y;
}
这是 AWS 测试工具中的事件 JSON
日志显示参数没有值:
2022-05-09T10:47:02.435Z 51291252-f7cb-4a1e-9f4a-f7aebdec6b02 info 0
plus 0 is 0
我以此为例,我实际上不需要计算器,但我确实需要从 Amazon Connect 联系流传递输入参数,我将传递如下参数:
我花了几天时间在谷歌上搜索和阅读文章,但到目前为止我还没有找到任何有用的东西,所以非常感谢收到任何帮助!
使用 HttpApi
属性将 Lambda 函数公开为通过某些 http 客户端调用的 REST API。 Amazon Connect 使用此处记录的自己的事件对象直接调用您的 Lambda 函数 https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html#function-contact-flow。在 .NET 中,事件对象表示为来自 Amazon.Lambda.ConnectEvents
NuGet 包的 Amazon.Lambda.ConnectEvents.ContactFlowEvent
类型。
目前 Amazon.Lambda.Annotations
支持分解 HTTP API 事件对象以遵循典型的 .NET REST 模式。我们还没有为 Connect 等其他类型的事件源这样做,尽管这是我们想要做的事情。
对于您的用例,您仍然可以使用 Amazon.Lambda.Annotations
来获取依赖项注入和同步 CloudFormation 模板功能,方法是仅使用 LambdaFunction
属性,然后让您的函数接收 Connect 事件对象。像这样。
[LambdaFunction()]
public IDictionary<string, string> ProcessConnectContactFlow(Amazon.Lambda.ConnectEvents.ContactFlowEvent contactFlowEvent)
{
// Process the event
var response = new Dictionary<string, string>()
{
{ "Name", "CustomerName" },
{ "Address", "1234 Main Road" },
{ "CallerType", "Patient" }
};
return response;
}
我无法获取使用 AWS 注释框架编写的 Lambda 函数来接受输入参数。这是我正在使用的文章:https://aws.amazon.com/blogs/developer/introducing-net-annotations-lambda-framework-preview/,但仅此而已。当我将函数发布到 Amazon 并测试单击“测试”按钮时,未填充输入参数。
这是我的功能:
[LambdaSerializer(typeof(Amazon.Lambda.Serialization.SystemTextJson.DefaultLambdaJsonSerializer))]
[LambdaFunction()]
[HttpApi(LambdaHttpMethod.Get, "/add/{x}/{y}")]
public int Add(int x, int y, ILambdaContext context)
{
context.Logger.LogInformation($"{x} plus {y} is {x + y}");
return x + y;
}
这是 AWS 测试工具中的事件 JSON
日志显示参数没有值:
2022-05-09T10:47:02.435Z 51291252-f7cb-4a1e-9f4a-f7aebdec6b02 info 0 plus 0 is 0
我以此为例,我实际上不需要计算器,但我确实需要从 Amazon Connect 联系流传递输入参数,我将传递如下参数:
我花了几天时间在谷歌上搜索和阅读文章,但到目前为止我还没有找到任何有用的东西,所以非常感谢收到任何帮助!
使用 HttpApi
属性将 Lambda 函数公开为通过某些 http 客户端调用的 REST API。 Amazon Connect 使用此处记录的自己的事件对象直接调用您的 Lambda 函数 https://docs.aws.amazon.com/connect/latest/adminguide/connect-lambda-functions.html#function-contact-flow。在 .NET 中,事件对象表示为来自 Amazon.Lambda.ConnectEvents
NuGet 包的 Amazon.Lambda.ConnectEvents.ContactFlowEvent
类型。
目前 Amazon.Lambda.Annotations
支持分解 HTTP API 事件对象以遵循典型的 .NET REST 模式。我们还没有为 Connect 等其他类型的事件源这样做,尽管这是我们想要做的事情。
对于您的用例,您仍然可以使用 Amazon.Lambda.Annotations
来获取依赖项注入和同步 CloudFormation 模板功能,方法是仅使用 LambdaFunction
属性,然后让您的函数接收 Connect 事件对象。像这样。
[LambdaFunction()]
public IDictionary<string, string> ProcessConnectContactFlow(Amazon.Lambda.ConnectEvents.ContactFlowEvent contactFlowEvent)
{
// Process the event
var response = new Dictionary<string, string>()
{
{ "Name", "CustomerName" },
{ "Address", "1234 Main Road" },
{ "CallerType", "Patient" }
};
return response;
}