我有一张名为" 流派 "在DynamoDB中。
到目前为止,它有两个项目:
| language (Hash Key) | name (Range Key) |
-------------------------------------------------
| S: "en" | S: "Comedy" |
-------------------------------------------------
| S: "es" | S: "Comedia" |
我使用 AWSSDK 2.3.44.0 进行 .NET :
GetItemRequest request = new GetItemRequest();
request.TableName = "genres";
request.Key = new Dictionary<string, AttributeValue>()
{
{ "language", new AttributeValue() { S = "en" } },
{ "name", new AttributeValue() { S = "Comedy" } }
}
GetItemResponse response = await _dbClient.GetItemAsync(request);
如您所见,我正在填写所有必需的信息以完成操作。事实上,它似乎是这样做的,因为没有抛出异常。
但是,在检查了我的response
变量后,我发现response.Item
为空,就好像它在我的表中找不到该项,即使所有键都正确。< / p>
我知道可能language
和name
是保留字,所以我尝试使用Expression Attribute Names创建别名,但表达式名称只能用于表达式,而不能用于关键声明。
这里发生了什么?
答案 0 :(得分:0)
尝试将其他属性放入行中。猜测它的工作 - 你只是没有其他任何东西可以显示。