ホームページ > バックエンド開発 > Golang > aws.WriteAtBuffer を使用して効率的な S3 ダウンロードのために io.WriterAt を実装するにはどうすればよいですか?

aws.WriteAtBuffer を使用して効率的な S3 ダウンロードのために io.WriterAt を実装するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-12-13 04:48:17
オリジナル
209 人が閲覧しました

How to Implement io.WriterAt for Efficient S3 Downloads using aws.WriteAtBuffer?

aws.WriteAtBuffer を使用して S3 ダウンロード用の io.WriterAt を実装する

AWS SDK を使用して S3 バケットからファイルをダウンロードする場合、次のことが可能です。 io.WriterAt インターフェイスを実装するオブジェクトの要件が発生します。一般的に使用されるメモリ内バッファである Bytes.Buffer には、この実装がありません。これに対処するには、AWS SDK によって提供される aws.WriteAtBuffer を利用できます。

S3 のダウンロードに aws.WriteAtBuffer を使用するには、次の手順に従います。

  • インスタンス化ダウンロードしたファイルを保持する aws.WriteAtBufferデータ:

    buf := aws.NewWriteAtBuffer([]byte{})
    ログイン後にコピー
  • S3 ダウンロード リクエストを設定します:

    requestInput := s3.GetObjectInput{
      Bucket: aws.String(bucket),
      Key:    aws.String(key),
    }
    ログイン後にコピー
  • S3 ダウンローダーを使用してダウンロード操作を実行します:

    downloader.Download(buf, &requestInput)
    ログイン後にコピー
  • を取得しますバッファからダウンロードされたデータ:

    fmt.Printf("Downloaded %v bytes", len(buf.Bytes()))
    ログイン後にコピー

このアプローチを使用すると、一時ファイルを作成せずに S3 オブジェクトをメモリに直接ダウンロードできます。

以上がaws.WriteAtBuffer を使用して効率的な S3 ダウンロードのために io.WriterAt を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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