Last active
August 5, 2020 13:54
-
-
Save beccam/0ec3fb0e7a9f2ae3c9e6cd83eb6f31ad to your computer and use it in GitHub Desktop.
Connect to Astra with the Python Driver
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from cassandra.cluster import Cluster | |
from cassandra.auth import PlainTextAuthProvider | |
def set_user(session, lastname, age, city, email, firstname): | |
# TO DO: execute SimpleStatement that inserts one user into the table | |
session.execute("INSERT INTO users (lastname, age, city, email, firstname) VALUES (%s,%s,%s,%s,%s)", [lastname, age, city, email, firstname]) | |
def get_user(session, lastname): | |
# TO DO: execute SimpleStatement that retrieves one user from the table | |
# TO DO: print firstname and age of user | |
result = session.execute("SELECT * FROM users WHERE lastname = %(surname)s", {'surname':lastname}).one() | |
print result.firstname, result.age | |
def update_user(session, new_age, lastname): | |
# TO DO: execute a BoundStatement that updates the age of one user | |
prepared = session.prepare("UPDATE users SET age = ? WHERE lastname = ?") | |
session.execute(prepared, [new_age, lastname]) | |
def delete_user(session, lastname): | |
# TO DO: execute a BoundStatement that updates the age of one user | |
prepared = session.prepare("DELETE FROM users WHERE lastname = ?") | |
session.execute(prepared, [lastname]) | |
def main(): | |
cloud_config= { | |
'secure_connect_bundle': '/path/to/secure-connect-database_name.zip' | |
} | |
auth_provider = PlainTextAuthProvider('username', 'password') | |
cluster = Cluster(cloud=cloud_config, auth_provider=auth_provider) | |
session = cluster.connect('demo') | |
session.execute( | |
""" | |
CREATE TABLE IF NOT EXISTS demo.users ( | |
lastname text PRIMARY KEY, | |
age int, | |
city text, | |
email text, | |
firstname text); | |
""" | |
) | |
lastname = "Jones" | |
age = 35 | |
city = "Austin" | |
email = "[email protected]" | |
firstname = "Bob" | |
new_age = 36 | |
set_user(session, lastname, age, city, email, firstname) | |
get_user(session, lastname) | |
update_user(session, new_age, lastname) | |
get_user(session, lastname) | |
delete_user(session, lastname) | |
if __name__ == "__main__": | |
main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment