Maison > développement back-end > Golang > Téléchargement GCS pour le chunking dans Go SDK ?

Téléchargement GCS pour le chunking dans Go SDK ?

王林
Libérer: 2024-02-12 18:36:08
avant
1047 Les gens l'ont consulté

GCS 上传用于 Go SDK 中的分块?

l'éditeur php Youzi vous donnera une brève introduction au sujet du téléchargement GCS pour le chunking dans Go SDK. GCS (Google Cloud Storage) est un service de stockage d'objets fourni par Google Cloud Platform, qui peut être utilisé pour stocker et accéder à de grandes quantités de données non structurées. Lorsque vous utilisez GCS pour télécharger des fichiers, si le fichier est volumineux, vous pouvez utiliser la méthode de téléchargement fragmenté, ce qui peut améliorer la vitesse et la stabilité du téléchargement. Go SDK fournit les interfaces et méthodes correspondantes pour implémenter facilement la fonction de téléchargement en plusieurs parties. De cette manière, les développeurs peuvent gérer les opérations de téléchargement de fichiers volumineux avec plus de flexibilité.

Contenu de la question

J'essaie d'utiliser gcs Writer pour télécharger des fichiers volumineux :

bucketHandle := m.Client.Bucket(bucket)
    objectHandle := bucketHandle.Object(path)
    writer := objectHandle.NewWriter(context.Background())
Copier après la connexion

Puis pour la taille n 的块,我调用 writer.write(mybuffer). Je vois des exceptions de mémoire insuffisante sur le cluster et je me demande s'il s'agit simplement de mettre en mémoire tampon l'intégralité du fichier. Quelle est la sémantique de cette opération et ai-je mal compris quelque chose ?

Solution de contournement

Oui, les données sont transmises à GCS après chaque appel d'écriture dans le code. La méthode Write renvoie le nombre d'octets écrits, les erreurs rencontrées et le nombre d'octets réellement écrits sur la connexion sous-jacente. Les données sont vidées vers GCS après l'écriture de chaque bloc, donc la quantité de mémoire consommée par le client doit être limitée à la taille du tampon. Dans votre cas, si vous divisez les données d'entrée en 5 Mo, la taille du tampon est de 5 Mo. morceaux et utilisez Write in a loop.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal