Firebase Storage - Невозможно удалить с требованием размера

У меня была эта проблема с FileSystemWatcher и выяснилось, что следующий код решил проблему:

fsw.SynchronizingObject = this

Затем элемент управления использует текущий объект формы для решения с событиями, и поэтому будет в одной и той же теме.

2
задан Rbar 17 January 2019 в 04:04
поделиться

2 ответа

Насколько я вижу, это всего лишь ошибка в симуляторе консоли. Я написал реальный (Android) код приложения в соответствии с этими правилами и смог создать и удалить контент без проблем. Проблема в том, что симулятор не понимает, как интерпретировать request.resource == null, и в результате просто терпит неудачу.

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

0
ответ дан Doug Stevenson 17 January 2019 в 04:04
поделиться

Разобрался! Вот что работает как в производстве , так и в симуляторе:)

match /myusers/{userId}/{allPaths=**} {
  allow write: if request.auth.uid == userId && 
                  (request.resource.size < 1 * 1024 * 1024 || request.method == 'delete');
  allow read: if request.auth.uid == userId;
}

p.s. @ Дуг Стивенсон, если вы можете подать заметку изнутри, я думаю, что было бы очень полезно для других, если бы request.method примеров с delete, update, get и / или create могли быть добавленным в документацию!

РЕДАКТИРОВАТЬ:

Кроме того, это работает как в симуляторе, так и в производстве (и, на мой взгляд, немного более читабельно, чем первый вариант). Благодаря @Doug Stevenson на кончике!

match /myusers/{userId}/{allPaths=**} {
  allow write: if request.auth.uid == userId && request.resource.size < 1 * 1024 * 1024;
  allow delete: if request.auth.uid == userId 
  allow read: if request.auth.uid == userId;
}
0
ответ дан Rbar 17 January 2019 в 04:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: