Anbieter von Vermögenswerten

Mit dem Assets-Anbieter können Sie Objekte auf der Vonage Cloud Runtime-Plattform speichern und abrufen. Sie können Links zu Ihren öffentlichen Dateien generieren, mit TTLs für sichere Dateien, oder die Binärdatei herunterladen.

Funktionen

  • createDir - können Sie ein Verzeichnis erstellen, bevor Sie Dateien hochladen. Siehe das Codeschnipsel hier.
  • uploadFiles - können Sie Dateien aus Ihrem Projekt zur langfristigen Speicherung auf die Vonage Cloud Runtime Plattform hochladen. Akzeptiert eine optionale retention um die Aufbewahrungsfrist für Dateien festzulegen. Siehe das Codeschnipsel hier.
  • uploadData - Damit können Sie speicherinterne Datenpuffer direkt hochladen, ohne sie vorher auf die Festplatte zu schreiben. Akzeptiert eine optionale retention Parameter. Siehe das Codeschnipsel hier.
  • remove - können Sie eine Datei oder ein Verzeichnis entfernen, das Sie zuvor hochgeladen oder erstellt haben. Siehe das Codeschnipsel hier.
  • list - können Sie die Dateien und Verzeichnisse auflisten, die in Ihrem Projekt vorhanden sind. Siehe das Codeschnipsel hier.
  • generateLink - können Sie einen Link zu einer öffentlich zugänglichen Datei erstellen. Siehe das Codeschnipsel hier.
  • getRemoteFile - können Sie eine Datei, die Sie zuvor hochgeladen haben, in ihrer binären/rohen Form herunterladen. Siehe das Codeschnipsel hier.

Aufbewahrungsfristen für Akten

Beide uploadFiles und uploadData akzeptieren eine optionale retention um zu bestimmen, wie lange eine Datei gespeichert wird. Wird er weggelassen, gilt die Standardaufbewahrung der Plattform. Importieren Sie die FILE_RETENTION_PERIOD Enum aus dem SDK:

import { Assets, FILE_RETENTION_PERIOD } from '@vonage/vcr-sdk';
Wert Dauer
FILE_RETENTION_PERIOD.ONE_DAY 1 Tag
FILE_RETENTION_PERIOD.SEVEN_DAYS 7 Tage
FILE_RETENTION_PERIOD.ONE_MONTH 1 Monat
FILE_RETENTION_PERIOD.THREE_MONTHS 3 Monate
FILE_RETENTION_PERIOD.SIX_MONTHS 6 Monate
FILE_RETENTION_PERIOD.ONE_YEAR 1 Jahr

Initialisierung des Asset-Providers

Um den Asset-Provider zu verwenden, müssen Sie eine Instanz des Providers in einer Sitzung erstellen:

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

Verwendung

Um zum Beispiel den Assets-Anbieter zum Hochladen einer Datei aus einem HTML-Formular zu verwenden, verwenden Sie 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);
    }
});

Dann wird die Datei abgerufen:

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

Oder um einen Link zu der Datei zu erstellen:

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