Quick Start
Configuração de ambiente para desenvolvimento
Requisitos
- Um editor de texto (recomendado VS Code)
- Python 3.10.x
pip- (Opcional, mas recomendado) Um ambiente virtual para desenvolvimento (
miniconda,virtualenvou similares)
Procedimentos
- Clonar esse repositório:
- Criar um ambiente virtual com venv:
- Ativar o ambiente:
Obs.: Essa maneira de criar o ambiente virtual presume que você já tenha a versão correta do python, caso você tenha uma versão diferente do Python, utilize outro tipo de gerenciador de ambientes, como anaconda, miniconda, pyenv ou virtualenv.
-
Abra-o no seu editor de texto
-
No seu ambiente de desenvolvimento, instalar poetry para gerenciamento de dependências:
- Instalar as dependências para desenvolvimento:
- Instalar os hooks de pré-commit:
- Pode ser necessário rodar manualmente o pre-commit pela primeira vez.
Obs.: o comando abaixo serve para ambientes Linux.
Ou:- Pronto! Seu ambiente está configurado para desenvolvimento.
Como testar uma pipeline localmente
Escolha a pipeline que deseja executar (exemplo, pipelines.rj_escritorio.template_pipeline.flows.flow):
Como testar uma pipeline na nuvem
- Configure as variáveis de ambiente num arquivo chamado
.envna raiz do projeto:
GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json # Credenciais do Google Cloud
PREFECT__BACKEND=cloud
PREFECT__SERVER__HOST=https://prefect.dados.rio/api
PREFECT__SERVER__PORT=443
VAULT_ADDRESS=https://vault.dados.rio/
VAULT_TOKEN=<token> # Valor do token do órgão para o qual você está desenvolvendo. Caso não saiba o token, entre em contato.
-
source .env -
Também garanta que o arquivo
$HOME/.prefect/auth.tomlexista e tenha um conteúdo semelhante a:
# This file is auto-generated and should not be manually edited
# Update the Prefect config or use the CLI to login instead
["prefect.dados.rio"]
api_key = "<sua-api-key>"
tenant_id = "<tenant-id>"
-
Em seguida, tenha certeza que você já tem acesso à UI do Prefect, tanto para realizar a submissão da run, como para acompanhá-la durante o processo de execução. Caso não tenha, verifique o procedimento em https://library-emd.herokuapp.com/infraestrutura/como-acessar-a-ui-do-prefect
-
Crie o arquivo
test.pycom a pipeline que deseja executar e adicione a funçãorun_cloudcom os parâmetros necessários:
from pipelines.utils import run_cloud
from pipelines.[secretaria].[pipeline].flows import flow # Complete com as infos da sua pipeline
run_cloud(
flow, # O flow que você deseja executar
labels=[
"example", # Label para identificar o agente que irá executar a pipeline (ex: rj-sme)
],
parameters = {
"param": "val", # Parâmetros que serão passados para a pipeline (opcional)
}
)
- Rode a pipeline com:
A saída deve se assemelhar ao exemplo abaixo:
[2022-02-19 12:22:57-0300] INFO - prefect.GCS | Uploading xxxxxxxx-development/2022-02-19t15-22-57-694759-00-00 to datario-public
Flow URL: http://localhost:8080/default/flow/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
└── ID: xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
└── Project: main
└── Labels: []
Run submitted, please check it at:
http://prefect-ui.prefect.svc.cluster.local:8080/flow-run/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
- (Opcional, mas recomendado) Quando acabar de desenvolver sua pipeline, delete todas as versões da mesma pela UI do Prefect.
Aviso Legal
Este documento foi gerado automaticamente com auxílio de inteligência artificial.
Este documento possui caráter meramente técnico-descritivo e pode conter erros. Para mais informações, consulte o Aviso Legal completo.