forked from apache/cassandra-python-driver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcloud.rst
More file actions
56 lines (42 loc) · 2.08 KB
/
cloud.rst
File metadata and controls
56 lines (42 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Cloud
-----
Connecting
==========
To connect to a DataStax Astra cluster:
1. Download the secure connect bundle from your Astra account.
2. Connect to your cluster with
.. code-block:: python
from cassandra.cluster import Cluster
from cassandra.auth import PlainTextAuthProvider
cloud_config = {
'secure_connect_bundle': '/path/to/secure-connect-dbname.zip'
}
auth_provider = PlainTextAuthProvider(username='user', password='pass')
cluster = Cluster(cloud=cloud_config, auth_provider=auth_provider)
session = cluster.connect()
Cloud Config Options
====================
use_default_tempdir
+++++++++++++++++++
The secure connect bundle needs to be extracted to load the certificates into the SSLContext.
By default, the zip location is used as the base dir for the extraction. In some environments,
the zip location file system is read-only (e.g Azure Function). With *use_default_tempdir* set to *True*,
the default temporary directory of the system will be used as base dir.
.. code:: python
cloud_config = {
'secure_connect_bundle': '/path/to/secure-connect-dbname.zip',
'use_default_tempdir': True
}
...
Astra Differences
==================
In most circumstances, the client code for interacting with an Astra cluster will be the same as interacting with any other Cassandra cluster. The exceptions being:
* A cloud configuration must be passed to a :class:`~.Cluster` instance via the `cloud` attribute (as demonstrated above).
* An SSL connection will be established automatically. Manual SSL configuration is not allowed, and using `ssl_context` or `ssl_options` will result in an exception.
* A :class:`~.Cluster`'s `contact_points` attribute should not be used. The cloud config contains all of the necessary contact information.
* If a consistency level is not specified for an execution profile or query, then :attr:`.ConsistencyLevel.LOCAL_QUORUM` will be used as the default.
Limitations
===========
Event loops
^^^^^^^^^^^
Evenlet isn't yet supported for python 3.7+ due to an `issue in Eventlet <https://github.com/eventlet/eventlet/issues/526>`_.