Method: projects.instances.databases.create

Creates a new Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format <database_name>/operations/<operationId> and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata . The response field type is Database , if successful.

HTTP request


POST https://spanner.googleapis.com/v1/{parent=projects/*/instances/*}/databases

The URLs use gRPC Transcoding syntax.

Path parameters

Parameters
parent

string

Required. The name of the instance that will serve the new database. Values are of the form projects/<project>/instances/<instance> .

Authorization requires the following IAM permission on the specified resource parent :

  • spanner.databases.create

Request body

The request body contains data with the following structure:

JSON representation
 { 
 "createStatement" 
 : 
 string 
 , 
 "extraStatements" 
 : 
 [ 
 string 
 ] 
 , 
 "encryptionConfig" 
 : 
 { 
 object (  EncryptionConfig 
 
) 
 } 
 , 
 "databaseDialect" 
 : 
 enum (  DatabaseDialect 
 
) 
 , 
 "protoDescriptors" 
 : 
 string 
 } 
Fields
createStatement

string

Required. A CREATE DATABASE statement, which specifies the ID of the new database. The database ID must conform to the regular expression [a-z][a-z0-9_\-]*[a-z0-9] and be between 2 and 30 characters in length. If the database ID is a reserved word or if it contains a hyphen, the database ID must be enclosed in backticks ( ` ).

extraStatements[]

string

Optional. A list of DDL statements to run inside the newly created database. Statements can create tables, indexes, etc. These statements execute atomically with the creation of the database: if there is an error in any statement, the database is not created.

encryptionConfig

object ( EncryptionConfig )

Optional. The encryption configuration for the database. If this field is not specified, Cloud Spanner will encrypt/decrypt all data at rest using Google default encryption.

databaseDialect

enum ( DatabaseDialect )

Optional. The dialect of the Cloud Spanner Database.

protoDescriptors

string ( bytes format)

Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements in 'extraStatements'. Contains a protobuf-serialized google.protobuf.FileDescriptorSet descriptor set. To generate it, install and run protoc with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run

 $protoc  --proto_path=/app_path --proto_path=/lib_path \
         --include_imports \
         --descriptor_set_out=descriptors.data \
         moon/shot/app.proto 

For more details, see protobuffer self description .

A base64-encoded string.

Response body

If successful, the response body contains a newly created instance of Operation .

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/spanner.admin
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview .

Design a Mobile Site
View Site in Mobile | Classic
Share by: