शुरू करेंमुफ़्त में शुरू करें

यूज़र इनपुट के लिए सुरक्षित तरीका चुनना

एक पाइपलाइन यूज़र कॉन्फ़िगरेशन से product name लेती है ताकि SQL क्वेरी को फ़िल्टर किया जा सके। आपके सहकर्मी दो तरीके सुझाते हैं:

Approach A params (Jinja rendering) का उपयोग करता है:

SQLExecuteQueryOperator(
    sql="SELECT * FROM orders WHERE product = '{{ params.product }}'",
    params={"product": user_input},
)

Approach B parameters (DB-level binding) का उपयोग करता है:

SQLExecuteQueryOperator(
    sql="SELECT * FROM orders WHERE product = $product",
    parameters={"product": user_input},
)

जब product name untrusted user input से आता है, तो कौन सा तरीका injection-safe है?

यह अभ्यास पाठ्यक्रम का हिस्सा है

Airflow के साथ Data Pipelines बनाना

पाठ्यक्रम देखें

इंटरैक्टिव व्यावहारिक अभ्यास

हमारे इंटरैक्टिव अभ्यासों में से किसी एक के साथ सिद्धांत को व्यवहार में बदलें

अभ्यास शुरू करें