.. This file is automatically generated. Do not edit this file directly. Google Cloud Spanner Python Samples =============================================================================== This directory contains samples for Google Cloud Spanner. `Google Cloud Spanner`_ is a highly scalable, transactional, managed, NewSQL database service. Cloud Spanner solves the need for a horizontally-scaling database with consistent global transactions and SQL semantics. .. _Google Cloud Spanner: https://cloud.google.com/spanner/docs Setup ------------------------------------------------------------------------------- Authentication ++++++++++++++ Authentication is typically done through `Application Default Credentials`_, which means you do not have to change the code to authenticate as long as your environment has credentials. You have a few options for setting up authentication: #. When running locally, use the `Google Cloud SDK`_ .. code-block:: bash gcloud beta auth application-default login #. When running on App Engine or Compute Engine, credentials are already set-up. However, you may need to configure your Compute Engine instance with `additional scopes`_. #. You can create a `Service Account key file`_. This file can be used to authenticate to Google Cloud Platform services from any environment. To use the file, set the ``GOOGLE_APPLICATION_CREDENTIALS`` environment variable to the path to the key file, for example: .. code-block:: bash export GOOGLE_APPLICATION_CREDENTIALS=/path/to/service_account.json .. _Application Default Credentials: https://cloud.google.com/docs/authentication#getting_credentials_for_server-centric_flow .. _additional scopes: https://cloud.google.com/compute/docs/authentication#using .. _Service Account key file: https://developers.google.com/identity/protocols/OAuth2ServiceAccount#creatinganaccount Install Dependencies ++++++++++++++++++++ #. Install `pip`_ and `virtualenv`_ if you do not already have them. #. Create a virtualenv. Samples are compatible with Python 2.7 and 3.4+. .. code-block:: bash $ virtualenv env $ source env/bin/activate #. Install the dependencies needed to run the samples. .. code-block:: bash $ pip install -r requirements.txt .. _pip: https://pip.pypa.io/ .. _virtualenv: https://virtualenv.pypa.io/ Samples ------------------------------------------------------------------------------- Snippets +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ To run this sample: .. code-block:: bash $ python snippets.py usage: snippets.py [-h] [--database-name DATABASE_NAME] instance_name {insert_data,query_data,read_data,update_data,read_write_transaction,query_data_with_index,read_data_with_index,read_data_with_storing_index} ... This application demonstrates how to do basic operations using Cloud Spanner. For more information, see the README.rst under /spanner. positional arguments: instance_name Your Cloud Spanner instance name. {insert_data,query_data,read_data,update_data,read_write_transaction,query_data_with_index,read_data_with_index,read_data_with_storing_index} insert_data Inserts sample data into the given database. The database and table must already exist and can be created using `create_database`. query_data Queries sample data from the database using SQL. read_data Reads sample data from the database. update_data Updates sample data in the database. This updates the `MarketingBudget` column which must be created before running this sample. Run the following query on your database to create the column: ALTER TABLE Albums ADD COLUMN MarketingBudget INT64 read_write_transaction Performs a read-write transaction to update two sample records in the database. This will transfer 200,000 from the `MarketingBudget` field for the first Album to the second Album. If the `MarketingBudget` is too low, it will raise an exception. Before running this sample, you will need to run the `update_data` sample to populate the fields. query_data_with_index Inserts sample data into the given database. The database and table must already exist and can be created using `create_database`. read_data_with_index Inserts sample data into the given database. The database and table must already exist and can be created using `create_database`. read_data_with_storing_index Inserts sample data into the given database. The database and table must already exist and can be created using `create_database`. optional arguments: -h, --help show this help message and exit --database-name DATABASE_NAME Your Cloud Spanner database name. The client library ------------------------------------------------------------------------------- This sample uses the `Google Cloud Client Library for Python`_. You can read the documentation for more details on API usage and use GitHub to `browse the source`_ and `report issues`_. .. Google Cloud Client Library for Python: https://googlecloudplatform.github.io/google-cloud-python/ .. browse the source: https://github.com/GoogleCloudPlatform/google-cloud-python .. report issues: https://github.com/GoogleCloudPlatform/google-cloud-python/issues .. _Google Cloud SDK: https://cloud.google.com/sdk/