[解決済み] boto3を使ってS3オブジェクトにファイルやデータを書き込む方法
2022-04-27 07:11:19
質問
boto 2では、これらのメソッドを使用してS3オブジェクトに書き込むことができます。
- キー.set_contents_from_string()
- キー.set_contents_from_file()
- キー.set_contents_from_filename()
- キー.set_contents_from_stream()
boto 3に相当するものはありますか?S3上に保存されたオブジェクトにデータを保存するboto3メソッドは?
どのように解決するのですか?
boto3では、'Key.set_contents_from_'メソッドが、以下のように置き換えられています。
例えば
import boto3
some_binary_data = b'Here we have some data'
more_binary_data = b'Here we have some more data'
# Method 1: Object.put()
s3 = boto3.resource('s3')
object = s3.Object('my_bucket_name', 'my/key/including/filename.txt')
object.put(Body=some_binary_data)
# Method 2: Client.put_object()
client = boto3.client('s3')
client.put_object(Body=more_binary_data, Bucket='my_bucket_name', Key='my/key/including/anotherfilename.txt')
また、バイナリデータは、以下のように、ファイルを読み込むことで得られます。 boto 2 と boto 3 を比較した公式ドキュメントです。 :
<ブロッククオートデータの保存
ファイル、ストリーム、文字列からデータを保存するのは簡単です。
# Boto 2.x
from boto.s3.key import Key
key = Key('hello.txt')
key.set_contents_from_file('/tmp/hello.txt')
# Boto 3
s3.Object('mybucket', 'hello.txt').put(Body=open('/tmp/hello.txt', 'rb'))
関連
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】Python: OverflowError: 数学の範囲エラー
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] Pythonで文字列を反転させる
-
[解決済み] JSONデータをファイルに書き込むにはどうしたらいいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonの非常に便利な2つのデコレーターを解説
-
Pythonコンテナのための組み込み汎用関数操作
-
Python百行で韓服サークルの画像クロールを実現する
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
[解決済み] データ型が理解できない
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】cアンダースコア式`c_`は、具体的に何をするのですか?
-
[解決済み] seek()関数?