Files
opensearch-pyd/docs/connection.rst
T
Nick Lang 7339a272b5 Add SSL context for versions of Python that support SSL Context.
Instead of passing parameters manually, you can construct an SSL
context. This allows for greater flexibility in using self signed certs.
2017-10-06 11:27:15 -06:00

60 lines
2.2 KiB
ReStructuredText

.. _connection_api:
Connection Layer API
====================
All of the classes responsible for handling the connection to the Elasticsearch
cluster. The default subclasses used can be overriden by passing parameters to the
:class:`~elasticsearch.Elasticsearch` class. All of the arguments to the client
will be passed on to :class:`~elasticsearch.Transport`,
:class:`~elasticsearch.ConnectionPool` and :class:`~elasticsearch.Connection`.
For example if you wanted to use your own implementation of the
:class:`~elasticsearch.ConnectionSelector` class you can just pass in the
``selector_class`` parameter.
.. note::
:class:`~elasticsearch.ConnectionPool` and related options (like
``selector_class``) will only be used if more than one connection is defined.
Either directly or via the :ref:`sniffing` mechanism.
.. py:module:: elasticsearch
Transport
---------
.. autoclass:: Transport(hosts, connection_class=Urllib3HttpConnection, connection_pool_class=ConnectionPool, nodes_to_host_callback=construct_hosts_list, sniff_on_start=False, sniffer_timeout=None, sniff_on_connection_fail=False, serializer=JSONSerializer(), max_retries=3, ** kwargs)
:members:
Connection Pool
---------------
.. autoclass:: ConnectionPool(connections, dead_timeout=60, selector_class=RoundRobinSelector, randomize_hosts=True, ** kwargs)
:members:
Connection Selector
-------------------
.. autoclass:: ConnectionSelector(opts)
:members:
Urllib3HttpConnection (default connection_class)
------------------------------------------------
Deprecation Notice: `use_ssl`, `verify_certs`, `ca_certs` and `ssl_version` are being
deprecated in favor of using a `SSLContext` (https://docs.python.org/3/library/ssl.html#ssl.SSLContext) object.
You can continue to use the deprecated parameters and an `SSLContext` will be created for you.
If you want to create your own `SSLContext` object you can create one natively using the
python SSL library with the `create_default_context` (https://docs.python.org/3/library/ssl.html#ssl.create_default_context) method
or you can use the wrapper function :function:`~elasticsearch.connection.http_urllib3.create_ssl_context`.
.. autoclass:: Urllib3HttpConnection
:members: