in python/datastax-v3/connection-sigv4/sigv4_sample/connectkeyspaces.py [0:0]
def main():
ssl_context = SSLContext(PROTOCOL_TLSv1_2)
cert_path = os.path.join(os.path.dirname(__file__), 'resources/sf-class2-root.crt')
ssl_context.load_verify_locations(cert_path)
ssl_context.verify_mode = CERT_REQUIRED
# this will automatically pull the credentials from either the
# ~/.aws/credentials file
# ~/.aws/config
# or from the boto environment variables.
boto_session = boto3.Session()
# verify that the session is set correctly
credentials = boto_session.get_credentials()
if not credentials or not credentials.access_key:
sys.exit("No access key found, please setup credentials (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) according to https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-precedence\n")
region = boto_session.region_name
if not region:
sys.exit("You do not have a region set. Set environment variable AWS_REGION or provide a configuration see https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-precedence\n")
auth_provider = SigV4AuthProvider(boto_session)
contact_point = "cassandra.{}.amazonaws.com".format(region)
cluster = Cluster([contact_point],
ssl_context=ssl_context,
auth_provider=auth_provider,
port=9142)
session = cluster.connect()
print("CONNECTION TO KEYSPACES SUCCESSFUL2")
rows = session.execute('select * from system_schema.keyspaces')
print("PRINTING SCHEMA INFORMATION2")
for r in rows.current_rows:
print("Found Keyspace: {}".format(r.keyspace_name))