尝试在DynamoDb中保存枚举时出现“类型不受支持”错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试在DynamoDb中保存枚举时出现“类型不受支持”错误相关的知识,希望对你有一定的参考价值。
我有以下用DynamoDb属性修饰的类:
[DynamoDBTable("Orders")]
public class OrderDynamoModel
{
[DynamoDBHashKey]
public int OrderId { get; set; }
[DynamoDBProperty]
public DateTime DateTimeUtc { get; set; }
[DynamoDBProperty]
public int TId { get; set; }
[DynamoDBProperty]
public OrderStatus Status { get; set; }
[DynamoDBProperty]
public string Order { get; set; }
}
[Flags]
public enum OrderStatus
{
None = 0,
Pending = 1,
Completed = 2
}
当我尝试使用DynamoDBContext.Save保存类的实例时,我得到以下错误:
类型OrderStatus不受支持,无法实例化
当我将OrderStatus中的属性类型更改为int并相应地更新代码时,它可以成功地将记录保存在DynamoDb中。
知道为什么我不能使用枚举吗?
答案
您使用的是旧版本的AWS SDK,version 2,自2016年以来尚未更新。您需要升级到version 3,至少版本3.1.1,因为添加了enum
类型支持时。
有关更多信息,请参阅此AWS Blog。
以上是关于尝试在DynamoDb中保存枚举时出现“类型不受支持”错误的主要内容,如果未能解决你的问题,请参考以下文章
从 DynamoDB 获取项目时出现“提供的关键元素与架构不匹配”错误
尝试在枚举中添加 IsSerializable 时出现 gwt 错误
将 DAX 与 DynamoDB 一起使用时出现无法配置集群端点错误
AWS Amplify + Graphql + Dynamodb:突变时出现 ConditionalCheckFailedException 错误