SDK Firebase Admin настроен для доступа к неправильному приложению - PullRequest
0 голосов
/ 27 мая 2020

Надеюсь, это не слишком похоже на другой вопрос, который я опубликовал. Я пытаюсь читать / писать в базу данных моего приложения из функций Firebase с помощью Admin SDK. Возникли проблемы. Вот функция:

exports.createAssetMux = functions.https.onCall((data, context) => {

    console.log('data: ', data)

    return admin.firestore().collection('users').doc(data.id).get()
    .then((doc) => {
        console.log('firestore document: ', doc)
        return {data: 'success'}
    }).catch(error => {
        console.log('error message: ', error)
        return {data: 'there was an issue'}
    });


});

И вот ответ:

firestore document:  DocumentSnapshot {
>    _fieldsProto: undefined,
>    _ref: DocumentReference {
>      _firestore: Firestore {
>        _settings: [Object],
>        _settingsFrozen: true,
>        _serializer: [Serializer],
>        _projectId: 'live-from-868ea',
>        registeredListenersCount: 0,
>        _lastSuccessfulRequest: 1590544300258,
>        _backoffSettings: [Object],
>        _preferTransactions: false,
>        _clientPool: [ClientPool]
>      },
>      _path: ResourcePath { segments: [Array] },
>      _converter: {
>        toFirestore: [Function: toFirestore],
>        fromFirestore: [Function: fromFirestore]
>      }
>    },
>    _serializer: Serializer { createReference: [Function (anonymous)] },
>    _readTime: Timestamp { _seconds: 1590544300, _nanoseconds: 250711000 },
>    _createTime: undefined,
>    _updateTime: undefined
>  }

Когда я пытаюсь записать в базу данных или обновить что-либо, я получаю следующий ответ:

error message:  Error: 5 NOT_FOUND: no entity to update: app: "dev~my-firestore"
path <
  Element {
    type: "users"
    name: "kPuVNXsFFIyhs3Qad06B"
  }
>

  code: 5,
  details: 'no entity to update: app: "dev~my-firestore"\n' +
    'path <\n' +
    '  Element {\n' +
    '    type: "users"\n' +
    '    name: "kPuVNXsFFIyhs3Qad06B"\n' +
    '  }\n' +
    '>\n',
  metadata: Metadata {
    internalRepr: Map(1) { 'content-type' => [Array] },
    options: {}
  }
}

Примечание. Фактическое имя моего приложения было заменено на my-firestore, но я думаю, что проблема связана с частью dev~ перед ним, той частью, которую я оставил на месте. Мне нужно изменить некоторые настройки конфигурации? Я проверил все файлы конфигурации, которые у меня есть, и ни один из них не содержит части dev~.

1 Ответ

0 голосов
/ 11 июня 2020

Я запускал firebase emulators:start, который запускал dev db. Теперь это кажется очевидным. Я использовал firebase serve --only functions как обходной путь, если не хотел возиться с эмуляторами. Он подключается прямо к вашей производственной базе данных, поэтому будьте осторожны.

...