Python으로 Slack 봇 만들기 - Bigquery python으로 접근, 데이터 읽기


Firebase에 있는 데이터들을 쿼리문을 통해 조작해서 슬랙 봇으로 매일매일 같은 시간에 업로드 하는 일을 맡게 되었다.

자료를 찾아봤을 때 생각보다 더 이상 작동하지 않는 방법도 많고, 업데이트 되는 것들이 생기면서 정리하면 좋을 것 같아서 글을 쓴다.

어쩌다 python으로 슬랙 봇을 만들게 되었는지, bigquery를 이용해서 데이터를 바로 python으로 가져오는지, 어떤 문제를 개선해서 굳이 python으로 슬랙 봇을 개발하게 되었는지 서두로 정리하려고 한다.

만약에 바로 개발하는 단계를 보려면 서두를 건너뛰면 좋을 것 같다.

서두

하고자 했던 것

bigquery를 이용하여 쿼리문을 통해 뽑아낸 데이터들을 슬랙 봇에 매일 특정 시간에 업로드 하기!

처음에 시도했던 방식

Third party를 이용하는 방법이었다. 코드로 굳이 구현해야 할 필요도 없고, 서버도 굳이 따로 가지고 있을 필요가 없다. 하지만 굉장히 귀찮고 번거롭다.

처음 방식을 설명하자면 다음과 같다.

1. Google spreadsheet를 만든다.

2. Google spreadsheet에 Bigquery를 연동한다.

이 방법도 두 가지가 존재한다. 하지만 특별한 경우가 아니면 하나의 방법밖에 사용할 수 밖에 없을 것이다. ^^

  1. image <- 이 계정을 가지고 있는 사람이 아니라면 방법은 2번밖에 없다. 참고로 나는 위의 계정이 아니었기 떄문에 image <- 이런 방법은 실행해볼 수도 없었다.

  2. OWOX third party 이용하기.

image 구글 스프레드 시트 상단 메뉴에 보면 부가기능 메뉴 > OWOX BigQuery 어쩌구를 선택하면 Bigquery를 이용해서 데이터들을 바로 스프레드 시트로 불러올 수 있다.

처음에는 OWOX가 안 보일 텐데 그러면 부가기능 설치하기 / 관리하기에서 OWOX를 검색하고 다운 받으면 된다.