問題タブ [boto]

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.

0 投票する
1 に答える
857 参照

python - ファイルハンドラーの代わりに文字列を使用してbotoでマルチパートアップロードを使用できますか?

ファイルの代わりに文字列でS3マルチパートアップロードを使用することは可能ですか?私が使用している文字列はアップロードプロセス中に生成されているため、マルチパートアップロードの開始時にサイズと正確なコンテンツは不明です。

0 投票する
3 に答える
8290 参照

django - djangoのs3に画像とサムネイルを保存する

django-storages、boto、および sorl-thumbnail を使用して、画像をサムネイル化し、s3 に保存しようとしています。動作していますが、小さな画像でも非常に遅いです。フォームを保存してs3に画像をアップロードするときは遅くても構わないのですが、その後は早く画像を表示してほしいです。

この SO の質問に対する回答では、サムネイルは最初のアクセスまで作成されませんが、get_thumbnail() を使用して事前に作成できることが説明されています。

Django + S3 (boto) + Sorl Thumbnail: 最適化の提案

私はそれをやっていますが、画像が表示されるときではなく、画像をアップロードするときに、thumbnail_kvstore テーブルへのすべてのエントリが作成されるようです。

問題は、画像を表示するページがまだ非常に遅いことです。デバッグ ツールバーのログ パネルを見ると、s3 との通信がまだたくさんあるようです。画像とサムネイルがアップロードされてキャッシュされた後、s3 と通信せずにページがすばやくレンダリングされるようです。

私は何を間違っていますか?ありがとう!

更新:弱いハックでうまくいったようですが、これを適切に行う方法を知りたいです:

https://github.com/asciitaxi/sorl-thumbnail/commit/545cce3f5e719a91dd9cc21d78bb973b2211bbbf

更新: @sorl の詳細情報

私は2つのビューで作業しています:

ADD VIEW: このビューでは、フォームを送信して、画像を含むモデルを作成します。画像はs3にアップロードされます。post_save シグナルでは、get_thumbnail() を呼び出して、必要になる前にサムネイルを生成します。

表示ビュー: このビューでは、追加ビューで生成されたサムネイルを表示します。

パッチなし:

ビューの追加: kvstore テーブルに 3 つのエントリを作成し、キャッシュに 10 回アクセス (6 セット、4 取得)、デバッグ ツールバーのログ タブに「HTTP 接続を確立しています」と 12 回表示

表示ビュー: kvstore テーブルにはまだ 3 つのエントリしかなく、キャッシュから取得したのは 1 つだけですが、デバッグ ツールバーには「HTTP 接続を確立しています」と 3 回表示されます。

122行目の変更のみ:

ADD VIEW: 上記と同じですが、ログに「HTTP 接続の確立」のみが 2 回表示されます DISPLAY VIEW: 上記と同じですが、ログに「HTTP 接続の確立」と 1 回のみ表示されます

また、118 行目に変更を追加します。

ADD VIEW: 上記と同じですが、「HTTP 接続を確立しています」というメッセージが 2 つになりました DISPLAY VIEW: 上記と同じで、ログ メッセージはまったくありません

更新: storage._setup() が 2 回呼び出され、storage.url() が 1 回呼び出されたようです。タイミングに基づいて、それぞれが s3 に接続していると思います。

これは、「HTTP 接続を確立しています」と 3 回表示される boto ロギングに反映されているようです。

0 投票する
1 に答える
235 参照

amazon - botoを介してAmazonElasticMapReduceジョブフローで完了したステップ数を取得します

ジョブを送信するたびにインスタンスを設定するオーバーヘッドを回避するために、各ジョブの完了後は常に待機モードになっているジョブフローを使用します。ただし、このページによると、「各ジョブフローで最大256ステップが許可されます」。

boto APIを介してジョブフローで完了したステップの数を取得する方法はありますか?boto.emr.emrobject.JobFlowクラスを使用する方法を見つけることができませんでした。

0 投票する
1 に答える
3735 参照

amazon-ec2 - botoElasticMapReduceスロットリングとレート制限

次のように、botoAPIを介してAmazonEMRからレート制限に数回遭遇しました。

操作は、ジョブフローの状態を要求する1回限りの操作であるため、レート制限は必要ありません。他の誰かがこの問題に遭遇しましたか?また、EC2とEMRのスロットリング/レート制限に関するドキュメントはあまりないようです...

0 投票する
5 に答える
9230 参照

python - Paramikoを使用して新しいEC2インスタンスにSSHで接続しようとする際の問題

私は、botoを使用して新しいEC2インスタンスを起動し、ParamikoSSHクライアントを使用してインスタンスでリモートコマンドを実行するスクリプトに取り組んでいます。何らかの理由で、Paramikoクライアントが接続できず、エラーが発生します。

同じキーファイルとユーザーを使用して、手動でsshを実行できます。Paramikoを使用して問題が発生した人はいますか?私の完全なコードは以下の通りです。ありがとう。

0 投票する
1 に答える
2462 参照

python - AmazonEMR上でHiveを実行するためのPythonクライアントのサポート

mrjobもbotoも、Amazon Elastic MapReduce(EMR)でHiveジョブを送信して実行するためのPythonインターフェースをサポートしていないことに気づきました。EMRでのHiveの実行をサポートする他のPythonクライアントライブラリはありますか?

0 投票する
1 に答える
728 参照

python - 最新のS3キーを最初に取得する

私はS3バケットに(潜在的に数百万の)オブジェクトを保存するアプリを書いています。私のアプリは、最新のオブジェクトを(大まかに)取得して処理し、同じバケットに書き戻します。アプリが最新のオブジェクトに簡単にアクセスできるように、キーにアクセスして新しいオブジェクトに名前を付ける方法が必要です。

SimpleDBにメタデータを配置することでこれを適切に実行できることはわかっていますが、厳密な整合性は必要ありません。アプリが最新ではないオブジェクトを取得しても問題ありません。古いキーではなく新しいキーを取得する傾向があるアプリが必要です。そのため、S3のみを使用してシンプルにしようとしています。

S3メタデータにアクセスして並べ替える方法はありますか?または、必要なものを取得するオブジェクトに名前を付けるためのスキームがあるかもしれません(S3は辞書式順序でキーをリストし、botoはページングを処理できることを知っているため)。

0 投票する
1 に答える
5495 参照

python - botoとpythonを使用してバケットからs3バージョンを削除する方法

次の行を使用してバケットを削除しようとすると、次のようになります。

削除しようとしたバケットが空ではないことがわかります。

バケットにはキーがありません。ただし、バージョンはあります。

バージョンを削除するにはどうすればよいですか?

bucket.list_versions()を使用してバージョンのリストを表示できます

Javaのs3接続にはdeleteVersionメソッドがあります。私はここでそのコードを見つけました:

http://bytecoded.blogspot.com/2011/01/recursive-delete-utility-for-version.html

彼はバージョンを削除するために次の行を実行します。

ボトに匹敵するものはありますか?

0 投票する
2 に答える
356 参照

python - read spead simpledbbotoを改善する

simpledbドメインを読み取り、それらをs3に書き込むスクリプトがあります。パフォーマンスはせいぜい平凡です。読み取り速度を上げる方法はありますか?

プロファイルは次のとおりです。

0 投票する
1 に答える
6242 参照

python - BOTO python を使用して AWS でインスタンスのパブリック DNS を取得するにはどうすればよいですか

ヨーロッパなどの特定の地域の elb の詳細を取得すると、ELB に関連するインスタンスを取得できます。問題は、これらのインスタンスのパブリック DNS を取得できないことです。私がすることは

これらのインスタンスの public_dns_name を取得する方法

私が試したとき

AttributeError: 'InstanceInfo' オブジェクトに属性 'public_dns_name' がありません