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などからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
VyOSでssm-userからvyosユーザーに切り替える
EC2 VyOSで/etc/resolv.confを設定しました VyOSにSS …
-
-
Amazon VPCにオンプレミス検証環境想定プライベートDNSサーバー(BIND)をEC2で起動する
オンプレミス想定の検証で使うために、Amazon VPCにプライベート向けDNS …
-
-
EC2インスタンスが到達不能になって復旧してMackerelで監視し始めた
きっとばりばり使っておられる方ならよくある事なんだろうけど、はじめて体験したので …
-
-
EC2とRDSのMySQLを他のAWSアカウントへ移設する
他のAWSアカウントへシステムごと移設した場合の手順です。 構成はEC2とRDS …
-
-
S3リクエストメトリクスをプレフィックスを指定して有効化
検証でどのリクエストがどれぐらい発生しているのか、さっと知りたくなったので、特定 …
-
-
AWS Lambda(Python)からAmazon Connectで電話を発信する
自動で電話を発信する必要がありまして、電話発信APIを開発することになりましたの …
-
-
Amazon Linux 2023からAWS CLIをアンインストールする
AWS CLIのない検証用EC2 Linuxが欲しかったのでアンインストールしま …
-
-
RDSリザーブドDBインスタンスを購入しました
リザーブドインスタンス推奨事項を確認したで確認した結果、購入したほうがよさそうで …
-
-
S3バケットのリクエスタ支払い
S3バケットのリクエスタ支払いを試しました。 バケットの設定 検証用のS3バケッ …
-
-
Amazon LinuxにRedmine 環境構築(エラーと対応をそのまま記載版)
Amazon Linuxにgit + Redmineの環境を構築してみます。 自 …

