Provedor de ativos
O provedor de ativos permite armazenar e recuperar objetos na plataforma Vonage Cloud Runtime. Você pode gerar links para seus arquivos públicos, com TTLs para arquivos seguros, ou baixar o arquivo binário.
Funções
createDir- isso permite que você crie um diretório antes de enviar os arquivos. Veja o trecho de código aqui.uploadFiles- isso permite que você envie arquivos do seu projeto para a plataforma Vonage Cloud Runtime para armazenamento de longo prazo. Aceita umretentionparâmetro para definir o período de retenção do arquivo. Veja o trecho de código aqui.uploadData- isso permite que você faça o upload de buffers de dados na memória diretamente, sem precisar gravar no disco primeiro. Aceita um parâmetro opcionalretentionparâmetro. Veja o trecho de código aqui.remove- isso permite que você remova um arquivo ou diretório que tenha enviado ou criado anteriormente. Veja o trecho de código aqui.list- isso permite listar os arquivos e diretórios disponíveis no seu projeto. Veja o trecho de código aqui.generateLink- isso permite que você gere um link para um arquivo que está acessível ao público. Veja o trecho de código aqui.getRemoteFile- isso permite que você baixe um arquivo que você já tenha enviado anteriormente em seu formato binário/bruto. Veja o trecho de código aqui.
Prazos de retenção de arquivos
Ambos uploadFiles e uploadData aceitar um opcional retention parâmetro para controlar por quanto tempo um arquivo fica armazenado. Se omitido, aplica-se o tempo de retenção padrão da plataforma. Importe o FILE_RETENTION_PERIOD enum do SDK:
import { Assets, FILE_RETENTION_PERIOD } from '@vonage/vcr-sdk';
| Valor | Duração |
|---|---|
FILE_RETENTION_PERIOD.ONE_DAY | 1 dia |
FILE_RETENTION_PERIOD.SEVEN_DAYS | 7 dias |
FILE_RETENTION_PERIOD.ONE_MONTH | 1 mês |
FILE_RETENTION_PERIOD.THREE_MONTHS | 3 meses |
FILE_RETENTION_PERIOD.SIX_MONTHS | 6 meses |
FILE_RETENTION_PERIOD.ONE_YEAR | 1 ano |
Inicializando o provedor de ativos
Para usar o Provedor de Ativos, é necessário criar uma instância do provedor por meio de uma sessão:
const session = vcr.createSession();
const assets = new Assets(session);
Uso
Por exemplo, para usar o provedor Assets para fazer o upload de um arquivo a partir de um formulário HTML usando 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);
}
});
Em seguida, para recuperar o arquivo:
const session = vcr.createSession();
const assets = new Assets(session);
const file = await assets.getRemoteFile('/imgs/image.png');
Ou para gerar um link para o arquivo:
const session = vcr.createSession();
const assets = new Assets(session);
const fileData = await assets.generateLink('/imgs/image.png');