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 optionaleretentionum 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 optionaleretentionParameter. 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');