인프런 커뮤니티 질문&답변

nathan님의 프로필 이미지
nathan

작성한 질문수

Airflow 마스터 클래스

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

해결된 질문

작성

·

204

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) 한줄 넣어서 어떻게 나오는지 보시겠어요?

 

 

nathan님의 프로필 이미지
nathan

작성한 질문수

질문하기