S3 put_object should accept a block to facillitate chunked writes
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
実装ファイルやテストは指定されていません。まず既存の get_object ブロックの動作と put_object のリクエスト処理を比較し、次にリクエストボディを yield することと明示的なチャンクを書き込むことをカバーするテストを追加します。put_object がオブジェクト全体をバッファリングせずに yield されたコンテンツをアップロードできれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Describe the feature
After using get_object's chunked read, I assumed put_object similarly supported chunked writing:
client.put_object(bucket: blob.bucket, key: blob.key) do |buffer|
while chunk = blob.read(16 * 256)
buffer << chunk
end
end
For reference, get_object supports this:
client.get_object(bucket: blob.bucket, key: blob.key) do |chunk|
buffer << chunk
end
But this isn't currently supported and results in an empty object, since the block is ignored.
Use Case
I want to write an IO to S3 while maintaining a low memory footprint, while being explicit with how much I read for each chunk. I do not want to rely on S3 internals to choose how large my chunks should be.
Proposed Solution
Similarly to get_object, allow put_object to accept a block, yielding the internal request body.
Other Information
No response
Acknowledgements
- I may be able to implement this feature request
- This feature might incur a breaking change
SDK version used
1.113.0
Environment details (OS name and version, etc.)
Linux 5.15.153.1-microsoft-standard-WSL2 #1 SMP Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
- 主要言語
- Ruby
- スター
- 3.7k
- フォーク
- 1.2k
- 平均マージ
- 1日 16時間
- マージ済み PR(30日)
- 25
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
aws/aws-sdk-ruby のほかの issue
-
service-api
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
aws/aws-sdk-ruby#3395 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
BedrockAgentCore: invoke_agent_runtime buffers entire response instead of streaming in real-timeオープンdocumentation p3 queued
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
aws/aws-sdk-ruby#3348 · コメント 6 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
feature-request needs-major-version
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
aws/aws-sdk-ruby#3241 · コメント 5 件 ·
メンテナーはふだん 1 日以内に返信
-
investigating service-api
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
aws/aws-sdk-ruby#3217 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
service-api
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
aws/aws-sdk-ruby#3191 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
aws/aws-sdk-ruby の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
rmosolgo/graphql-ruby#5843 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 66/100
betagouv/conseillers-entreprises#4770 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
seek4science/seek#2762 ·
メンテナーはふだん 5 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
Freika/dawarich#3910 · リアクション 3 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
rubyevents/rubyevents#2277 ·
メンテナーはふだん 1 日以内に返信