Como usar o Cloud Datastore

Use o Google Cloud Datastore para armazenar os dados do seu aplicativo do App Engine. O Cloud Datastore é um banco de dados criado para garantir escalonamento automático, alto desempenho e facilidade no desenvolvimento de aplicativos.

Este documento mostra como usar a biblioteca de cliente do Google Cloud para armazenar e recuperar dados usando o Cloud Datastore em um aplicativo do App Engine.

Pré-requisitos e configuração

Acesse "Hello, World!" para Python no App Engine para configurar o ambiente e o projeto, além de compreender como aplicativos Python são estruturados no App Engine. Anote e salve o código do projeto. Você precisará dele para executar o aplicativo de amostra descrito neste documento.

Clonar o repositório

Faça o download ou clone da amostra:

git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/appengine/flexible/datastore

Editar a configuração do projeto e definir as dependências

Inclua a biblioteca google-cloud-datastore em requirements.txt. Essa é a biblioteca de cliente para o Cloud Datastore.

Flask==0.12.2
google-cloud-datastore==1.6.0
gunicorn==19.7.1

Código do aplicativo

O aplicativo de amostra regista, recupera e exibe IPs de visitantes. Uma entrada de registro é uma classe de dois campos simples que recebe o tipo visit e é salva no Cloud Datastore usando o comando put. Em seguida, as 10 visitas mais recentes são recuperadas em ordem decrescente usando o comando query().

@app.route('/')
def index():
    ds = datastore.Client()

    user_ip = request.remote_addr

    # Keep only the first two octets of the IP address.
    if is_ipv6(user_ip):
        user_ip = ':'.join(user_ip.split(':')[:2])
    else:
        user_ip = '.'.join(user_ip.split('.')[:2])

    entity = datastore.Entity(key=ds.key('visit'))
    entity.update({
        'user_ip': user_ip,
        'timestamp': datetime.datetime.utcnow()
    })

    ds.put(entity)

    query = ds.query(kind='visit', order=('-timestamp',))

    results = [
        'Time: {timestamp} Addr: {user_ip}'.format(**x)
        for x in query.fetch(limit=10)]

    output = 'Last 10 visits:\n{}'.format('\n'.join(results))

    return output, 200, {'Content-Type': 'text/plain; charset=utf-8'}

Como usar arquivos index.yaml

O aplicativo de amostra faz consultas simples. As consultas mais detalhadas do Datastore exigem um ou mais índices, que precisam ser especificados em um arquivo index.yaml. O upload desse arquivo é feito com o aplicativo. É possível criá-lo manualmente ou gerá-lo automaticamente ao testar o app no local.

Para saber mais

Consulte a documentação do Cloud Datastore para ver todas as informações sobre ele, incluindo otimizações e conceitos.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentos do ambiente flexível do App Engine para Python