2
respostas

Não consigo utilizar o código passado na aula para rodar a DAG.

Quando inicio a Dag, utilizando exatamente os códigos passados na aula e também por outro instrutor aqui na comunidade (apenas atualizando com o código da minha API e também com o Código do meu job, a Dag aponta que não está funcionando a última parte do script:
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Log da DAG: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Já tentei fazer diversas modificações, mas nenhuma está solucionando o problema.

2 respostas

Olá João, tudo bem?

No Databricks, o notebook falhou porque a função extraindo_dados lança a exceção:

if response.status_code != 200:
    raise Exception("Não consegui extrair dados!!!")

Isso significa que a chamada à API (https://api.apilayer.com/exchangerates_data/{date}?base={base}) não retornou status 200. O código nunca chega a processar o JSON porque a requisição falha antes.

Notei que na sua URL você usou ?base= no lugar de &base=, o que pode ter alterado o formato esperado pela API. Peço que confira se a URL está exatamente como mostrado na aula.

Então sugiro que:

  • Revise os passos em Fazendo requisição da API, conferindo se a URL foi montada corretamente.
  • Verifique se a chave da API (apikey) está correta e válida, erros de autenticação também causam falhas.
  • Garanta que os parâmetros date e base estão sendo passados no formato certo.

Abaixo também deixo o link do repositório da aula, para você conferir:

Espero ter ajudado.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Boa noite Monalisa!

Perdão, enviei o print errado. O código que está sendo rodado no JOB do meu databricks é este aqui que dá o mesmo erro:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
O código que estou executando está com o &base= como na aula, eu estava fazendo um teste com o ?base= por indicação do gpteco.

Apenas para detalhar melhor, a minha conexão com a API parece estar funcionando já que se eu utilizar uma data definida na função ela trás os dados em Json:
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
É como se o data_execucao não estivesse funcionando no código, mas não consigo encontrar o motivo.