Primeiros passos com o Cloud Spanner em Node.js | Documentação do Cloud Spanner | Google Cloud
Neste tutorial, você conhecerá as etapas de uso da biblioteca de cliente do Cloud Spanner para Node.js:
Siga as etapas para Configurar um ambiente de desenvolvimento do Node.js
Instale dependências usando npm:
O repositório de amostras contém um exemplo de como usar o Cloud Spanner com o Node.js.
Confira o arquivo samples/schema.js, em que você aprende a criar um banco de dados e modificar um esquema de banco de dados. Os dados usam o esquema de exemplo mostrado na página Modelo de dados e esquema.
Para criar um banco de dados chamado example-db na instância com o nome test-instance, execute o código a seguir na linha de comando. Substitua MY_PROJECT_ID pelo código do projeto do GCP nos comandos mostrados neste tutorial.
Você acabou de criar um banco de dados do Cloud Spanner. Veja a seguir o código com que foi criado o banco de dados.
Antes de ler ou gravar, é necessário criar um Database.
É possível pensar em um Database como uma conexão de banco de dados: todas as suas interações com o Cloud Spanner precisam passar por um Database. Normalmente, você cria um Database quando seu aplicativo é iniciado e, depois, reutiliza esse Database para ler, gravar e executar transações.
Como cada cliente usa recursos no Cloud Spanner, chame Database.close() para limpá-los, incluindo as conexões de rede.
Saiba mais na referência do Database.
Use o método runUpdate() para executar uma declaração DML.
Execute a amostra usando o argumento insert.
O Cloud Spanner é compatível com uma interface SQL nativa para leitura de dados, acessível na linha de comando com a ferramenta gcloud ou programaticamente com a biblioteca de cliente do Cloud Spanner para Node.js.
Como usar a biblioteca de cliente do Cloud Spanner para Node.js
Além de executar uma instrução SQL na linha de comando, você pode emitir ela de maneira programática usando a biblioteca do cliente do Cloud Spanner para Node.js.
Use Database.run() para executar a consulta SQL.
Use Table.read() para ler linhas no banco de dados. Use um objeto KeySet para definir uma coleção de chaves e intervalos de chaves para leitura.
Para adicionar uma coluna na linha de comando, use a ferramenta gcloud ou, de maneira programática, use a biblioteca de cliente do Cloud Spanner para Node.js.
Use Database.updateSchema para modificar o esquema:
Execute a amostra usando o argumento addColumn.
O código a seguir grava dados na nova coluna. Com ele é definido o MarketingBudget para 100000 na linha indexada por Albums(1, 1) e 500000 na linha indexada por Albums(2, 2).
Você pode adicionar um índice na linha de comando usando a ferramenta de linha de comando gcloud ou programaticamente usando a biblioteca de cliente do Cloud Spanner para Node.js.
Use Database.updateSchema() para adicionar um índice:
Execute a amostra usando o argumento createIndex.
Você verá uma saída similar a:
Para fazer uma leitura com o índice, use o método Table.read().
Use Database.updateSchema() para adicionar um índice com uma cláusula STORING:
Execute a amostra usando o argumento createStoringIndex.
Agora é possível executar uma leitura para buscar todas as colunas AlbumId, AlbumTitle e MarketingBudget do índice AlbumsByAlbumTitle2:
Suponha que você queira executar mais de uma leitura no mesmo carimbo de data/hora. As transações somente leitura estão de acordo com um prefixo consistente do histórico de confirmações de transação. Portanto, seu aplicativo sempre recebe dados consistentes. Use Database.runTransaction() para executar transações somente leitura.