Я без проблем получил доступ к корзине S3 из виртуальной машины Azure. Используя консоль CLI через терминал, я могу сделать это легко. Но через boto3/python я получаю:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась: невозможно получить сертификат локального издателя
D:\spendopt\python\scripts\auxiliary>python chk_Intgrtn_distrib_S3.py
Traceback (most recent call last):
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 466, in _make_request
self._validate_conn(conn)
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 1095, in _validate_conn
conn.connect()
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connection.py", line 730, in connect
sock_and_verified = _ssl_wrap_socket_and_match_hostname(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connection.py", line 909, in _ssl_wrap_socket_and_match_hostname
ssl_sock = ssl_wrap_socket(
^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\util\ssl_.py", line 469, in ssl_wrap_socket
ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\util\ssl_.py", line 513, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\ssl.py", line 455, in wrap_socket
return self.sslsocket_class._create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\ssl.py", line 1042, in _create
self.do_handshake()
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\ssl.py", line 1320, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\httpsession.py", line 464, in send
urllib_response = conn.urlopen(
^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 843, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\util\retry.py", line 449, in increment
raise reraise(type(error), error, _stacktrace)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\util\util.py", line 39, in reraise
raise value
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 789, in urlopen
response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 490, in _make_request
raise new_e
urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\spendopt\python\scripts\auxiliary\chk_Intgrtn_distrib_S3.py", line 29, in
for obj in S3bucketName.objects.filter(Prefix='e1/'):
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\boto3\resources\collection.py", line 79, in __iter__
for page in self.pages():
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\boto3\resources\collection.py", line 169, in pages
for page in pages:
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\paginate.py", line 269, in __iter__
response = self._make_request(current_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\paginate.py", line 357, in _make_request
return self._method(**current_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\client.py", line 569, in _api_call
return self._make_api_call(operation_name, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\client.py", line 1005, in _make_api_call
http, parsed_response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\client.py", line 1029, in _make_request
return self._endpoint.make_request(operation_model, request_dict)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\endpoint.py", line 119, in make_request
return self._send_request(request_dict, operation_model)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\endpoint.py", line 200, in _send_request
while self._needs_retry(
^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\endpoint.py", line 360, in _needs_retry
responses = self._event_emitter.emit(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\hooks.py", line 412, in emit
return self._emitter.emit(aliased_event_name, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\hooks.py", line 256, in emit
return self._emit(event_name, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\hooks.py", line 239, in _emit
response = handler(**kwargs)
^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 207, in __call__
if self._checker(**checker_kwargs):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 284, in __call__
should_retry = self._should_retry(
^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 320, in _should_retry
return self._checker(attempt_number, response, caught_exception)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 363, in __call__
checker_response = checker(
^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 247, in __call__
return self._check_caught_exception(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 416, in _check_caught_exception
raise caught_exception
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\endpoint.py", line 279, in _do_get_response
http_response = self._send(request)
^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\endpoint.py", line 383, in _send
return self.http_session.send(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\httpsession.py", line 491, in send
raise SSLError(endpoint_url=request.url, error=e)
botocore.exceptions.SSLError: SSL validation failed for https://coedados-s3-naturaeco-us-east-1-integration-distribution-prd.s3.amazonaws.com/?prefix=e1%2F&encoding-type=url [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)
Я уже пытался отключить требование сертификата, но, похоже, это требуется для корзины.
Я без проблем получил доступ к корзине S3 из виртуальной машины Azure. Используя консоль CLI через терминал, я могу сделать это легко. Но через boto3/python я получаю:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] проверка сертификата не удалась: невозможно получить сертификат локального издателя
[code]D:\spendopt\python\scripts\auxiliary>python chk_Intgrtn_distrib_S3.py Traceback (most recent call last): File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 466, in _make_request self._validate_conn(conn) File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 1095, in _validate_conn conn.connect() File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connection.py", line 730, in connect sock_and_verified = _ssl_wrap_socket_and_match_hostname( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connection.py", line 909, in _ssl_wrap_socket_and_match_hostname ssl_sock = ssl_wrap_socket( ^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\util\ssl_.py", line 469, in ssl_wrap_socket ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\util\ssl_.py", line 513, in _ssl_wrap_socket_impl return ssl_context.wrap_socket(sock, server_hostname=server_hostname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\ssl.py", line 455, in wrap_socket return self.sslsocket_class._create( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\ssl.py", line 1042, in _create self.do_handshake() File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\ssl.py", line 1320, in do_handshake self._sslobj.do_handshake() ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\httpsession.py", line 464, in send urllib_response = conn.urlopen( ^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 843, in urlopen retries = retries.increment( ^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\util\retry.py", line 449, in increment raise reraise(type(error), error, _stacktrace) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\util\util.py", line 39, in reraise raise value File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 789, in urlopen response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\urllib3\connectionpool.py", line 490, in _make_request raise new_e urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000)
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "D:\spendopt\python\scripts\auxiliary\chk_Intgrtn_distrib_S3.py", line 29, in for obj in S3bucketName.objects.filter(Prefix='e1/'): File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\boto3\resources\collection.py", line 79, in __iter__ for page in self.pages(): File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\boto3\resources\collection.py", line 169, in pages for page in pages: File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\paginate.py", line 269, in __iter__ response = self._make_request(current_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\paginate.py", line 357, in _make_request return self._method(**current_kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\client.py", line 569, in _api_call return self._make_api_call(operation_name, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\client.py", line 1005, in _make_api_call http, parsed_response = self._make_request( ^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\client.py", line 1029, in _make_request return self._endpoint.make_request(operation_model, request_dict) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\endpoint.py", line 119, in make_request return self._send_request(request_dict, operation_model) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\endpoint.py", line 200, in _send_request while self._needs_retry( ^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\endpoint.py", line 360, in _needs_retry responses = self._event_emitter.emit( ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\hooks.py", line 412, in emit return self._emitter.emit(aliased_event_name, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\hooks.py", line 256, in emit return self._emit(event_name, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\hooks.py", line 239, in _emit response = handler(**kwargs) ^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 207, in __call__ if self._checker(**checker_kwargs): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 284, in __call__ should_retry = self._should_retry( ^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 320, in _should_retry return self._checker(attempt_number, response, caught_exception) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 363, in __call__ checker_response = checker( ^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 247, in __call__ return self._check_caught_exception( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\retryhandler.py", line 416, in _check_caught_exception raise caught_exception File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\endpoint.py", line 279, in _do_get_response http_response = self._send(request) ^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\endpoint.py", line 383, in _send return self.http_session.send(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\james.gil.b.sousa\AppData\Local\Programs\Python\Python312\Lib\site-packages\botocore\httpsession.py", line 491, in send raise SSLError(endpoint_url=request.url, error=e) botocore.exceptions.SSLError: SSL validation failed for https://coedados-s3-naturaeco-us-east-1-integration-distribution-prd.s3.amazonaws.com/?prefix=e1%2F&encoding-type=url [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1000) [/code] Я уже пытался отключить требование сертификата, но, похоже, это требуется для корзины.