• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    해결됨

섹션 7 custom operator 실습 질문 (variable)

23.12.30 01:14 작성 조회수 124

0

선생님 안녕하세요

좋은 강의 감사드립니다.

 

섹션 7 custom operator 실습 강의에서 계속 오류가 나서, 이런 저런 시도를 해보던 도중에 variable 에 문제가 있다는 것을 알고 수정해서 해결을 했는데요. 강의대로 했는데 안되는 이유를 모르겠습니다.

 

아래는 저의seoul_api_to_csv_operator.py 파일인데요

 

class SeoulApiToCsvOperator(BaseOperator):

template_fields = ('endpoint', 'path','file_name','base_dt')

def init(self, dataset_nm, path, file_name, base_dt=None, **kwargs):

super().__init__(**kwargs)

self.http_conn_id = 'openapi.seoul.go.kr'

self.path = path

self.file_name = file_name

self.endpoint = '{{var.value.apikey_openapi_seoul_go_kr}}/json/' + dataset_nm

self.base_dt = base_dt

 

self.endpoint = '{{var.value.apikey_openapi_seoul_go_kr}}/json/' + dataset_nm 부분을

self.endpoint = 'api key 직접 입력/json' + dataset_nm 으로 바꾸니까 코드가 정상적으로 실행이 되었습니다.

 

그런데 이해가 안되는것이 airflow admin --> variable 에 들어가서 강의에 나오는대로 그대로 입력을 했거든요. Val 부분에 정확한 api key가 입력된 것도 수차례 확인했습니다.

 

어디에서 문제가 있는걸까요??

 

답변 1

답변을 작성해보세요.

0

안녕하세요 nathan님!

우선 올려주신것만으로는 트러블 슈팅이 쉽지는 않은 상황이라

def execute(context) 함수 정의 시작 바로 아래에

print(self.endpoint) 한줄 넣어서 어떻게 나오는지 보시겠어요?