Bird
Raised Fist0
Apache Airflowdevops~20 mins

Connection management for cloud services in Apache Airflow - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Cloud Connection Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Understanding Airflow Connections for Cloud Services

What is the primary purpose of using Airflow Connections when working with cloud services?

ATo write Python code that interacts with cloud APIs directly inside DAGs.
BTo schedule DAG runs at specific times automatically.
CTo securely store and manage credentials and connection details for cloud services.
DTo monitor the health of cloud services in real-time.
Attempts:
2 left
💡 Hint

Think about how Airflow keeps sensitive information safe and reusable.

💻 Command Output
intermediate
1:30remaining
Output of Listing Airflow Connections

What is the output of the following command if you have one connection named 'aws_default' configured?

airflow connections list
AA table listing connection IDs including 'aws_default' with its type and extra info.
BAn error saying 'command not found'.
CA blank output with no connections listed.
DA JSON string with connection details.
Attempts:
2 left
💡 Hint

Think about what the 'list' command shows in Airflow CLI.

❓ Configuration
advanced
2:00remaining
Correct Airflow Connection URI for Google Cloud Storage

Which of the following is the correct Airflow connection URI format to connect to Google Cloud Storage using a service account JSON key file?

Agoogle-cloud-platform://?extra__google_cloud_platform__key_path=/path/to/key.json
Bgcp://service_account.json
Cgs://service_account.json
Dgoogle://keyfile=/path/to/key.json
Attempts:
2 left
💡 Hint

Look for the correct prefix and how extra parameters are passed in Airflow connection URIs.

❓ Troubleshoot
advanced
2:00remaining
Troubleshooting Airflow Connection Authentication Failure

You have set up an Airflow connection to AWS but your DAG fails with an authentication error. Which of the following is the most likely cause?

AThe AWS region is not specified in the DAG code.
BThe AWS access key and secret key are missing or incorrect in the Airflow connection configuration.
CThe Airflow scheduler is not running.
DThe DAG file is missing the import statement for the AWS hook.
Attempts:
2 left
💡 Hint

Authentication errors usually relate to credentials.

🔀 Workflow
expert
2:30remaining
Best Practice Workflow for Managing Cloud Service Connections in Airflow

Which workflow correctly describes the best practice for managing cloud service connections securely and efficiently in Airflow?

AUse public cloud credentials without restrictions to simplify connection setup.
BHardcode credentials in DAG files for easy access and version control.
CStore credentials in plain text files on the Airflow server and read them in DAGs.
DStore credentials in Airflow Connections, use environment variables for sensitive info, and restrict access to Airflow UI and metadata DB.
Attempts:
2 left
💡 Hint

Think about security and maintainability in managing credentials.

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