Dockerでハンドルを取得しようとしています。クエリのCSVファイルをS3にCSV(using the tinys3 package)をアップロード Docker ContainerからS3へのアップロード
- クエリデータベース
- :私は単純なPythonスクリプトを実行し、非常に基本的なコンテナのセットアップを持っています。
ホストからスクリプトを実行すると、すべてが意図どおりに動作します。クエリが実行され、csvが作成され、完全にアップロードされます。私は私のドッカーコンテナ内からそれを実行したときしかし、tinys3は、次のエラーで失敗します。その前に
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='my-s3-bucket', port=443): Max retries exceeded with url: /bucket.s3.amazonaws.com/test.csv (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f4f17cf7790>: Failed to establish a new connection: [Errno -2] Name or service not known',))
すべてが(クエリおよびCSVの作成)を動作します。 This answer suggests that there's an incorrect endpoint。しかし、それは正しくないようです。私のホストからスクリプトを実行してもエラーにはならないからです。
私の質問は次のとおりです。明白なものがありませんか?これはtinys3モジュールの問題ですか?コンテナに何かをセットして「呼び出す」必要がありますか?それとももっと良い方法がありますか?
私は...それを解決しました。バケツ/ファイル名の名前に若干の相違があります。 '/subbucket/file.csv'をファイルとしてアップロードできますが、 'file.csv'を 'bucket/subbucket'にアップロードすることはできません。 –
この問題をどうやって解決しましたか?私の要求はエラーメッセージなしでタイムアウトしています –
これは重要なエラーでした。バケツを 'bucket/stuff/test /'に設定するのではなく、 'file.py'としてバケットを設定する必要がありました。バケットを 'bucket'に、ファイル名を '/stuff/test/file.py'に設定する必要がありました'奇妙なことに、前者はローカルでは動作しましたが、私のサーバーでは動作しませんでした。あなたが似ているかどうかわからない奇妙な問題。 –