We use Airflow variables heavily.
from airflow.models import Variable
# Load an environment variable as a string
ENV = Variable.get('ENV').strip()
# Load an environment variable as JSON and access a JSON field named
PLATFORM
PLATFORM = 'EP'
SSH_KEY = Variable.get('ep_platform_ssh_keys',
deserialize_json=True)[PLATFORM]
You can put this code in your dag file or in any python code your dag file
imports.
-s
On Mon, Jun 19, 2017 at 4:11 AM, Rob Harrison <[email protected]> wrote:
> Hi,
>
> I would like to pass a variable to my airflow dag and would like to know if
> there is a recommended method for doing this.
>
> I am hoping to create a dag with python operators and tasks that read data
> from a parquet table, perform a calculation then write the results into a
> new table. I'd like to pass the source table name in along with the task
> when calling the dag from the command line.
>
> From what I have read, the following can be used to read a variable from
> the command line:
>
> airflow variables -s myvar="value"
>
> Does anyone have an example of this they can share?
>
> Thank you,
> Rob
>