gpt4 book ai didi

Azure 表存储 RowKey 限制字符模式?

转载 作者:行者123 更新时间:2023-12-03 08:51:32 25 4
gpt4 key购买 nike

Azure TableStorage RowKey 中是否存在受限制的字符模式?我通过大量搜索未能找到任何记录。但是,我在某些性能测试中得到了暗示此类行为的行为。

我在由随机字符组成的 RowKey 上遇到了一些奇怪的行为(测试驱动程序确实阻止了受限制的字符 (/\# ?) 以及阻止单引号出现在 RowKey 中)。结果是我有一个 RowKey 可以很好地插入表中,但无法查询(结果是 InvalidInput)。例如:

RowKey: 9}5O0J=5Z,4,D,{!IKPE,~M]%54+9G0ZQ&G34!G+

尝试通过此 RowKwy(相等)进行查询将导致错误(在我们的应用程序中,使用 Azure 存储资源管理器和 Cloud Storage Studio 2)。我查看了通过 Fiddler 发送的请求:

GET /foo()?$filter=RowKey%20eq%20'9%7D5O0J=5Z,4,D,%7B!IKPE,~M%5D%54+9G0ZQ&G34!G+' HTTP/1.1

看起来 RowKey 中的 %54 没有在过滤器中转义。有趣的是,对于使用包含此 RowKey 的批处理 XML 中的 URI 对表存储进行批处理请求,我得到了类似的行为。我还看到了带有嵌入双引号的 RowKey 的类似行为,尽管我还没有隔离该模式。

有人跟我遇到过这种行为吗?我可以轻松限制 RowKey 中出现的其他字符,但我真的很想知道“规则”。

最佳答案

PartitionKey 和 RowKey 字段中不允许使用以下字符:

  • 正斜杠 (/) 字符
  • 反斜杠 (\) 字符
  • 数字符号 (#) 字符
  • 问号 (?) 字符

进一步阅读:Azure Docs > Understanding the Table service data model

关于Azure 表存储 RowKey 限制字符模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11514707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com