Estoy tratando de actualizar los metadatos en Google Cloud Storage con Reactjs. Probé el código exacto en este enlace Cómo cambiar los metadatos del archivo en Google Cloud Storage con Node.js y no funcionará en mi extremo.
También traté de importar el ff:
importar {Almacenamiento} desde '@google-cloud/storage'
Estos son los mensajes de error que recibo:
(1)
GET http://metadata.google.internal./computeMetadata/v1/instance net::ERR_NAME_NOT_RESOLVED
(2)
Uncaught (in promise) TypeError: Unexpected error determining execution environment:process.emitWarning is not a function
Aquí está mi código
const storage = new Storage();
const file = storage
.bucket(bucketName)
.file(filename)
// Get the file's metadata
const [metadata] = await file.getMetadata()
// update metadata
file.setMetadata(metadata.metadata.example='updated')
El paquete @google-cloud/storage está diseñado para usarse en el lado del servidor y no en una aplicación web. Puede usar una función en la nube que actualizará los metadatos en función de los datos del cliente. Por ejemplo:
const functions = require('@google-cloud/functions-framework');
functions.http('updateMetadata', async (req, res) => {
const { metadata, filename } = req.body;
const file = storage
.bucket(bucketName)
.file(filename)
// update metadata
res.json({ message: "File updated" })
});
Si usa Firebase Storage, también puede usar Firebase Client SDK para actualizar los metadatos desde el lado del cliente.