Go SDK でのチャンク化のための GCS アップロード?

王林
リリース: 2024-02-12 18:36:08
転載
1020 人が閲覧しました

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

php エディターの Youzi が、Go SDK でのチャンク化のための GCS アップロードのトピックについて簡単に紹介します。 GCS (Google Cloud Storage) は、Google Cloud Platform が提供するオブジェクト ストレージ サービスで、大量の非構造化データの保存とアクセスに使用できます。 GCS を使用してファイルをアップロードする場合、ファイルが大きい場合は、チャンク アップロード方法を使用できます。これにより、アップロード速度と安定性が向上します。 Go SDK は、マルチパート アップロード機能を簡単に実装するための対応するインターフェイスとメソッドを提供します。このようにして、開発者は大きなファイルのアップロード操作をより柔軟に処理できます。

質問内容

gcs Writer を使用して大きなファイルをアップロードしようとしています:

リーリー

次に、サイズ n のブロックに対して、writer.write(mybuffer) を呼び出します。クラスター上でいくつかのメモリ不足例外が発生しているのですが、これは実際にはファイル全体をメモリにバッファリングしているだけではないかと疑問に思っています。この操作のセマンティクスは何ですか?何か誤解していますか?

回避策

はい、コード内の Write 呼び出しのたびにデータが GCS にフラッシュされます。 Write メソッドは、書き込まれたバイト数、発生したエラー、および基礎となる接続に実際に書き込まれたバイト数を返します。データは各チャンクが書き込まれた後に GCS にフラッシュされるため、クライアントが消費するメモリの量はバッファのサイズに制限される必要があります。インスタンスでは、入力データを 5 MB にチャンクした場合、バッファのサイズは 5 MB になります。チャンクを作成し、ループ内で Write を使用します。

以上がGo SDK でのチャンク化のための GCS アップロード?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート