問題タブ [boto3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python boto3 s3 ライブラリは、公式ドキュメントにさまざまな辞書を返します
boto3 の公式ドキュメント ( https://boto3.readthedocs.org/en/latest/reference/services/s3.html#S3.Bucket.create ) と実際に返されるものとの間にイライラする不一致があることがわかりました。 .
念のため、boto3 1.2.1 と botocore 1.3.2 を使用しています (どちらも pip でインストールされています)。
boto3.Session
メソッドを使用してバケットを作成することについて具体的に話しています。
s3.Bucket('testbucket').create()
ドキュメントで、コマンドは次のような辞書を返すと言われています
代わりに、次のような辞書を取得します。
delete()
メソッドを呼び出して S3 オブジェクトも削除しようとすると、同様の結果が得られます。
私が得る場所:
( https://boto3.readthedocs.org/en/latest/reference/services/s3.html#S3.Object.delete )の代わりに:
boto3 は botocore ライブラリの関与するラッパーであり、返さRequestID
れる辞書のキーは最終的にbotocore/parsers.py
. create
実際には追加情報があるため、戻り値は理解していますが、理解できないのは、put_object()
メソッドの戻り値にドキュメントに類似したものが含まれていないことです
私が解決しようとしているのは、公式ドキュメントが私に嘘をついているかどうかです。
proxy - boto3 で HTTP/HTTPS プロキシをどのように使用しますか?
古いライブラリでは、接続を開くときに、、およびパラメータboto
を使用するのに十分単純でした。ただし、boto3 でプロキシ パラメータをプログラムで定義する同等の方法を見つけることができませんでした。:(proxy
proxy_port
proxy_user
proxy_pass
python - boto3 を使用して、名前にピリオド (.) を含むバケットからキーにアクセスする方法は?
環境
セキュリティ レポート用にすべてのバケットの暗号化ステータスを取得しようとしています。ただし、暗号化はキー レベル ベースであるため、すべてのキーを反復処理して、一般的な暗号化ステータスを取得したいと考えています。たとえば、「はい」はすべてのキーが暗号化されている場合、「いいえ」は暗号化されていない場合、「部分的に」は一部が暗号化されている場合です。
boto には、各キーの暗号化ステータスが常に None を返すという既知の問題があるため、boto3 を使用する必要があります。こちらをご覧ください。
問題
boto3 を使用して、各バケット内のすべてのキーを反復処理しようとしています。次のコードは、「my.test.bucket」などのピリオドを含む名前のバケットに到達するまで正常に機能します。
名前にピリオドが含まれるバケットにヒットすると、bucket.objects.all()
が呼び出されたときにこの例外がスローされ、すべてのリクエストを特定のエンドポイントに送信するように指示されます。このエンドポイントは、スローされる例外オブジェクトで見つけることができます。
私が試したこと
- endpoint_url パラメーターを、例外応答で指定されたバケット エンドポイントに設定します。
s3_resource = session.resource('s3', endpoint_url='my.test.bucket.s3.amazonaws.com')
- バケットが配置されているリージョンを指定する
s3_resource = session.resource('s3', region_name='eu-west-1')
この問題は、s3Connection コンストラクターで calling_format パラメーターを設定することで問題を解決する boto のこのスタックオーバーフローの質問に似ていると思います。残念ながら、boto は使えません (上記参照)。
アップデート
これが私のために働いたものです。これは最もエレガントなアプローチではありませんが、機能します =)。
python - アマゾン ウェブ サービスで boto3 から URL を生成する方法
s3 にバケットがあり、そこにある画像の URL を取得しようとしています。
boto3 を使用していますが、boto3 には URL 生成メソッドが実装されていないようです。
このような URL を生成するコア メソッドがあります。
私がしなければならないことの 1 つは、セッション オブジェクトを使用して、各要求と共にパラメーターを送信する必要があることです。上記の方法では、セッション変数 (つまり、.. aws 資格情報) を設定できません。
私が得ることができる最も近いのはこれです
これにより、オブジェクトと呼ばれるAmazon s3オブジェクトが取得されます
この方法で画像の URL を取得できますか?
amazon-web-services - aws Lambda を介して boto3 を使用してアクセスが拒否されました
で構築されたデータ処理パイプラインを使用します
S3 + SNS + ラムダ
S3 はストレージ リージョンから通知を送信できないため、SNS を使用して、S3 通知を他のリージョンの Lambda に送信しました。
でコーディングされたラムダ関数
保存してテストを実行すると、次のエラーが発生しました
ラムダロールを構成しました
ターゲットバケットにバケットポリシーを設定します
方針をうまく立てていないようです。
amazon-web-services - boto3 とインラインで承認メカニズムを構成する方法
aws ラムダで boto3 を使用して、フランクフルト地域にある S3 のオブジェクトをフェクトしています。
v4 が必要です。そうしないと、次のエラーが返されます
signature_version を構成する実現方法http://boto3.readthedocs.org/en/latest/guide/configuration.html
しかし、私は AWS ラムダを使用しているため、基になる構成プロファイルにアクセスできません。
私のAWSラムダ関数のコード
このコード内で signature_version を構成することは可能ですか? たとえば、セッションを使用します。または、これに関する回避策はありますか?
python - 非常に大きなファイルの解凍に問題があります
圧縮された多くのファイルが与えられましたが、解凍されたファイルは 30 GB 以上で、Windows で圧縮されています。これらを解凍するために EC2 インスタンスを使用してシステムを作成しようとしていますが、メモリを使い果たし続けています (エラーIOError: [Errno 28] No space left on device
)。私の解凍スクリプトは次のとおりです。
ファイルを解凍するより良い方法はありますか? ストリーミングしてみましたが、おそらく最初の圧縮方法が原因でうまくいきませんでした。
python - Boto 3 で役割とポリシーを作成するにはどうすればよいですか?
Boto 3 でロールとポリシーを作成するにはどうすればよいですか? docsを読みましたが、これを行う方法がまだわかりません。