Professional Documents
Culture Documents
Implantando Um Aplicativo Flask No Heroku
Implantando Um Aplicativo Flask No Heroku
Payara Services
OPEN
No Nonsense Guide to the JVM
Introdução
Neste tutorial, você aprenderá como implantar um aplicativo Flask no Heroku. O
aplicativo pode ser tão simples quanto um aplicativo "Hello World" para uma plataforma
de monitoramento de mídia social!
Hoje em dia não existe empresa que não tenha um web app que a ajude a alcançar um
público maior, ou quem sabe prestar seus serviços por meio de um portal online.
Hoje você está prestes a aprender como fazer uma API usando o Flask como um
estudo de caso de como implantar seu aplicativo no Heroku.
$ source venv/bin/activate
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 1/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Então, vamos usar pip para instalar as bibliotecas que vamos usar - flask para
construir o aplicativo e gunicorn como nosso servidor:
Payara Abrir
Nosso aplicativo será uma API simples que recebe um nome e retorna uma mensagem
de boas-vindas:
# app.py
app = Flask(__name__)
@app.route('/getmsg/', methods=['GET'])
def respond():
# For debugging
response = {}
if not name:
elif str(name).isdigit():
else:
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 2/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
return jsonify(response)
@app.route('/post/', methods=['POST'])
def post_something():
param = request.form.get('name')
print(param)
# You can add the test cases you made in the previous function, but in our ca
if param:
return jsonify({
"METHOD" : "POST"
})
else:
return jsonify({
})
@app.route('/')
def index():
if __name__ == '__main__':
# Threaded option to enable multiple instances for multiple user access suppo
app.run(threaded=True, port=5000)
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 3/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Heroku
Heroku é uma das primeiras plataformas de nuvem como serviço (PaaS) e suporta
várias linguagens - Ruby, Java, Node.js, Scala, Clojure, Python, PHP e Go.
A primeira coisa que precisamos fazer é definir quais bibliotecas nosso aplicativo usa.
Dessa forma, o Heroku sabe quais fornecer para nós, semelhante à forma como os
instalamos localmente ao desenvolver o aplicativo.
Click==7.0
Flask==1.1.1
gunicorn==19.9.0
itsdangerous==1.1.0
Jinja2==2.10.1
MarkupSafe==1.1.1
Werkzeug==0.15.6
Nota: Um dos erros comuns é o erro de ortografia dos requisitos, é muito chato quando
você depura seu código por horas e descobre que o aplicativo não roda porque o
servidor não baixou os módulos. A única maneira do Heroku saber os módulos que
você está usando é adicioná-los ao requirements.txt arquivo, então tome cuidado!
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 4/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Para que o Heroku possa executar nosso aplicativo como deveria, precisamos definir
um conjunto de processos/comandos que ele deve executar previamente. Esses
comandos estão localizados em Procfile :
O web comando diz ao Heroku para iniciar um servidor web para o aplicativo, usando
gunicorn . Como nosso aplicativo é chamado app.py , definimos o app nome app como
também.
Conta Heroku
Quando isso estiver fora do caminho, no painel, selecione Novo -> Criar novo
aplicativo :
Escolha um nome para o aplicativo e escolha uma região onde você gostaria de
hospedá-lo:
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 5/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Depois que o aplicativo for criado no Heroku, estaremos prontos para implantá-lo
online.
Git
Para fazer o upload do nosso código, usaremos o Git . Primeiro, vamos fazer um
repositório git:
$ git init .
Para finalmente implantar o aplicativo, precisaremos instalar o Heroku CLI com o qual
executaremos os comandos relacionados ao Heroku. Vamos fazer login em nossa
conta usando nossas credenciais executando o comando:
$ heroku login -i
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 6/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Baixe o e-book
$ heroku login
E com isso feito, vamos fazer o upload do projeto enviando -o para o Heroku:
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 7/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
...
remote:
remote: Released v4
remote:
To https://git.heroku.com/{your-project-name}.git
Parabéns, você carregou com sucesso seu primeiro aplicativo da web para o Heroku!
Agora é hora de testar e verificar nossa API.
Testando a API
No log que foi mostrado no console, você encontrará um link para seu aplicativo
https://{your-project-name}.herokuapp.com/ , este link também pode ser encontrado
na guia Configurações , na seção Domínios e certificados :
Acessando o link, podemos acessar nosso aplicativo, que já está online e público:
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 8/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Caso haja algum erro, você pode acessar os logs e solucionar problemas a partir daí:
Agora vamos testar a GET requisição para nossa aplicação com um name parâmetro:
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 9/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Agora vamos testar uma URL que não está vinculada a nenhuma função, como por
exemplo /newurl , com uma solicitação GET:
Observação: você pode alterar a exibição da saída de Pretty , Raw e Preview , que
mostra como a saída ficaria em seu navegador.
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 10/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Além disso, vamos ver o que acontece se omitirmos completamente o name parâmetro:
Testamos nosso aplicativo e confirmamos que tudo está funcionando bem. Para ver o
histórico do seu servidor e quais solicitações foram feitas, você pode verificar os logs do
seu site via Heroku:
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 11/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Pode ver aqui o POST pedido que fizemos à nossa página /post/ .
Além disso, você pode ver o histórico de construção do aplicativo. Além disso, se
houver algum problema durante a construção, você poderá encontrá-lo na página de
log.
Conclusão
Neste artigo mostramos um exemplo simples de como construir nossa primeira API
simples no Heroku usando o microframework Flask. O processo de desenvolvimento
permanece o mesmo enquanto você continua construindo seu aplicativo.
Heroku oferece um plano gratuito e planos para estudantes. O plano gratuito é limitado,
mas funciona muito bem para um aplicativo inicial, POC ou um projeto simples, por
exemplo. No entanto, se você deseja dimensionar seu aplicativo, considere um dos
planos disponíveis no site aqui .
Para mais informações sobre o Heroku você pode conferir o próprio manual do Heroku .
desenvolvimento!
Receba tutoriais, guias e trabalhos de desenvolvimento em sua caixa de
entrada.
Inscrever-se
Nenhum spam nunca. Cancele a inscrição a qualquer momento. Leia nossa Política de
Privacidade.
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 13/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
9 Comments
1 Login
LOG IN WITH
OR SIGN UP WITH DISQUS ?
Name
Sort by Best 1 ⥅
should be -
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 14/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
i ran into a couple of problems so a few additional points for those who are implementing for the
first time
1) avoid using anaconda as it causes some issues instead use virtual env as shown in the
tutorial
2) the Procfile is created (in the same directory as app.py using the command line) with
3) Heroku seems to have some problem with specifying the port number directly so replace last
line of app.py with
△ ▽ • Reply • Share ›
However the heroku file isn't Procfile.txt, is simply Procfile. Also, you didn't referee that is
necessary a runtime.txt with the python version, so heroku knows that is a python app.
For more general information about deploying python app with heroku:
https://devcenter.heroku.com/articles/getting-started-with-python#deploy-the-app
△ ▽ • Reply • Share ›
TODOS OS JOGOS
AO VIVO
SÓ POR R$14,16/MÊS*
ASSINE AGORA
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 15/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Curso
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 16/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
Assine Agora
Anúncio do
HBO MAX
Engenheiro chefe
Benefício 7 meses atrás
ara
arayaP
Mantenha seu
aplicativos
seguros
Payara
Abrir
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 18/19
16/10/2022 23:25 Implantando um aplicativo Flask no Heroku
https://stackabuse.com/deploying-a-flask-application-to-heroku/ 19/19