Blog

Postado em em 26 de março de 2022

REST API do Firebase no Python – Introdução

Na aula de hoje eu vou te mostrar uma breve introdução a REST API do Firebase no Python para integrar seu banco de dados.

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Como Usar o Python com Firebase

Na aula de hoje eu quero te mostrar uma breve introdução a REST API do Firebase do Google e fazer essa integração com o Python!

A ideia é criar banco de dados no Firebase e armazenar as informações dentro desse banco utilizando o Python!

REST API do Firebase no Python

Primeiro vamos explicar o que é esse tal de Firebase do Google. Ele possui várias tecnologias, mas nós vamos focar nessa aula na parte do banco de dados.

Isso quer dizer que vamos poder criar um banco de dados não relacional utilizando o Firebase. Esse banco de dados não é o padrão que estamos acostumados a ver.

Então você vai ver um banco de dados em formato de árvore (logo veremos exemplos), o que é um pouco diferente do que temos na maioria dos programas.

O primeiro passo é você ter uma conta no Google/Gmail, pois para acessar o Firebase você vai precisar dessa conta. Essa conta é bem simples de criar caso não tenha.

Logo no início da página depois que fizer o seu login, no canto superior direito da página tem a opção Ir para o console.

Quando fizer isso será direcionado para uma página onde terá os projetos que você já criou. Caso não tenha nenhum projeto vai visualizar a página dessa forma.

Página de criação de projeto no Firebase
Página de criação de projeto no Firebase

Com isso você já pode clicar em Criar um projeto. Feito isso pode colocar o nome do projeto, no segundo passo você pode ou não desativar o Google Analytics no projeto, por fim basta clicar para criar o projeto.

Após criar o projeto você vai clicar em Realtime Database no menu ao lado esquerdo.

Visão geral do projeto
Visão geral do projeto

Em seguida você vai clicar em Criar Banco de Dados > Selecionar a Localidade > Iniciar no modo de teste > Ativar.

Banco de dados criado
Banco de dados criado

Agora você já tem o seu banco de dados criado! Você pode clicar no + para começar a inserir as informações.

REST API do Firebase
Inserindo informações no banco de dados

Você vai notar que aqui não temos aquele padrão de linhas e colunas como vemos normalmente nos bancos de dados. Aqui temos a estrutura que comentei anteriormente, que é a estrutura de árvore.

Aqui você vai poder adicionar outras informações, lembrando que para criar uma “categoria” como fizemos com Produtos e Vendas basta não colocar o valor, com isso você vai conseguir inserir outras informações dentro dessa categoria.

REST API do Firebase
Banco de dados com vendas e produtos

Você vai notar que logo acima do nosso banco de dados nós temos um link e é com ele que vamos utilizar esse banco de dados.

Então o que vamos fazer é pesquisar Firebase REST API no Google e clicar no primeiro site.

Isso nada mais é do que uma API para que possamos fazer a integração com banco de dados.

Para fazer isso nós vamos fazer requisições para essa API para pegar ou enviar informações. E com isso seremos capazes de pegar, editar, adicionar e excluir informações no nosso banco de dados.

Para fazer essas requisições nós vamos utilizar a biblioteca requests. Já temos até post aqui no blog sobre esse assunto.

Agora vamos ao código para que você entenda como vamos fazer essa integração do Python com o Firebase.

Além disso vamos ver como criar uma venda, criar um produto, editar uma venda, pegar uma venda específica e deletar uma venda.

Isso utilizando os comandos POST, PATCH, GET e DELETE para executar essas ações.

# Criar o projeto no Firebase

# Link documento REST API Firebase
# https://firebase.google.com/docs/reference/rest/database

# Criar o Database (atenção às regras de segurança)
# Estrutura de árvore

# Interação com o Database (REST API)
import requests
import json

link = "seu_link_aqui"

# Criar uma venda (POST)
dados = {'cliente': 'alon', 'preco': 150, 'produto': 'teclado'}
requisicao = requests.post(f'{link}/Vendas/.json', data=json.dumps(dados))
print(requisicao)
print(requisicao.text)

# Criar um novo produto (POST)
dados = {'nome': 'teclado', 'preco': 150, 'quantidade': 80}
requisicao = requests.post(f'{link}/Produtos/.json', data=json.dumps(dados))
print(requisicao)
print(requisicao.text)

# Editar a venda (PATCH)
dados = {'cliente': 'lira'}
requisicao = requests.patch(f'{link}/Vendas/-MyJSm_N0S8KhCc3nAku/.json', data=json.dumps(dados))
print(requisicao)
print(requisicao.text)

# Pegar uma venda específico ou todas as vendas (GET)
requisicao = requests.get(f'{link}/Vendas/.json')
print(requisicao)
dic_requisicao = requisicao.json()
id_alon = None
for id_venda in dic_requisicao:
    cliente = dic_requisicao[id_venda]['cliente']
    if cliente == "alon":
        print(id_venda)
        id_alon = id_venda

# Deletar uma venda (DELETE)
requisicao = requests.delete(f'{link}/Vendas/{id_alon}/.json')
print(requisicao)
print(requisicao.text)

Para cada uma dessas ações nós vamos utilizar o requests + ação que será feita. Se você notar nós vamos utilizar o link que você tem lá na sua base de dados.

E além desse link nós vamos acrescentar /+ a categoria onde vamos executar a ação + /.json.

Então para o primeiro exemplo temos o link/Vendas/.json isso quer dizer que vamos adicionar uma venda dentro das informações de vendas que já criamos no nosso banco de dados.

Logo em seguida vamos utilizar o parâmetro data=json.dumps para passar esses dados ao nosso banco. Então como estamos fazendo a comunicação no formato json, esse parâmetro vai passar as informações em um dicionário no formato json.

Pronto! Com isso você vai notar que a ação que você fez vai ser refletida no seu banco de dados. Como nesse primeiro exemplo nós estamos adicionando uma venda ela vai aparecer dentro de vendas no banco de dados.

REST API do Firebase
Visualizando as informações após adicionar uma venda no Python

Agora você vai repetir o mesmo procedimento para as demais ações, só vai mudar qual é a ação que vai fazer depois do requests.

Com isso você consegue editar informações no banco de dados, consegue adicionar informações, pegar informações e até excluir essas informações!

Conclusão da REST API do Firebase

Nessa aula eu te mostrei uma breve introdução ao Firebase do Google para que você possa criar um banco de dados e fazer a integração dele com o Python.

Dessa forma pode criar, pegar, deletar e alterações as informações que têm nesse banco de dados utilizando a biblioteca requests.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso gratuito?


Vire uma referência no Mercado de Trabalho por causa do Power BI!

Quer saber como? Inscreva-se no Intensivão de Power BI! É gratuito!