edge/doc/apps/server-api/blob.md
William Petit b5b4042cc7
All checks were successful
arcad/edge/pipeline/head This commit looks good
feat(sdk,client): add menu to help navigation between apps
2023-04-20 10:17:37 +02:00

2.2 KiB

Module blob

Ce module permet de manipuler des fichiers ("blobs") au sein de votre application.

Fonctions de rappel

Pour permettre aux utilisateurs de téléverser/télécharger des fichiers ("blobs") dans votre application, il vous faudra déclarer 2 fonctions dans votre fichier server/main.js.

onBlobUpload(ctx: Context, blobId: string, blobInfo: BlobInfo, metadata: Metadata)

TODO

Usage

function onBlobUpload(ctx, blobId, blobInfo, metadata) {
    // Autoriser le téléversement et indiquer que le fichier doit être stocké dans le bucket "my-bucket"
    return { allow: true, bucket: "my-bucket" };
}

onBlobDownload(ctx: Context, bucketName: string, blobId: string)

TODO

Usage

function onBlobDownload(ctx, bucketName, blobId) {
    // Autoriser le téléchargement
    return { allow: true };
}

Méthodes

blob.listBuckets(ctx: Context): string[]

TODO

blob.getBlobInfo(ctx: Context, bucketName: string, blobId: string): BlobInfo

TODO

blob.writeBlob(ctx: Context, bucketName: string, blobId: string, data: any)

TODO

blob.readBlob(ctx: Context, bucketName: string, blobId: string): ArrayBuffer

TODO

blob.listBlobs(ctx: Context, bucketName: string): BlobInfo[]

TODO

blob.deleteBlob(ctx: Context, bucketName: string, blobId: string)

TODO

blob.deleteBucket(ctx: Context, bucketName: string)

TODO

blob.getBucketSize(ctx: Context, bucketName: string): number

TODO

Objets

Context

Voir la documentation de l'objet Context.

BlobInfo

interface BlobInfo {
    id: string          // Identifiant du blob
    bucket: string      // Nom du bucket contenant le blob
    size: number        // Taille du blob
    modTime: number     // Timestamp Unix de dernière modification du blob
    contentType: string // Type MIME du contenu du blob
}

Metadata

L'objet Metadata est un objet clé/valeur arbitraire transmis avec la requête de téléversement. Voir la méthode Edge.Client.upload(blob, metadata) du SDK client.