작성
·
34
답변 1
0
위에서 얻은 ti 라는 객체는 kwargs['ti'] 에서 얻은 객체인데 kwargs 라는 딕셔너리에서 "ti" key에 해당하는 value 값을 뽑은 것입니다. 우리는 ti key에 무엇이 있는지 알고 있지만, 프로그램 입장에서는 런타임시에 알 수 있으므로 vscode 에서 코드를 개발할 때에는 ti 객체가 어떤 타입인지 알 수 없습니다. 그래서 IDE 에서 자동완성 기능을 제공하지 못하는 것이구요.
IDE에서 자동완성 도움을 받으려면 ti객체에 대한 타입을 지정해주면 가능할 것 같습니다.
from airflow.models import TaskInstance
@task()
def xxxx(**kwargs):
ti: TaskInstance = kwargs['ti']
위처럼 ti 객체에 대한 타입 힌트를 주면 IDE 툴에서 ti 변수에 대한 타입을 알 수 있으니 자동완성 기능 도움도 받을 수 있을 듯 합니다.
이 문제는 딕셔너리에서 키 값으로 뽑아오는 밸류의 정확한 타입을 런타임시에 알 수 있다는 한계점 때문에 extention으로는 해결이 어려울 것 같아요.
답변이 되었을까요?
답변감사합니다