Gau*_*ham 5 indexing json amazon-web-services amazon-dynamodb
我有一个包含 Id 列和 JSON 列的表。
Id | JSON
----------------------------------------------------------------
101 | {"person_id":456,"f_name":"t", "l_name":"Jack"}
|
102 | {"person_id":123,"f_name":"M", "l_name":"Ron"}
|
103 | {"person_id":789,"f_name":"A", "l_name":"Tom"}
Run Code Online (Sandbox Code Playgroud)
我可以在 Id 列上创建 GSI(全局二级索引),但我想知道如何在person_id和上创建 GSI f_name。是否可以为 json 属性创建 GSI?根据观察,我能够在 Dynamo DB 表中的列上创建 GSI。请提供一个 C#.Net 示例。
。
小智 3
摘自http://aws.amazon.com/dynamodb/faqs/
问:在 DynamoDB 中查询 JSON 数据有什么不同吗?
不需要。您可以在任何顶级 JSON 元素上创建全局二级索引或本地二级索引。例如,假设您存储了一个 JSON 文档,其中包含有关某人的以下信息:名字、姓氏、邮政编码以及他们所有朋友的列表。名字、姓氏和邮政编码将是顶级 JSON 元素。您可以创建一个索引,以便根据名字、姓氏或邮政编码进行查询。好友列表不是顶级元素,因此您无法为好友列表建立索引。有关全局二级索引及其查询功能的更多信息,请参阅本常见问题解答中的二级索引部分。
问:如果我在 DynamoDB 中嵌套了 JSON 数据,我可以仅检索该数据的特定元素吗?
是的。使用 GetItem、BatchGetItem、Query 或 Scan API 时,您可以定义 ProjectionExpression 来确定应从表中检索哪些属性。这些属性可以包括 JSON 文档的标量、集合或元素。
尽管我还没有成功做到这一点,也没有看到任何通过云形成来完成的例子。