You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#使用AwsSdkCall时Parameters字段应传入何种合法类型

解决方案

异常原因

该问题由JSII跨语言运行时的序列化约束导致:JSII无法正确序列化.NET匿名类型、自定义类实例,也无法自动转换.NET原生枚举为AWS SDK可识别的参数格式,因此会抛出运行时异常。

正确参数类型

AwsSdkCall.Parameters字段需要传入 Dictionary<string, object> 类型的实例,所有枚举类参数需显式转换为对应字符串值,示例代码如下:

using System.Collections.Generic;
using Amazon.CDK.CustomResources;

var sdkCall = new AwsSdkCall
{
    Service = "SSM",
    Action = "putParameter",
    Parameters = new Dictionary<string, object>
    {
        { "Name", "/my-param" },
        { "Tier", Amazon.SimpleSystemsManagement.ParameterTier.Standard.ToString() },
        { "Type", Amazon.SimpleSystemsManagement.ParameterType.String.ToString() },
        { "Value", "My value" }
    }
};

注意事项

  • 字典键名必须和对应AWS服务API的请求参数名完全匹配,大小写需符合AWS SDK规范
  • 嵌套参数结构同样使用嵌套的Dictionary<string, object>定义,不可直接传入AWS .NET SDK的请求类实例
  • 所有非基础类型(枚举、自定义类型)都要转换为字符串、数字等基础类型后再存入字典

内容的提问来源于stack exchange,提问作者Ognjen Munjin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:36:03