在 DynamoDB 密钥中使用 emojis/symbols 可以吗?
Is it OK to use emojis/symbols in DynamoDB keys?
我正在进入单table ddb 设计,我发现需要在键本身中使用定界符和其他重要字符。
为了避免分隔符出现在键值本身中的可能性,我正在考虑使用 emojis/symbols 作为分隔符:
'parent➡️childType≔{childId}➡️grandchildType≔{grandchildId}'
我 read here that dynamo accepts UTF-8, and I read here 表情符号可以使用 UTF-8 编码。但我远不是这方面的专家,所以,一个权威的答案将不胜感激:)
我在真实的 DynamoDB table 中测试了您的文本,它作为键和值工作得很好,但我个人会使用双冒号。所以它看起来像这样:
parent::childType=123::grandchildType=456
IMO,更容易阅读是我使用它们而没有其他人使用它的原因。
无论您选择什么,只需支付小费。请记住,这些字符算作项目整体尺寸的一部分。当谈到 GetItem
、Query
和 Scan
操作时,名称的大小很重要。所以,除非真的有道理,否则不要在这里撒野。
我正在进入单table ddb 设计,我发现需要在键本身中使用定界符和其他重要字符。
为了避免分隔符出现在键值本身中的可能性,我正在考虑使用 emojis/symbols 作为分隔符:
'parent➡️childType≔{childId}➡️grandchildType≔{grandchildId}'
我 read here that dynamo accepts UTF-8, and I read here 表情符号可以使用 UTF-8 编码。但我远不是这方面的专家,所以,一个权威的答案将不胜感激:)
我在真实的 DynamoDB table 中测试了您的文本,它作为键和值工作得很好,但我个人会使用双冒号。所以它看起来像这样:
parent::childType=123::grandchildType=456
IMO,更容易阅读是我使用它们而没有其他人使用它的原因。
无论您选择什么,只需支付小费。请记住,这些字符算作项目整体尺寸的一部分。当谈到 GetItem
、Query
和 Scan
操作时,名称的大小很重要。所以,除非真的有道理,否则不要在这里撒野。