Aws-cli: Mengunggah file ke S3 dari instans EC2 gagal pada beberapa jenis instans

Dibuat pada 6 Feb 2014  ·  41Komentar  ·  Sumber: aws/aws-cli

Kami memiliki masalah yang sangat aneh. Kami mengunggah file besar (10 juta) dari instans EC2 ke bucket S3 di wilayah yang sama. Kami menggunakan aws s3 cp untuk unggahan dan peran contoh untuk otentikasi.

Jika kami menggunakan instance m1.small EC2, unggahan berfungsi dengan baik. Tetapi jika kami meningkatkan ukuran instance (kami telah mencoba m1.large dan m3.large ) unggahan gagal.

Inilah kesalahan yang kami dapatkan:

upload failed: <file> to <s3-address>
HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: <s2-key>?partNumber=2&uploadId=Hw6FZhXeH03ZzzCtxu2XcsspmpN2lx83GxWGzrJ96I81XlajjjNCxsSj0vs0BIbf_xJmzfdZwZY_UzUL3NCT57rpqEwIuLD1qryr7KKjlR6rA0YIW_ltopZQkoo32i0qTPUAlBc55WRAYxjwJ8Iw1A-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)

Ini benar-benar dapat direproduksi - kami belum pernah mendapatkan unggahan seperti itu yang berhasil setelah puluhan kali percobaan. Kami belum pernah melihat masalah pada instance m1.small dalam ratusan percobaan.

Kami mengalami masalah ini dengan 10 juta file. Kami telah menemukan bahwa itu dapat direproduksi hingga sekitar 1M. Jauh lebih sedikit dari ini dan berfungsi dengan baik setiap saat.

Ide apa pun tentang apa yang sedang terjadi akan sangat dihargai.

bug

Komentar yang paling membantu

@uldall Jika Anda belum menyelesaikan ini, bagi saya ini telah diperbaiki dengan menginstal versi terbaru dari aws-cli - versi terbaru di apt-get sudah usang dan Anda harus menginstal menggunakan pip. Berikut instruksinya:
https://www.slashroot.in/how-to-install-and-configure-aws-cli-on-ubuntu-16-04

Semua 41 komentar

Versi CLI apa yang Anda gunakan? Ini terlihat seperti https://github.com/aws/aws-cli/pull/594 , yang diperbaiki pada 1.2.11

Sebenarnya, masalah itu untuk unduhan, yang ini untuk unggahan jadi sepertinya masalah yang berbeda. Saya perlu melihat ini lebih jauh. Jika Anda dapat memberikan log --debug ini, itu akan membantu dalam pemecahan masalah.

Juga kira-kira berapa banyak 10 juta file yang Anda unggah sekaligus?

Saya juga mengalami masalah saat mengupload ke s3, tetapi dari laptop saya (OSX mavericks). File 424 KB gagal,
dan file 344KB bekerja. Saya mengupload file satu per satu, dengan versi berikut:

awscli==1.2.13
boto==2.24.0
botocore==0.33.0

Kesalahannya sama dengan postingan asli:

upload failed: ./test to s3://<bucket>/deploys/test HTTPSConnectionPool(host='bnch.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)

Saya menjalankannya dengan --debug, dan inilah bagian yang terus mencoba kembali:

2014-02-06 21:20:17,138 - botocore.retryhandler - DEBUG - Retry needed, action of: 3.28890874908
2014-02-06 21:20:17,138 - botocore.endpoint - DEBUG - Response received to retry, sleeping for 3.28890874908 seconds
2014-02-06 21:20:20,428 - botocore.awsrequest - DEBUG - Rewinding stream: <open file u'<redacted>/test', mode 'rb' at 0x101dc6c90>
2014-02-06 21:20:20,428 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]>
2014-02-06 21:20:20,429 - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTPS connection (4): <bucket>.s3.amazonaws.com
2014-02-06 21:20:21,693 - botocore.hooks - DEBUG - Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x101e0d550>
2014-02-06 21:20:21,693 - botocore.retryhandler - DEBUG - retry needed, retryable exception caught: HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)
Traceback (most recent call last):
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 262, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 310, in __call__
    caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 219, in __call__
    return self._check_caught_exception(attempt_number, caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 352, in _check_caught_exception
    raise caught_exception
ConnectionError: HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)
2014-02-06 21:20:21,693 - botocore.retryhandler - DEBUG - Retry needed, action of: 2.598356941
2014-02-06 21:20:21,693 - botocore.endpoint - DEBUG - Response received to retry, sleeping for 2.598356941 seconds
2014-02-06 21:20:24,293 - botocore.awsrequest - DEBUG - Rewinding stream: <open file u'<redacted>/test', mode 'rb' at 0x101dc6c90>
2014-02-06 21:20:24,293 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]>
2014-02-06 21:20:24,294 - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTPS connection (5): <bucket>.s3.amazonaws.com
2014-02-06 21:20:25,888 - botocore.hooks - DEBUG - Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x101e0d550>
2014-02-06 21:20:25,888 - awscli.customizations.s3.tasks - DEBUG - <redacted>/test upload failure: HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)
2014-02-06 21:20:25,888 - botocore.operation - DEBUG - Operation:PutObject called with kwargs: {'body': <open file u'<redacted>/test', mode 'rb' at 0x101e61d20>, 'bucket': u'<bucket>', 'key': u'deploys/test'}
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Making request for Operation:PutObject (verify_ssl=True) with params: {'headers': {}, 'uri_params': {u'Bucket': u'<bucket>', u'Key': u'deploys/test'}, 'payload': <botocore.payload.Payload object at 0x101fc3ed0>}
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Building URI for rest endpoint.
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Templated URI path: /{Bucket}/{Key}
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Templated URI query_params:
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Rendered path: /<bucket>/deploys/test
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Rendered query_params:
2014-02-06 21:20:25,890 - botocore.hooks - DEBUG - Event before-auth.s3: calling handler <function fix_s3_host at 0x101b24410>
2014-02-06 21:20:25,890 - botocore.handlers - DEBUG - Checking for DNS compatible bucket for: https://s3-us-west-2.amazonaws.com/<bucket>/deploys/test
2014-02-06 21:20:25,890 - botocore.handlers - DEBUG - URI updated to: https://<bucket>.s3.amazonaws.com/deploys/test
2014-02-06 21:20:25,890 - botocore.auth - DEBUG - Calculating signature using hmacv1 auth.
2014-02-06 21:20:25,890 - botocore.auth - DEBUG - HTTP request method: PUT
2014-02-06 21:20:25,890 - botocore.auth - DEBUG - StringToSign:
PUT


Fri, 07 Feb 2014 05:20:25 GMT
/<bucket>/deploys/test
2014-02-06 21:20:25,891 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]>
2014-02-06 21:20:25,891 - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTPS connection (6): <bucket>.s3.amazonaws.com
2014-02-06 21:20:27,373 - botocore.hooks - DEBUG - Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x101e0d550>
2014-02-06 21:20:27,374 - botocore.retryhandler - DEBUG - retry needed, retryable exception caught: HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)
Traceback (most recent call last):
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 262, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 310, in __call__
    caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 219, in __call__
    return self._check_caught_exception(attempt_number, caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 352, in _check_caught_exception
    raise caught_exception
ConnectionError: HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)
2014-02-06 21:20:27,374 - botocore.retryhandler - DEBUG - Retry needed, action of: 0.627294998584
2014-02-06 21:20:27,374 - botocore.endpoint - DEBUG - Response received to retry, sleeping for 0.627294998584 seconds

Kami menggunakan versi 1.2.13. Kami memiliki sekitar 200 file untuk diunggah, tetapi kami melakukannya secara seri. Masalah selalu terjadi pada yang pertama.

Berikut adalah log debug kegagalan yang Anda minta: https://gist.github.com/benbc/8861033.

Apakah ada pembaruan tentang masalah ini. Saya melihat masalah yang sama persis saat mencoba mengupload ke keranjang yang baru dibuat.

Ya, saya yakin ini harus diperbaiki sekarang di versi 1.3.0. Akar masalah yang saya yakini sama dengan https://github.com/aws/aws-cli/issues/544.

Bisakah Anda mencoba dengan versi CLI terbaru. Jika Anda masih mengalami masalah, lampirkan log --debug dan saya akan membuka kembali masalah tersebut.

Saya masih mengalami masalah ini, unggah ke s3, baik dari laptop saya, maupun dari server debian. File ini sekitar 100MB. Saya mengupload file satu per satu, dengan versi berikut:

   aws-cli/1.3.1 Python/2.7.3 Linux/3.2.0-4-amd64
   aws-cli/1.3.1 Python/2.7.5 Darwin/13.0.0

Inilah masalah yang saya dapatkan:

Max retries exceeded with url: <myfile>?partNumber=13&uploadId=bR1a29GdR1Qb0CW4fSDv9Vvi4PKJLF3eizWErF1SGvuMxUAh4vmHLmVQ7XjVSsFGmQi0N1U8KX5dR1uukEAMaAS8JxoQA89nJN2FFmQu2MRzIlrIzeMr4re5Zwvn3Hvv.n9IKm.OXOqy4NN87yohIA-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)

Berikut log debugnya:

Wed, 19 Mar 2014 03:28:03 GMT
/<mybucket>/<myfile>?partNumber=9&uploadId=psq_ysXJSW9eplwLTW97ueGw1BMzG2qEXVoP9XiQsm06RP0_N_J_qPS1vZf4OOj0W33Bwdey2w4KNsbEltH_GIWO3jOQbcP64MEfTMd.OSUVsmZKsMIWCxZoqdbmspb1bD0YzAbG92F9R8pQQrXdkA--
2014-03-19 11:28:03,343 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]>
partNumber=8&uploadId=psq_ysXJSW9eplwLTW97ueGw1BMzG2qEXVoP9XiQsm06RP0_N_J_qPS1vZf4OOj0W33Bwdey2w4KNsbEltH_GIWO3jOQbcP64MEfTMd.OSUVsmZKsMIWCxZoqdbmspb1bD0YzAbG92F9R8pQQrXdkA-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 262, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 310, in __call__
    caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 219, in __call__
    return self._check_caught_exception(attempt_number, caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 352, in _check_caught_exception
    raise caught_exception
ConnectionError: HTTPSConnectionPool(host='<mybucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /<myfile>?partNumber=8&uploadId=psq_ysXJSW9eplwLTW97ueGw1BMzG2qEXVoP9XiQsm06RP0_N_J_qPS1vZf4OOj0W33Bwdey2w4KNsbEltH_GIWO3jOQbcP64MEfTMd.OSUVsmZKsMIWCxZoqdbmspb1bD0YzAbG92F9R8pQQrXdkA-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
2014-03-19 11:28:05,374 - botocore.retryhandler - DEBUG - Retry needed, action of: 0.41042383996
2014-03-19 11:28:05,374 - botocore.endpoint - DEBUG - Response received to retry, sleeping for 0.41042383996 seconds
2014-03-19 11:28:05,579 - botocore.hooks - DEBUG - Event needs-retry.s3.UploadPart: calling handler <botocore.retryhandler.RetryHandler object at 0x308bfd0>
2014-03-19 11:28:05,580 - botocore.retryhandler - DEBUG - retry needed, retryable exception caught: HTTPSConnectionPool(host=<mybucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /<myfile>?partNumber=1&uploadId=psq_ysXJSW9eplwLTW97ueGw1BMzG2qEXVoP9XiQsm06RP0_N_J_qPS1vZf4OOj0W33Bwdey2w4KNsbEltH_GIWO3jOQbcP64MEfTMd.OSUVsmZKsMIWCxZoqdbmspb1bD0YzAbG92F9R8pQQrXdkA-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 262, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 310, in __call__
    caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 219, in __call__
    return self._check_caught_exception(attempt_number, caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 352, in _check_caught_exception
    raise caught_exception
ConnectionError: HTTPSConnectionPool(host='<mybucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /<myfile>?partNumber=1&uploadId=psq_ysXJSW9eplwLTW97ueGw1BMzG2qEXVoP9XiQsm06RP0_N_J_qPS1vZf4OOj0W33Bwdey2w4KNsbEltH_GIWO3jOQbcP64MEfTMd.OSUVsmZKsMIWCxZoqdbmspb1bD0YzAbG92F9R8pQQrXdkA-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)

Masih melihat masalah ini menggunakan aws cp dan aws sync di keranjang baru. File yang lebih kecil tidak mengalami masalah, file yang lebih besar pasti gagal seperti yang dijelaskan di sini dan # 544

aws --version
aws-cli/1.3.3 Python/2.7.5+ Linux/3.8.0-35-generic
>>> print botocore.__version__
>>> 0.37.0
upload failed: ./file.tar.gz to s3://mybucket/file.tar.gz
HTTPSConnectionPool(host='mybucket.s3.amazonaws.com', port=443): Max retries exceeded with url: /file.tar.gz?partNumber=... (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
curl https://mybucket.s3.amazonaws.com
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>TemporaryRedirect</Code><Message>Please re-send this request to the specified temporary endpoint. Continue to use the original request endpoint for future requests.</Message><RequestId>...</RequestId><Bucket>mybucket</Bucket><HostId>...</HostId><Endpoint>mybucket.s3-us-west-1.amazonaws.com</Endpoint></Error>

Seperti yang dilaporkan orang lain, ini sekarang berfungsi dengan baik setelah kode TemporaryRedirect dihapus -

$ curl https://mybucket.s3.amazonaws.com
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>...</RequestId><HostId>...</HostId></Error>%

Saya masih mengalami masalah ini dengan versi 1.3.4 di keranjang Irlandia baru.

ubuntu@ip-172-31-40-164:~$ aws --version
aws-cli/1.3.4 Python/2.7.5+ Linux/3.11.0-15-generic

Log debug: https://gist.github.com/anonymous/9814978

Bug yang sama untuk saya saat menggunakan 'aws s3 sync'
$ aws --version
aws-cli / 1.3.4 Python / 2.7.3 Linux / 3.2.0-57-virtual

Keranjang saya ada di Irlandia.

log debug: https://paste.buntux.org/?c511ef0a27305636#e1/B5RiyBuZq60LHmLNpZt59wz2zDyY2KVdjCM + mO7E =

edit: Saya menguji pada ember di wilayah "Standar AS" -> tidak ada masalah
edit2: url baru untuk log debug https://paste.jeekajoo.eu/?c511ef0a27305636#e1/B5RiyBuZq60LHmLNpZt59wz2zDyY2KVdjCM + mO7E =

Saya membuka kembali masalah ini. Setelah debugging ini saya dapat mengkonfirmasi apa yang orang lain katakan. Masalah ini muncul saat mencoba mengupload file besar ke bucket yang baru dibuat yang tidak termasuk dalam region klasik.

Dari apa yang saya ketahui CLI benar-benar mencoba ulang permintaan dan mengikuti 307 pengalihan. Masalahnya, bagaimanapun, adalah CLI mengirim permintaan _entire_ dan kemudian menunggu respon. Namun, S3 akan segera mengirimkan respons 307 sebelum kami selesai mengirim isi. Akhirnya itu hanya akan menutup koneksi, dan jika kita masih dalam proses streaming body, kita tidak akan melihat responnya. Sebagai gantinya kita mendapatkan ConnectionError seperti yang ditunjukkan dalam berbagai log debug di atas.

Cara normal untuk mengatasinya adalah dengan menggunakan header 100 lanjutkan. Namun, klien HTTP yang kami gunakan (permintaan) tidak mendukung ini. Mungkin ada cara untuk mengatasinya, tetapi saya perlu melakukan penggalian ke dalam pustaka permintaan untuk melihat cara terbaik untuk memperbaiki masalah ini.

Saya akan memperbarui masalah ini ketika saya tahu lebih banyak.

Ada berita?

pengujian saya menunjukkan bahwa meskipun pustaka boto gagal, AWS CLI berfungsi dengan baik. apa yang dilakukan AWS CLI secara berbeda?

Saya tidak berpikir bahwa ada cara untuk mengatasinya di pustaka permintaan. Saya pikir opsi terbaik kami (selain menulis klien HTTP kami sendiri yang mendukung ekspektasi 100 terus) adalah beberapa solusi khusus dalam kode S3.

Saya baru saja memukul ini juga. File saya tidak besar, hanya beberapa megabyte.

Mendapatkan ini dengan file CSS 323KB.

Bekerja pada perbaikan untuk ini, akan diperbarui ketika saya memiliki info lebih lanjut.

Mendapatkan masalah yang sama saat mengunggah file besar (3GB) ke S3. Mengupload file kecil tidak apa-apa.

upload failed: ../../tmp/anonymousAction.log.2014-05-12.tokyo1b-http-4-1.20140513T003001 to s3://between-data-analysis-temp/anonymousAction.log.2014-05-12.tokyo1b-http-4-1.20140513T003001
HTTPSConnectionPool(host='between-data-analysis-temp.s3.amazonaws.com', port=443): Max retries exceeded with url: /anonymousAction.log.2014-05-12.tokyo1b-http-4-1.20140513T003001?partNumber=6&uploadId=Wdj8309FlXToB8mXw6JHnz8Xf8f4ADIC2SiaM3a6foSDJXH9t7xLk2uFK_EgTtjMn.OyCWdTJjP9al3rgISEltpMwj9j77Irfjc5wqssG2zgnUKhXM2gEUU5QfAuH0kuJNg8deDipYvwBkE0r7k3Qw-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
... 

Versi aws saya;
aws-cli / 1.3.13 Python / 2.7.3 Linux / 3.2.0-61-virtual

Saya mendapatkan masalah serupa sesekali (sekitar 1 file dalam setiap 20, file berukuran sekitar 500MB) menggunakan pustaka permintaan secara langsung saat kami mengerjakan API penyimpanan khusus kami. Ini diunggah dari instans EC2.

  File "/data/opi/upload.py", line 174, in upload
    response = requests.put(url, data=data, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests-2.1.0-py2.7.egg/requests /api.py", line 99, in put
    return request('put', url, data=data, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests-2.1.0-py2.7.egg/requests /api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests-2.1.0-py2.7.egg/requests /sessions.py", line 382, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests-2.1.0-py2.7.egg/requests /sessions.py", line 485, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests-2.1.0-py2.7.egg/requests /adapters.py", line 372, in send
    raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='our-bucket.s3.amazonaws.com', port=443): Max retries exceeded with url: /folder/subfolder/filename?Signature=XXX&Expires=1401262800&AWSAccessKeyId=YYY -amz-acl=private (Caused by <class 'socket.error'>: [Errno 104] Connection reset  by peer)

Hanya pembaruan, masih mengerjakan ini. Pendekatan yang paling layak sejauh ini adalah dengan subclass HTTPConnection dan mencoba mengimplementasikan logika 100-lanjutkan yang diharapkan di subclass kami. Kami kemudian akan memasukkan ini ke dalam connectionpools urllib3, yang akan diambil oleh permintaan (yang merupakan perpustakaan http yang kami gunakan).

Jadi saya yakin saya memiliki potensi perbaikan, tetapi perlu lebih banyak pengujian. Akan diperbarui ketika saya memiliki info lebih lanjut.

@jamesls segera setelah Anda memiliki cabang publik untuk diuji, saya akan menggunakannya :)

Halo,

karena tidak secara eksplisit disebutkan di utas, Anda masih dapat menggunakan perintah "aws" untuk mengunggah file ke wilayah lain dengan menentukan parameter --region.

  • Yang ini GAGAL
    aws s3 cp ./really_big_file s3: // MY-BUCKET /
  • Yang ini BEKERJA
    aws --region eu-west-1 s3 cp ./really_big_file s3: // MY-BUCKET /

@ inedit00 Terima kasih! Saya tidak tahu bahwa ini terkait dengan masalah.

Perbaikan untuk ini ada di sini: https://github.com/boto/botocore/pull/303

Tapi saya ingin melakukan lebih banyak pengujian tentang ini. Saya juga ingin melihat apa yang dilakukan mengirim header 100-kontinu yang diharapkan dengan sempurna.

Kami mendapatkan kesalahan ini juga saat menyalin file besar (~ 3GB) dari lokal ke S3 (Irlandia). Menggunakan aws-cli / 1.3.17 Python / 2.6.6 Linux / 2.6.32-71.29.1.el6.x86_64 dan botocore 0.51.0.

Hanya pembaruan cepat, perbaikan untuk ini ada di boto / botocore # 303, namun kami menemukan regresi yang hanya di python2.6 jadi kami harus mengembalikan PR.

Saya pikir masih mungkin untuk memperbaikinya, tetapi ini akan sedikit lebih invasif karena perubahan internal di httplib dari python2.6 menjadi> python2.6. Saya akan memperbarui ini ketika saya memiliki info lebih lanjut.

Saya dapat memperbaiki masalah python2.6 di PR sebelumnya untuk memperbaiki masalah ini. Semua tes lulus dengan perubahan ini, dan saya dapat mengonfirmasi bahwa ini memperbaiki masalah tidak dapat mengunggah file besar ke bucket S3 non-standar yang baru dibuat. Beri tahu saya jika Anda masih mengalami masalah, dan terima kasih atas kesabaran Anda sementara kami menyelesaikan masalah ini.

Terima kasih telah memperbaiki @jamesls. Rilis awscli manakah / apakah perbaikan ini akan dilakukan?

Ini tersedia di versi terbaru CLI (v1.3.18).

Selain itu, jika ada yang perlu men-debug ini di masa mendatang, Anda akan melihat log debug yang terkait dengan header expected 100 continue:

2014-06-23 10:40:32,495 - Thread-4 - botocore.hooks - DEBUG - Event before-call.s3.UploadPart: calling handler <function add_expect_header at 0x10d3469b0>
2014-06-23 10:40:32,495 - Thread-4 - botocore.handlers - DEBUG - Adding expect 100 continue header to request.
2014-06-23 10:40:32,500 - Thread-4 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]>
2014-06-23 10:40:32,502 - Thread-4 - botocore.awsrequest - DEBUG - Waiting for 100 Continue response.
2014-06-23 10:40:32,506 - Thread-4 - botocore.awsrequest - DEBUG - Received a non 100 Continue response from the server, NOT sending request body.
2014-06-23 10:40:32,512 - Thread-4 - botocore.awsrequest - DEBUG - Redirect received, rewinding stream: <awscli.customizations.s3.utils.ReadFileChunk object at 0x10d7f1450>
2014-06-23 10:40:32,512 - Thread-4 - botocore.awsrequest - DEBUG - Rewinding stream: <awscli.customizations.s3.utils.ReadFileChunk object at 0x10d7f1450>
2014-06-23 10:40:32,513 - Thread-4 - botocore.awsrequest - DEBUG - Waiting for 100 Continue response.
2014-06-23 10:40:32,533 - Thread-4 - botocore.awsrequest - DEBUG - 100 Continue response seen, now sending request body.
...
2014-06-23 10:40:34,530 - Thread-4 - awscli.errorhandler - DEBUG - HTTP Response Code: 200

Saya yakin ini masih menjadi masalah per # 823.

Sepertinya masalah yang berbeda. Errno berbeda, khususnya.

mendapat masalah yang sama.

upload failed: images1/1103/142_b2d35e8005321b582ce891ca835df65d_75.jpg to s3://opgirl-v2/images/images1/1103/142_b2d35e8005321b582ce891ca835df65d_75.jpg A client error (RequestTimeout) occurred when calling the PutObject operation: Your socket connection to the server was not read from or written to within the timeout period. Idle connections will be closed.
Cleaning up. Please wait...
upload failed: images1/1103/142_d0754d4c8708dc2d7c68cc27da2ad2fa_100.jpg to s3://opgirl-v2/images/images1/1103/142_d0754d4c8708dc2d7c68cc27da2ad2fa_100.jpg The write operation timed out
upload failed: images1/1103/1430_0a6a493f08b693789cba32fbbc6ade83_75.jpg to s3://opgirl-v2/images/images1/1103/1430_0a6a493f08b693789cba32fbbc6ade83_75.jpg ('Connection aborted.', error(104, 'Connection reset by peer'))
# aws --version
aws-cli/1.9.15 Python/2.6.6 Linux/3.2.0-0.bpo.1-amd64 botocore/1.3.15

Mencapai batas kinerja AWS s3?
https://stackoverflow.com/questions/23397460/error-handling-boto-error-104-connection-reset-by-peer

Saya mengalami masalah yang sama. Benang ini agak tua. Apakah masalah ini masih diselidiki?

('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

# aws --version aws-cli/1.11.13 Python/3.5.2 Linux/4.4.0-1055-aws botocore/1.4.70

Menghadapi masalah yang sama

`` ''

aws s3 cp /opt/tradetracker/dataStream/tracker-hits-2018-04-30_11:00:00.log s3: // tt-feeder-dumps
unggahan gagal: ../dataStream/tracker-hits-2018-04-30_11:00:00.log ke s3: // tt-feeder-dumps / tracker-hits-2018-04-30_11: 00: 00.log ( 'Sambungan dibatalkan.', ConnectionResetError (104, 'Sambungan disetel ulang oleh rekan'))

ls -hal /opt/tradetracker/dataStream/tracker-hits-2018-04-30_11:00:00.log
-rw-rw-rw- 1 www-data www-data 13 Jt 30 Apr 13:56 /opt/tradetracker/dataStream/tracker-hits-2018-04-30_11:00:00.log

aws --version
aws-cli / 1.11.13 Python / 3.5.2 Linux / 4.4.0-1049-aws botocore / 1.4.70
`` ''

Dito. +1
Ukuran file: 1G
aws-cli/1.15.12 Python/3.4.3 Linux/4.4.0-71-generic botocore/1.10.12


Untuk pengaturan saya, ini diselesaikan dengan pengaturan:
s3 =
max_concurrent_requests = 5
max_bandwidth = 210KB / dtk

di file .aws / config untuk profil yang saya gunakan. Lihat di sini: https://docs.aws.amazon.com/cli/latest/topic/s3-config.html#

Saya mengalami masalah yang sama juga, ketika saya mencoba mengunggah file ke ember s3 menggunakan paket python boto3.

Biasanya berfungsi dengan baik sampai sekitar 4 hari yang lalu, dan sejak itu mengalami masalah dengan pengunggahan.

Saya mengalami masalah yang sama dengan bucket yang baru dibuat di region eu-west-1.

Perintah yang digunakan:
aws s3 sync . s3://<bucket_name> --profile test --region eu-west-1

$ aws --version
aws-cli/1.11.13 Python/3.5.2 Linux/4.13.0-45-generic botocore/1.4.70

Apakah masalah ini terkait dengan jaringan yang saya sambungkan? Pengunggahan gagal ketika saya telah terhubung ke dongle 4G, sedangkan ketika saya terhubung ke router wifi saya, semuanya baik-baik saja.

Tapi, dongle 4G memberi saya kecepatan 10Mbps. Jadi, tidak yakin di mana masalahnya

@uldall Jika Anda belum menyelesaikan ini, bagi saya ini telah diperbaiki dengan menginstal versi terbaru dari aws-cli - versi terbaru di apt-get sudah usang dan Anda harus menginstal menggunakan pip. Berikut instruksinya:
https://www.slashroot.in/how-to-install-and-configure-aws-cli-on-ubuntu-16-04

Di ubuntu 18
Instal python 3
sudo apt-get install python3-pip
pip3 instal awscli --upgrade --user
aws s3 sync ./ s3: // mybucket01

https://linuxhint.com/install_aws_cli_ubuntu/
https://linuxhint.com/install_aws_cli_ubuntu/

Apakah halaman ini membantu?
0 / 5 - 0 peringkat