boto3(Python SDK) s3 get_object でバイト範囲を指定する
2021/01/08
S3のGetObjectアクションでバイト範囲を指定することができます。
それによって、サイズの大きいオブジェクトの処理が途中で中断しても、続きからリトライしやすくしたり、マルチスレッドでダウンロードすることでパフォーマンス効率化を図ったりできます。
という解説をよく見ますが、実際にPythonでどうやって実行するのかを試してみました。
111111111122222222223333333333444444444455555555556666666666
と書いたテキストファイルを用意してバケットにアップロードしました。
それぞれの数字が10文字づつあります。
|
1 2 3 4 5 6 7 8 9 10 11 12 |
import json import boto3 def lambda_handler(event, context): s3 = boto3.client('s3') response = s3.get_object( Bucket='bucketname', Key = 'test.txt', Range='bytes=0-9' ) return json.load(response['Body']) |
Range=’bytes=10-19’とすると、
2222222222となりました。
指定したとおりになりました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
Feedlyのリフレッシュトークンを使ってアクセストークンを取得する
FeedlyというRSSリーダーから連携している構成があります。 Feedlyの …
-
-
WordPress(EC2)の画像のS3へのオフロードをMedia Cloudで
タイトル通りですが、画像をwebサーバー(EC2)からではなく、S3バケットから …
-
-
AWS Systems Managerパラメータストアで「Parameter name must be a fully qualified name.」
パラメータストアでパラメータ階層を作成しようとして、パラメータ名に例えば「wor …
-
-
Amazon Bedrock Conversational Builderを使用してAIエージェントを作成してみました
2024年10月16日に「Amazon Bedrock のエージェントが Con …
-
-
ブログ画像のシンガポールリージョンへのレプリケーションはじめました
このブログの画像はS3バケットに保存して、CloudFront経由で配信していま …
-
-
CloudFrontディストリビューションを別アカウントへ移動する
すでにCNAMEを設定しているCloudFrontディストリビューションを、別ア …
-
-
BearからNotionへの引っ越し(Amazon Q Developer for CLIに丸投げ)
MacとiPhoneでのテキスト管理と共有で長年Bearを使っていましたが、Wi …
-
-
共有AMIのコピー時にエラー「You do not have permission to access the storage of this ami」
他アカウントから共有されたAMIをコピーする際に、「You do not hav …
-
-
AWS CLIを使用したIAMロールの引き受けコマンドのメモ
よく忘れて調べるのでメモです。 公式のこちらAWS CLI を使用して IAM …
-
-
S3署名付きURL(GetObject)生成後にオブジェクトを上書きアップロードしたら
ダウンロードリクエストを実行したタイミングのオブジェクトがダウンロードされるので …

