示例#1
0
def setUpModule():
    if USE_EMULATOR:
        from google.auth.credentials import AnonymousCredentials

        emulator_project = os.getenv("GCLOUD_PROJECT", "emulator-test-project")
        Config.CLIENT = Client(project=emulator_project,
                               credentials=AnonymousCredentials())
    else:
        Config.CLIENT = Client()

    retry = RetryErrors(exceptions.ServiceUnavailable)

    configs = list(retry(Config.CLIENT.list_instance_configs)())

    instances = retry(_list_instances)()
    EXISTING_INSTANCES[:] = instances

    if CREATE_INSTANCE:
        if not USE_EMULATOR:
            # Defend against back-end returning configs for regions we aren't
            # actually allowed to use.
            configs = [config for config in configs if "-us-" in config.name]

        if not configs:
            raise ValueError("List instance configs failed in module set up.")

        Config.INSTANCE_CONFIG = configs[0]
        config_name = configs[0].name

        Config.INSTANCE = Config.CLIENT.instance(INSTANCE_ID, config_name)
        created_op = Config.INSTANCE.create()
        created_op.result(30)  # block until completion
    else:
        Config.INSTANCE = Config.CLIENT.instance(INSTANCE_ID)
        Config.INSTANCE.reload()
示例#2
0
文件: spannerio.py 项目: mszb/beam
 def setup(self):
   # setting up client to connect with cloud spanner
   spanner_client = Client(self._spanner_configuration.project)
   instance = spanner_client.instance(self._spanner_configuration.instance)
   self._database = instance.database(
       self._spanner_configuration.database,
       pool=self._spanner_configuration.pool)
def setUpModule():
    Config.CLIENT = Client()
    retry = RetryErrors(GrpcRendezvous, error_predicate=_retry_on_unavailable)

    configs = list(retry(Config.CLIENT.list_instance_configs)())

    # Defend against back-end returning configs for regions we aren't
    # actually allowed to use.
    configs = [config for config in configs if '-us-' in config.name]

    if len(configs) < 1:
        raise ValueError('List instance configs failed in module set up.')

    Config.INSTANCE_CONFIG = configs[0]
    config_name = configs[0].name

    instances = retry(_list_instances)()
    EXISTING_INSTANCES[:] = instances

    if CREATE_INSTANCE:
        Config.INSTANCE = Config.CLIENT.instance(INSTANCE_ID, config_name)
        created_op = Config.INSTANCE.create()
        created_op.result(30)  # block until completion

    else:
        Config.INSTANCE = Config.CLIENT.instance(INSTANCE_ID)
        Config.INSTANCE.reload()
示例#4
0
 def setup(self):
     spanner_client = Client(self._spanner_configuration.project)
     instance = spanner_client.instance(
         self._spanner_configuration.instance)
     self._db_instance = instance.database(
         self._spanner_configuration.database,
         pool=self._spanner_configuration.pool)
示例#5
0
文件: spannerio.py 项目: mszb/beam
 def setup(self):
   spanner_client = Client(self._spanner_configuration.project)
   instance = spanner_client.instance(self._spanner_configuration.instance)
   self._database = instance.database(
       self._spanner_configuration.database,
       pool=self._spanner_configuration.pool)
   self._snapshot = self._database.batch_snapshot(
       **self._spanner_configuration.snapshot_options)
示例#6
0
文件: spannerio.py 项目: mszb/beam
 def setup(self):
   spanner_client = Client(
       project=self._spanner_configuration.project,
       credentials=self._spanner_configuration.credentials)
   instance = spanner_client.instance(self._spanner_configuration.instance)
   self._database = instance.database(
       self._spanner_configuration.database,
       pool=self._spanner_configuration.pool)
   self._snapshot = self._database.batch_snapshot(
       **self._spanner_configuration.snapshot_options)
   self._snapshot_dict = self._snapshot.to_dict()
示例#7
0
文件: spannerio.py 项目: mszb/beam
 def setup(self):
   self._spanner_client = Client(
       project=self._project_id, credentials=self._credentials)
   self._instance = self._spanner_client.instance(self._instance_id)
   self._database = self._instance.database(self._database_id, pool=self._pool)
from google.cloud.spanner import Client

# Import relative to the script's directory
from streaming_utils import DATABASE_NAME
from streaming_utils import INSTANCE_NAME
from streaming_utils import print_func


def remove_database(client):
    instance = client.instance(INSTANCE_NAME)

    if not instance.exists():
        print_func("Instance does not exist: {}".format(INSTANCE_NAME))
        return

    print_func("Instance exists: {}".format(INSTANCE_NAME))
    instance.reload()

    database = instance.database(DATABASE_NAME)

    if not database.exists():
        print_func("Database does not exist: {}".format(DATABASE_NAME))
        return
    print_func("Dropping database: {}".format(DATABASE_NAME))
    database.drop()


if __name__ == "__main__":
    client = Client()
    remove_database(client)
 def __init__(self, project_id: str, instance_id, db_id):
     self.project_id = project_id
     self.__db = Client(project_id).instance(instance_id).database(db_id)
示例#10
0
from google.cloud.spanner import Client
from google.cloud.spanner_v1.session import Session
from faker import Faker

PROJECT_NAME = 'grass-clump-479'
INSTANCE_NAME = 'python-write'
DATABASE_NAME = 'pythontest'

client = Client(project=PROJECT_NAME)
instance = client.instance(INSTANCE_NAME)
database = instance.database(DATABASE_NAME)

session = Session(database)
session.create()
transaction = session.transaction()
transaction.begin()
fake = Faker()
for i in range(10000):
    transaction.insert(table='table_python',
                       columns=(
                           'key',
                           'textcolumn',
                       ),
                       values=[
                           (i, fake.name()),
                       ])
transaction.commit()

with database.snapshot() as snapshot:
    results = snapshot.execute_sql('SELECT key,textcolumn from table_python')
    for row in results: