Proveedor de activos

El proveedor de activos te permite almacenar y recuperar objetos en la plataforma Vonage Cloud Runtime. Puedes generar enlaces a tus archivos públicos, con tiempos de vida (TTL) para los archivos seguros, o descargar el archivo binario.

Funciones

  • createDir - esto le permite crear un directorio antes de cargar los archivos. Vea el fragmento de código aquí.
  • uploadFiles - esto te permite subir archivos de tu proyecto a la plataforma Vonage Cloud Runtime para su almacenamiento a largo plazo. Acepta un retention para establecer el periodo de retención de archivos. Vea el fragmento de código aquí.
  • uploadData - Esto te permite cargar directamente los búferes de datos en memoria sin necesidad de escribirlos primero en el disco. Acepta un parámetro opcional retention parámetro. Véase el fragmento de código aquí.
  • remove - Esto te permite eliminar un archivo o un directorio que hayas subido o creado anteriormente. Consulta el fragmento de código aquí.
  • list - esto le permite listar archivos y directorios que están disponibles en su proyecto. Véase el fragmento de código aquí.
  • generateLink - esto le permite generar un enlace a un archivo de acceso público. Vea el fragmento de código aquí.
  • getRemoteFile - Esto te permite descargar un archivo que hayas subido previamente en su formato binario o sin procesar. Consulta el fragmento de código aquí.

Plazos de conservación de documentos

Ambos uploadFiles y uploadData aceptar un opcional retention Parámetro para controlar el tiempo durante el que se almacena un archivo. Si se omite, se aplica el tiempo de retención predeterminado de la plataforma. Importa el FILE_RETENTION_PERIOD enumeración del SDK:

import { Assets, FILE_RETENTION_PERIOD } from '@vonage/vcr-sdk';
Valor Duración
FILE_RETENTION_PERIOD.ONE_DAY 1 día
FILE_RETENTION_PERIOD.SEVEN_DAYS 7 días
FILE_RETENTION_PERIOD.ONE_MONTH 1 mes
FILE_RETENTION_PERIOD.THREE_MONTHS 3 meses
FILE_RETENTION_PERIOD.SIX_MONTHS 6 meses
FILE_RETENTION_PERIOD.ONE_YEAR 1 año

Inicialización del proveedor de activos

Para utilizar el proveedor de recursos, debes crear una instancia del proveedor mediante una sesión:

const session = vcr.createSession();
const assets = new Assets(session);

Uso

Por ejemplo, para utilizar el proveedor «Assets» con el fin de subir un archivo desde un formulario HTML mediante busboy:

app.post('/upload', async (req, res, next) => {
    try { 
        const bb = busboy({ headers: req.headers });
        var filePath;

        bb.on('file', (name, file, info) => {
            filePath = path.join(os.tmpdir(), `image.png`); 
            file.pipe(fs.createWriteStream(filePath));
        });

        bb.on('close', async function() {
            const session = vcr.createSession();
            const assets = new Assets(session);

            await assets.uploadFiles([filePath], '/imgs');
            res.end(); 
        });

        req.pipe(bb);
    } catch (error) {
        next(error);
    }
});

A continuación, para recuperar el archivo:

const session = vcr.createSession();
const assets = new Assets(session);
const file = await assets.getRemoteFile('/imgs/image.png');

O bien, para generar un enlace al archivo:

const session = vcr.createSession();
const assets = new Assets(session);
const fileData = await assets.generateLink('/imgs/image.png');