我有一个Azure表,该表具有一个分区键“ myPartition”和一个“行键”,其中包含电子邮件地址。
我正在使用Azure Logic应用程序监视共享邮箱中的订阅消息,然后将它们添加到此表中。效果很好。
但是,当我收到一条退订消息,并且Logic App尝试使用分区键和行键删除实体时,我收到404错误ResourceNotFound。
使用Azure Storage Explorer,我可以看到要删除的行。
我怀疑问题可能是由行键中电子邮件地址中的@字符引起的,因为我发现文章暗示某些字符在行键中无效-尽管他们都没有提到@字符。
有人能提供解决此问题的想法吗?
答案 0 :(得分:0)
@
字符不应该成为问题:
关键字段中不允许使用的字符
PartitionKey和RowKey属性的值中不允许使用以下字符:
- 正斜杠(/)字符
- 反斜杠(\)字符
- 数字符号(#)字符
- 问号(?)字符
- 从U + 0000到U + 001F的控制字符,包括:
- 水平制表符(\ t)字符
- 换行(\ n)字符
- 回车符(\ r)
- 从U + 007F到U + 009F的控制字符
和
主键的第二部分是行键,由RowKey属性指定。行键是给定分区中实体的唯一标识符。 PartitionKey和RowKey一起唯一地标识表中的每个实体。
行键是一个字符串值,最大长度为1 KB。
您必须在每个插入,更新和删除操作中包括RowKey属性。
来自Understanding the Table Service Data Model。
您完全确定字符串是完全相同的吗?没有空格或大小写差异吗?