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 サイトの他の関連記事を参照してください。