Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Erro no twitter_hook.py

Estou tendo o seguinte(s) problema(s) ao tentar executar o TwitterHook. Algum direcionamento? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

https://cursos.alura.com.br/forum/topico-erro-no-twitter_hook-py-196222

Olá, Renan! Tudo bem com você?

Realizei alguns testes aqui e obtive esse erro quando o BEARER TOKEN gerado pela API está diferente do inserido em sua Connection no campo extra do twitter_default.

Tente gerar um outro BEARER TOKEN e atualizar o campo extra. Você pode está gerando isso no seu dashboard do Developer Portal da seguinte forma: Tela em fundo branco do Developer Portal na guia de Dashboard. Nessa tela há algumas informações como os projetos desenvolvidos, nesse caso existe somente um chamado DataPipeline, há também o grau de permissão, que nesse caso é "Elevated". Há uma um símbolo de chave no canto inferior direito no campo "DEVELOPMENT APP" e dentro do APP "piExtraction" e uma seta na cor vermelha oferecendo destaque para essa opção.

Tela em fundo branco de "Keys and tokens" do APP "piExtraction". Há duas opções para gerar novamente algumas chaves de autenticação em "Consumer Keys" e "Authentication Tokens".  Há uma seta na cor vermelha em "Regenerate" em "Bearer Token" dentro de "Authentication Tokens".

Depois de gerado novamente o BEARER TOKEN, você vai nas suas Connections (Para isso clique em "Admin" na barra superior e depois "Connections") do Airflow e clica em editar na conexão "twitter_default":

Tela em fundo branco das Connections do airflow. Há uma listagem de todas as conexões. Há uma seta na cor vermelha apontando para a opção de "editar" da conexão "twitter_default"

Vai aparecer a tela para colocar as informações de alguns campos, preencha conforme a imagem abaixo, no campo Extra coloque o novo BEARER TOKEN gerado anteriormente. Após isso clique em Save.

Tela em fundo branco para edição da conexão twitter_default. Há algumas informações preechidas como: conn id = twitter_default, Conn Type  = HTTP, Host  = https://api.twitter.com e Extra = {"Authorization": "Bearer {bearer token gerado}"}

Outro detalhe é não esquecer de exportar a variável de ambiente export AIRFLOW_HOME=$(pwd)/airflow todas as vezes antes de inicializar o Airflow com o comando airflow webserver e airflow scheduler, como mostrado nessa aula. Não esquecer também de exportar a variável de ambiente export BEARER_TOKEN={seu_bearer_token} todas as vezes antes de rodar o script, conforme exemplificado nessa aula.

Verifique se o que foi mostrado aqui resolve seu problema, caso ainda não resolva pode nos retornar por aqui oferecendo mais alguns detalhes, como seu código twitter_hook.py, print das informações da sua conexão “twitter_default” e do seu terminal, caso tenha apresentado mais algum erro, para sermos mais assertivos na resposta.

Espero ter ajudado, mas caso tenha ficado alguma dúvida estou sempre à disposição.

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