2017-05-18 1 views

Répondre

2

Créez une classe qui étend EmrAddStepsOperator et créez steps un champ modèle.

Quelque chose comme ceci:

class MyEmrAddStepsOperator(EmrAddStepsOperator): 

    template_fields = ['job_flow_id','steps'] 

EmrAddStepsOperator a lui-même que job_flow_id comme un champ basé sur un modèle:

class EmrAddStepsOperator(BaseOperator): 
    """ 
    An operator that adds steps to an existing EMR job_flow. 
    :param job_flow_id: id of the JobFlow to add steps to 
    :type job_flow_name: str 
    :param aws_conn_id: aws connection to uses 
    :type aws_conn_id: str 
    :param steps: boto3 style steps to be added to the jobflow 
    :type steps: list 
    """ 
    template_fields = ['job_flow_id'] 

Vous ne pouvez utiliser des macros (comme ds) dans des domaines qui sont templated.

+1

Merci! Désolé pour cette question stupide, seulement avec cette petite variation, Dois-je définir _init_ et exécuter dans cette classe étendue? – ebertbm

+0

Ne devrait pas avoir à ajouter quoi que ce soit – jhnclvr