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教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
WordPressで発生した「No space left on device」に対応
CloudWatch Logsメトリクスフィルターで「No space left …
-
-
VPC内のLambdaからVPCエンドポイント経由でSecrets Managerを使う
InternetGatewayのないVPCでMySQLに対して一日数回のレポーテ …
-
-
AWS GlueでAurora JDBC接続でS3へのジョブを実行
Aurora Serverless v1のMySQLタイプデータベースからS3へ …
-
-
AWS Organizations SCPで許可ポリシーの設定をし継承の関係を確認する
ユーザーガイドのサービスコントロールポリシーの例にはDeny(拒否)ばっかりでA …
-
-
AWS OrganizatonsのRCP(リソースコントロールポリシー)を設定しました
2024/11月に発表されましたリソースコントロールポリシーを管理している組織に …
-
-
API Gatewayで顧客レベルの使用量プランを設定する
API GatewayのAPIキーを使って使用量プランでのスロットリングも設定し …
-
-
Amazon EC2のスクリーンショットとは
ドキュメント見てたらAmazon EC2でスクリーンショットって機能があったので …
-
-
RocketChat(EC2インスタンス)でCPU80%以上を10分間継続したら再起動する
先日、数日間のやり取り用で完全に使い捨てとして使っているRocketChatで、 …
-
-
ECR(Amazon Elastic Container Registry)にコンテナイメージをアップロードする
「Pandocサーバーのコンテナイメージを作成する」で作成したイメージをAWS …
-
-
AWS LambdaでChrome HeadlessドライバをAWS Lambda Layersから使う
この記事はSelenium/Appium Advent Calendar 201 …

