c# - 通过 c# AWS SDK 在 DynamoDB 中删除
问题描述
尝试在 c# 中从 DynamoDB 中删除时出现错误“发生一个或多个错误。(键属性 MyID 必须是原始类型”
foreach (var doc in docs)
{
Logger.LogInformation($"Deleting docs:");
await DynamoDbService.DeleteListFromTableAsync(new List<Document> { doc }, requestData.tableName);
Logger.LogInformation($"Deleted Docs.");
}
DynamoDbService.DeleteListFromTableAsync 在给定的文档上运行 batchWrite.AddItemToDelete 函数。
任何人都知道我为什么会收到此错误以及如何解决它?
解决方案
如果不知道自定义函数背后的代码或模型本身,就很难分辨。但是错误告诉我们的是,密钥必须是原始(字符串、数字或二进制)值,而事实并非如此。
根据文档,
创建表或二级索引时,必须指定每个主键属性(分区键和排序键)的名称和数据类型。此外,每个主键属性必须定义为字符串、数字或二进制类型。
如果您可以发布您的模型和底层代码,则更容易识别实际问题。
推荐阅读
- php - 使用 PHP 在 Apache 或 NGINX 上配置 HSTS
- tcl - Tcl 将标准输出重定向到文件不产生输出
- javascript - 使用 javascript 和 laravel 从输入中获取值
- flutter - 在 Flutter 中使用 TextField 构建带有语法高亮的代码编辑器
- laravel - 带有josn资源的laravel livewire问题
- wso2 - WSO2 API Manager 3.2 禁用访问令牌
- javascript - Statsig - 如何从特征门获得真实价值?
- c++ - undefined reference to `Account::set_balance(double)' ----这是什么意思?
- google-sheets - 您如何将网站中的一行中的一列放入 Google 工作表中
- html - 文字对齐不正确?