Приложение логики Azure выдает 404 при попытке удалить сущность из таблицы Azure - PullRequest
0 голосов
/ 15 апреля 2019

У меня есть таблица Azure, в которой есть ключ раздела «myPartition» и «ключ строки», содержащий адрес электронной почты.

Я использую приложение логики Azure для мониторинга общего почтового ящика на предмет сообщений о подписке, а затем добавив их в эту таблицу.Это работает нормально.

Однако, когда я получаю сообщение об отмене подписки и приложение логики пытается удалить объект, используя ключ раздела и ключ строки, я получаю ошибку 404, ResourceNotFound.

Я вижу, что строка, которую я пытаюсь удалить, присутствует с помощью обозревателя хранилищ Azure.

Я подозреваю, что проблема может быть вызвана символом @ в адресе электронной почты в ключе строки, как я обнаружил.статьи, в которых предлагаются определенные символы, недопустимы в ключе строки - хотя ни один из них не упоминает символ @.

Кто-нибудь может предложить какие-либо идеи, как это исправить?

1 Ответ

0 голосов
/ 15 апреля 2019

Символ @ не должен быть проблемой:

Символы, запрещенные в ключевых полях
Следующие символы не допускаются в значениях для PartitionKey иСвойства RowKey:

  • Символ косой черты (/)
  • Символ обратной косой черты (\)
  • Символ знака числа (#)
  • Знак вопроса (?)
  • Управляющие символы от U + 0000 до U + 001F, в том числе:
    • Символ горизонтальной табуляции (\ t)
    • Перевод строки (\n) символ
    • символ возврата каретки (\ r)
  • управляющие символы от U + 007F до U + 009F

И

Вторая часть первичного ключа - это ключ строки, заданный свойством RowKey.Ключ строки - это уникальный идентификатор объекта в данном разделе.Вместе PartitionKey и RowKey однозначно идентифицируют каждую сущность в таблице.

Ключ строки - это строковое значение размером до 1 КБ.

Необходимо включить свойство RowKey в каждомоперация вставки, обновления и удаления.

Взято из Понимание модели данных Table Service .

Вы абсолютно уверены строкточно так же?Нет пробелов или различий в корпусе?

...