Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Bug] Não consigo acessar o Airflow Standalone

Já tentei de tudo... o problema é o seguinte:

"airflow.exceptions.AirflowConfigException: Cannot use relative path: `sqlite:///~Documents/airflowalura/airflow.db` to connect to sqlite. Please use absolute path such as `sqlite:////tmp/airflow.db`."


rafaelgallonb@rgbianchi:~$ cd Documents/airflowalura
rafaelgallonb@rgbianchi:~/Documents/airflowalura$ source venv/bin/activate
(venv) rafaelgallonb@rgbianchi:~/Documents/airflowalura$ export AIRFLOW_HOME=~Documents/airflowalura
(venv) rafaelgallonb@rgbianchi:~/Documents/airflowalura$ airflow standalone
standalone | Starting Airflow Standalone
standalone | Checking database is initialized

[...]

  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/cli/cli_parser.py", line 51, in command
    return func(*args, **kwargs)
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/cli/commands/standalone_command.py", line 48, in entrypoint
    StandaloneCommand().run()
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/cli/commands/standalone_command.py", line 64, in run
    self.initialize_database()
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/cli/commands/standalone_command.py", line 172, in initialize_database
    db.initdb()
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/utils/session.py", line 71, in wrapper
    return func(*args, session=session, **kwargs)
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/utils/db.py", line 648, in initdb
    upgradedb(session=session)
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/utils/session.py", line 68, in wrapper
    return func(*args, **kwargs)
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/utils/db.py", line 1449, in upgradedb
    command.upgrade(config, revision=to_revision or 'heads')
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/alembic/command.py", line 322, in upgrade
    script.run_env()
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/alembic/script/base.py", line 569, in run_env
    util.load_python_file(self.dir, "env.py")
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/alembic/util/pyfiles.py", line 94, in load_python_file
    module = load_module_py(module_id, path)
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/alembic/util/pyfiles.py", line 110, in load_module_py
    spec.loader.exec_module(module)  # type: ignore
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/migrations/env.py", line 107, in <module>
    run_migrations_online()
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/migrations/env.py", line 101, in run_migrations_online
    context.run_migrations()
  File "<string>", line 8, in run_migrations
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/alembic/runtime/environment.py", line 853, in run_migrations
    self.get_context().run_migrations(**kw)
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/alembic/runtime/migration.py", line 623, in run_migrations
    step.migration_fn(**kw)
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/migrations/versions/0074_2_0_0_resource_based_permissions.py", line 342, in upgrade
    remap_permissions()
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/migrations/versions/0074_2_0_0_resource_based_permissions.py", line 290, in remap_permissions
    appbuilder = create_app(config={'FAB_UPDATE_PERMS': False}).appbuilder
  File "/home/rafaelgallonb/Documents/airflowalura/venv/lib/python3.9/site-packages/airflow/www/app.py", line 84, in create_app
    raise AirflowConfigException(
airflow.exceptions.AirflowConfigException: Cannot use relative path: `sqlite:///~Documents/airflowalura/airflow.db` to connect to sqlite. Please use absolute path such as `sqlite:////tmp/airflow.db`.
2 respostas
solução!

Oii, Rafael! Tudo bem?

O erro indica que o Airflow não suporta caminhos relativos para conectar ao SQLite, e ele precisa de um caminho absoluto. E logo diz que você não pode usar um caminho relativo, como sqlite:///~Documents/airflowalura/airflow.db, mas sim um caminho absoluto, como sqlite:////tmp/airflow.db.

Como sugestão, você ajustar a variável de ambiente AIRFLOW_HOME para o caminho absoluto do diretório onde você deseja que o banco de dados seja criado.

Para exemplificar, o seu está definindo AIRFLOW_HOME como ~Documents/airflowalura, mas o caminho absoluto seria /home/rafaelgallonb/Documents/airflowalura.

Então, você pode corrigir o comando de exportação da variável de ambiente para:

export AIRFLOW_HOME=/home/rafaelgallonb/Documents/airflowalura

Não esqueça de adicionar o caminho do local correto do seu diretório airflowalura.

Após fazer a alteração, tente executar novamente o comando abaixo e seguir com as aulas:

airflow standalone

Espero ter ajudado. Qualquer dúvida, compartilhe no fórum.

Bons estudos, Rafael!

Boa noite.

Entendi a lógica Nathalia, muito obrigado!

A orientação me ajudou a resolver o problema!