Firestore: использование правила request.resource.size возвращает FirebaseError: отсутствуют или недостаточные разрешения - PullRequest
0 голосов
/ 30 апреля 2019

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

service cloud.firestore {
  match /databases/{database}/documents {
  match /events/{eventId}{
        allow read: if request.auth.uid != null;     
        allow write: if request.auth.uid != null
            && request.resource.size < 1*1024*1024;
      }
  }
}

Над правилом безопасности возвращается ошибка

FirebaseError: отсутствуют или недостаточные разрешения.

Как проверить размер входящих данных без ошибки?

Структура хранилища

firestore_db.collection('/events').add({
            createdAt: firebase.firestore.Timestamp.now().toMillis(),
            uid: currentUserId,
            actionData: JSON.stringify((action)
            )
          });  

Пример кода

1 Ответ

0 голосов
/ 02 мая 2019

В Cloud Firestore тип Resource не имеет свойства size. Возможно, вы ошиблись с типом Resource в Storage , который имеет такое свойство.

Также обратите внимание, что Firestore всегда отклоняет записи, когда ресурс становится больше 1 МБ, поскольку это максимальный размер документа.

...