write update query firestore data firebase google-cloud-functions google-cloud-firestore

firebase - update - set data firestore



Error: HTTP Error 400, La solicitud tiene errores. Firebase Firestore Cloud Functions (8)

Mientras ejecuto el comando firebase deploy recibo este error:

estoy desplegando funciones

Funciones i: asegurando que las API necesarias estén habilitadas ...

i runtimeconfig: asegurando que las API necesarias estén habilitadas ...

✔ runtimeconfig: todas las API necesarias están habilitadas

✔ funciones: todas las API necesarias están habilitadas

Funciones i: preparando el directorio de funciones para subir ...

Funciones i: funciones empaquetadas (4.04 KB) para cargar

✔ funciones: carpeta de funciones cargada correctamente

Estoy iniciando el proceso de liberación (puede tardar varios minutos) ...

Funciones i: creando función followerNotification ...

⚠ funciones: no se pudo crear la función seguidorNotificación

⚠ funciones: Error HTTP: 400, La solicitud tiene errores

⚠ funciones: 1 función (es) no se pudo implementar.

Las funciones de despliegue tenían errores. Para continuar implementando otras características (como> base de datos), ejecute: firebase deploy --except funciones

Error: Las funciones no se implementaron correctamente.

¿Teniendo problemas? Probar el despliegue de base de fuego --help

Todo lo demás funciona sin problemas. Solo cuando intento hacer algo con Firebase Firestore.


El problema es que solo hace referencia a una colección y no a un documento como:

exports.myFunctionName = functions.firestore .document(''users/marie'').onWrite((event) => { // ... Your code here });

Necesita hacer referencia al documento como:

exports.myFunctionName = functions.firestore .document(''users/marie'').onWrite((event) => { // ... Your code here });

También puedes usar un comodín como:

exports.myFunctionName = functions.firestore .document(''users/{userId}'').onWrite((event) => { // ... Your code here });

Se describe aquí: https://firebase.google.com/docs/functions/firestore-events

Espero poder ayudar


El problema fue probablemente causado por la longitud del nombre de la función.

Entonces, si el nombre es:

myFunctionsFromWorksWithCustumersTiggersTests

cambiar por un nombre más corto, como:

WorkWithCustumers

Espero haberte ayudado.


Esto también me estaba pasando a mí, luego me di cuenta de que en el segundo nivel, firestore solo permite documentos y no colecciones.

Estaba intentando escuchar este camino:

/collection/document/{wildcard}

Puedes hacer algo como

/collection/{wildcard}

o

/collection/document/collection/{wildcard}


Mi problema con el mismo mensaje de error fue que el pubsub de Cloud Functions no parece admitir temas con nombres que comiencen con caracteres numéricos.


Solo quería señalar también que la plantilla rechazará los saltos de línea en la declaración del oyente, es decir:

exporst.myFunc = functions.firestore .document(''collection/{uid}'') .onEvent(...)

el cual la ayuda no ayuda mucho y no está cubierto en la documentación (como de costumbre)


También estaba recibiendo el mismo error hasta que cambié mi nombre de función de

create_template_

a

create_new_template

Puede ser que ''_'' (guión bajo) al final del nombre de la función haya resultado en este error.


Tuve el mismo error al intentar publicar una función que escuchaba un pub / sub en la nube, que comenzó con caracteres numéricos.

exports.nightly_pruning = functions.pubsub.topic(''24hr-tick'').onPublish((event) => { ... });

Se corrigió simplemente cambiando el nombre:

exports.nightly_pruning = functions.pubsub.topic(''nightly-tick'').onPublish((event) => { ... });

(Gracias a Nikolai Hegelstad arriba. No tengo la reputación de comentar.)


Yo tuve este problema también. En mi caso, fue porque mi ruta de activación tenía una barra diagonal en la ruta del documento.

Así que cambiando:

functions.firestore .document(''some_path/{pushId}/'')

A:

functions.firestore .document(''some_path/{pushId}'')

Se lo arreglé para mí. Parece que esto es causado por una variedad de problemas y el cli de base de fuego no hace un buen trabajo explicando las razones de por qué.