Proveedor de activos
El proveedor Assets te permite almacenar y recuperar objetos en la plataforma Vonage Cloud Runtime. Puedes generar enlaces a tus archivos públicos, con TTL para archivos seguros, o descargar el 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 unretentionpara establecer el periodo de retención de archivos. Vea el fragmento de código aquí.uploadData- esto le permite cargar directamente búferes de datos en memoria sin escribir primero en el disco. Acepta unretentionparámetro. Véase el fragmento de código aquí.remove- esto le permite eliminar un archivo o directorio que haya cargado o creado previamente. Vea 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 le permite descargar un archivo que haya cargado previamente en su forma binaria/en bruto. Vea el fragmento de código aquí.
Períodos de conservación de los expedientes
Ambos uploadFiles y uploadData aceptan un retention para controlar cuánto tiempo se almacena un archivo. Si se omite, se aplica la retención por defecto de la plataforma. Importe el archivo FILE_RETENTION_PERIOD 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 Activos es necesario crear una instancia del proveedor utilizando una sesión:
const session = vcr.createSession();
const assets = new Assets(session);
Utilización
Por ejemplo, para utilizar el proveedor Assets para cargar un archivo desde un formulario HTML utilizando 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 para generar un enlace al archivo:
const session = vcr.createSession();
const assets = new Assets(session);
const fileData = await assets.generateLink('/imgs/image.png');