Bird
Raised Fist0
Apache Airflowdevops~5 mins

Connection management for cloud services in Apache Airflow - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a connection in Apache Airflow?
A connection in Airflow stores the information needed to connect to external systems like cloud services, databases, or APIs. It includes details like host, login, password, and extra parameters.
Click to reveal answer
beginner
How do you add a new cloud service connection in Airflow UI?
Go to Admin > Connections, click the '+' button, fill in the connection details such as Conn Id, Conn Type (e.g., Google Cloud, AWS), host, login, password, and extra JSON parameters, then save.
Click to reveal answer
intermediate
What is the purpose of the 'Extra' field in Airflow connections?
The 'Extra' field stores additional JSON-formatted parameters needed for the connection, like project IDs, scopes, or authentication keys for cloud services.
Click to reveal answer
intermediate
How can you use a connection in an Airflow DAG?
You reference the connection by its Conn Id in operators or hooks. Airflow uses the stored credentials to authenticate and interact with the cloud service during task execution.
Click to reveal answer
beginner
Why is managing connections centrally in Airflow beneficial?
It keeps sensitive credentials secure and separate from code, allows easy updates without changing DAGs, and promotes reuse of connection info across multiple tasks and DAGs.
Click to reveal answer
Where do you manage cloud service connections in Airflow?
ADAG Editor
BAdmin > Connections
CTask Logs
DPlugins
What format is used in the 'Extra' field for connection parameters?
AJSON
BYAML
CPlain text
DXML
Which Airflow component uses the connection information during task execution?
AHook or Operator
BExecutor
CScheduler
DWebserver
Why should credentials be stored in Airflow connections instead of hardcoded in DAGs?
ATo speed up task execution
BTo improve code readability
CTo reduce DAG size
DTo keep credentials secure and separate from code
Which of these is NOT a typical connection type in Airflow for cloud services?
AGoogle Cloud
BAWS
CFTP Server
DAzure
Explain how Airflow manages connections to cloud services and why this is important.
Think about how Airflow separates connection info from code.
You got /4 concepts.
    Describe the steps to add a new AWS connection in Airflow UI.
    Focus on the UI path and required fields.
    You got /5 concepts.

      Practice

      (1/5)
      1. What is the main purpose of managing connections in Airflow for cloud services?
      easy
      A. To manually enter credentials every time a task runs
      B. To write custom code for each cloud service login
      C. To store cloud login details securely and reuse them in tasks
      D. To disable cloud service access in Airflow

      Solution

      1. Step 1: Understand connection management role

        Connection management stores credentials securely so tasks can access cloud services without exposing secrets.
      2. Step 2: Identify reuse benefit

        Reusing connections avoids repeating credentials in multiple tasks, making workflows cleaner and safer.
      3. Final Answer:

        To store cloud login details securely and reuse them in tasks -> Option C
      4. Quick Check:

        Secure storage + reuse = A [OK]
      Hint: Connections store credentials once for many tasks [OK]
      Common Mistakes:
      • Thinking credentials must be typed in each task
      • Assuming connections are only for UI use
      • Believing connections disable cloud access
      2. Which command correctly adds a Google Cloud connection named 'gcp_default' in Airflow CLI?
      easy
      A. airflow connections add 'gcp_default' --conn-type google_cloud_platform --conn-extra '{"extra__google_cloud_platform__key_path":"/path/key.json"}'
      B. airflow add connection gcp_default --type gcp --extra '{"key_path":"/path/key.json"}'
      C. airflow connections create gcp_default --type google --extra '{"key":"/path/key.json"}'
      D. airflow connection add gcp_default --conn-type gcp --conn-extra '{"key_path":"/path/key.json"}'

      Solution

      1. Step 1: Recall correct Airflow CLI syntax

        The command to add connections is 'airflow connections add' followed by connection id and parameters.
      2. Step 2: Match correct flags and JSON format

        airflow connections add 'gcp_default' --conn-type google_cloud_platform --conn-extra '{"extra__google_cloud_platform__key_path":"/path/key.json"}' uses '--conn-type google_cloud_platform' and properly formatted JSON for extra parameters, matching Airflow docs.
      3. Final Answer:

        airflow connections add 'gcp_default' --conn-type google_cloud_platform --conn-extra '{"extra__google_cloud_platform__key_path":"/path/key.json"}' -> Option A
      4. Quick Check:

        Correct command syntax = C [OK]
      Hint: Use 'airflow connections add' with correct flags [OK]
      Common Mistakes:
      • Using 'airflow add connection' instead of 'connections add'
      • Wrong JSON key names in --conn-extra
      • Missing quotes around JSON string
      3. Given this Airflow DAG snippet using a connection ID 'aws_conn', what will happen if the connection is missing?
      from airflow.providers.amazon.aws.operators.s3 import S3ListOperator
      
      list_s3 = S3ListOperator(
          task_id='list_s3',
          bucket='my-bucket',
          aws_conn_id='aws_conn'
      )
      medium
      A. The task will create a new connection automatically
      B. The task will fail with a connection not found error
      C. The task will skip without error
      D. The task will run using default AWS credentials

      Solution

      1. Step 1: Understand connection usage in operator

        The operator uses 'aws_conn_id' to find credentials. If missing, it cannot authenticate.
      2. Step 2: Predict behavior on missing connection

        Airflow raises an error when a required connection is not found, causing task failure.
      3. Final Answer:

        The task will fail with a connection not found error -> Option B
      4. Quick Check:

        Missing connection causes failure = D [OK]
      Hint: Missing connection ID causes task failure [OK]
      Common Mistakes:
      • Assuming default credentials are used automatically
      • Thinking task skips if connection missing
      • Believing Airflow auto-creates connections
      4. You added a connection with the command:
      airflow connections add 'azure_default' --conn-type azure --conn-extra '{"tenantId":"abc","clientId":"123"}'
      But your tasks fail to authenticate. What is the likely mistake?
      medium
      A. The JSON keys in --conn-extra are missing the 'extra__azure__' prefix
      B. The connection type should be 'azure_cosmos' not 'azure'
      C. The connection ID should not be quoted
      D. The command should use 'airflow connection add' instead of 'connections add'

      Solution

      1. Step 1: Check connection type and extra format

        Azure connections require extra keys prefixed with 'extra__azure__' to be recognized properly.
      2. Step 2: Identify JSON key format error

        Missing prefix in JSON keys causes Airflow to ignore credentials, leading to authentication failure.
      3. Final Answer:

        The JSON keys in --conn-extra are missing the 'extra__azure__' prefix -> Option A
      4. Quick Check:

        Correct extra key format fixes auth = B [OK]
      Hint: Use 'extra__service__' prefix in --conn-extra keys [OK]
      Common Mistakes:
      • Using wrong connection type name
      • Not prefixing JSON keys correctly
      • Wrong CLI command syntax
      5. You want to securely manage multiple cloud connections (AWS, GCP, Azure) in Airflow and reuse them in different DAGs. Which approach is best?
      hard
      A. Use environment variables only and avoid Airflow connections
      B. Hardcode credentials in each DAG file for each cloud service
      C. Store all credentials in a single connection with mixed cloud keys
      D. Create separate connections for each cloud service using Airflow UI or CLI, then reference their IDs in tasks

      Solution

      1. Step 1: Understand best practice for connection management

        Separate connections per cloud service keep credentials organized and secure.
      2. Step 2: Recognize reuse and security benefits

        Referencing connection IDs in tasks avoids duplication and keeps secrets out of code.
      3. Final Answer:

        Create separate connections for each cloud service using Airflow UI or CLI, then reference their IDs in tasks -> Option D
      4. Quick Check:

        Separate connections + reuse = A [OK]
      Hint: Use separate connections per cloud, reference by ID [OK]
      Common Mistakes:
      • Hardcoding credentials in DAGs
      • Mixing all credentials in one connection
      • Avoiding Airflow connections for secrets
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard