$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?> ਇੱਕ Azure ਫੰਕਸ਼ਨ ਤੋਂ ਇੱਕ Azure

ਇੱਕ Azure ਫੰਕਸ਼ਨ ਤੋਂ ਇੱਕ Azure Logic ਐਪ ਤੱਕ ਸਰਫੇਸ ਗਲਤੀਆਂ ਦੁਆਰਾ ਗਲਤੀ ਟਰੈਕਿੰਗ ਨੂੰ ਕਿਵੇਂ ਸੁਧਾਰਿਆ ਜਾਵੇ

Temp mail SuperHeros
ਇੱਕ Azure ਫੰਕਸ਼ਨ ਤੋਂ ਇੱਕ Azure Logic ਐਪ ਤੱਕ ਸਰਫੇਸ ਗਲਤੀਆਂ ਦੁਆਰਾ ਗਲਤੀ ਟਰੈਕਿੰਗ ਨੂੰ ਕਿਵੇਂ ਸੁਧਾਰਿਆ ਜਾਵੇ
ਇੱਕ Azure ਫੰਕਸ਼ਨ ਤੋਂ ਇੱਕ Azure Logic ਐਪ ਤੱਕ ਸਰਫੇਸ ਗਲਤੀਆਂ ਦੁਆਰਾ ਗਲਤੀ ਟਰੈਕਿੰਗ ਨੂੰ ਕਿਵੇਂ ਸੁਧਾਰਿਆ ਜਾਵੇ

ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਅਤੇ ਤਰਕ ਐਪ ਏਕੀਕਰਣ ਵਿੱਚ ਲੁਕਵੇਂ ਮੁੱਦਿਆਂ ਦਾ ਪਤਾ ਲਗਾਉਣਾ

ਇੱਕ Azure Logic ਐਪ ਅਤੇ ਇੱਕ Azure ਫੰਕਸ਼ਨ ਦੇ ਵਿਚਕਾਰ ਇੱਕ ਸਹਿਜ ਵਰਕਫਲੋ ਸਥਾਪਤ ਕਰਨ ਦੀ ਕਲਪਨਾ ਕਰੋ ਜੋ ਮਹੱਤਵਪੂਰਣ ਡੇਟਾ ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ। ਹਰ ਚੀਜ਼ ਸੁਚਾਰੂ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਦੀ ਜਾਪਦੀ ਹੈ, ਅਤੇ ਤਰਕ ਐਪ ਹਰ ਦੌੜ 'ਤੇ "ਸਫਲਤਾ" ਦੀ ਰਿਪੋਰਟ ਕਰਦਾ ਹੈ। ਪਰ, ਇੱਕ ਹਫ਼ਤੇ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਅਹਿਸਾਸ ਹੁੰਦਾ ਹੈ ਕਿ ਕੁਝ ਬੰਦ ਹੈ — ਡੇਟਾਬੇਸ ਨੂੰ ਨਵੇਂ ਰਿਕਾਰਡ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਏ ਹਨ। 🧐

ਇਹ ਦ੍ਰਿਸ਼ ਕਾਲਪਨਿਕ ਨਹੀਂ ਹੈ; ਇਹ ਇੱਕ ਅਸਲ ਚੁਣੌਤੀ ਹੈ ਜਿਸਦਾ ਬਹੁਤ ਸਾਰੇ ਡਿਵੈਲਪਰ ਕਲਾਉਡ ਵਰਕਫਲੋ ਵਿੱਚ ਸਾਹਮਣਾ ਕਰਦੇ ਹਨ। ਜਦੋਂ ਤੁਹਾਡੇ Azure ਫੰਕਸ਼ਨ ਨੂੰ ਇੱਕ ਚੁੱਪ ਗਲਤੀ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ SQL ਸਰਵਰ ਨਾਲ ਕਨੈਕਸ਼ਨ ਅਸਫਲਤਾ, ਗਲਤੀ ਅੰਦਰੂਨੀ ਤੌਰ 'ਤੇ ਫੜੀ ਜਾ ਸਕਦੀ ਹੈ ਪਰ ਕਦੇ ਵੀ Logic ਐਪ ਤੱਕ ਨਹੀਂ ਆਉਂਦੀ। ਇਸ ਨਾਲ ਖੁੰਝਿਆ ਹੋਇਆ ਡੇਟਾ, ਨਾ ਲੱਭੇ ਜਾ ਸਕਣ ਵਾਲੇ ਬੱਗ, ਅਤੇ ਡੀਬੱਗ ਕਰਨ ਵੇਲੇ ਬਹੁਤ ਜ਼ਿਆਦਾ ਨਿਰਾਸ਼ਾ ਹੋ ਸਕਦੀ ਹੈ।

ਇਸ ਤਰ੍ਹਾਂ ਦੇ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਭਾਵੇਂ ਤੁਹਾਡੀ ਫੰਕਸ਼ਨ ਐਪ ਦੀ ਕੋਸ਼ਿਸ਼-ਕੈਚ ਬਲਾਕ ਲੌਗ ਗਲਤੀਆਂ ਹਨ, ਉਹ ਤਰਕ ਐਪ ਵਿੱਚ ਦਿਖਾਈ ਨਹੀਂ ਦੇਣਗੇ ਜਦੋਂ ਤੱਕ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾਂਦਾ। ਇਸ ਲਈ, ਤੁਸੀਂ ਇਹ ਕਿਵੇਂ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹੋ ਕਿ ਤੁਹਾਡਾ ਤਰਕ ਐਪ ਇਹਨਾਂ ਤਰੁਟੀਆਂ ਨੂੰ ਕੈਪਚਰ ਕਰਦਾ ਹੈ, ਤੁਹਾਨੂੰ ਸੰਭਾਵੀ ਮੁੱਦਿਆਂ ਵਿੱਚ ਅਸਲ ਦਿੱਖ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ?

ਇਸ ਲੇਖ ਵਿੱਚ, ਅਸੀਂ ਤੁਹਾਡੇ Azure ਫੰਕਸ਼ਨ ਤੋਂ ਗਲਤੀਆਂ ਨੂੰ ਇਸ ਤਰੀਕੇ ਨਾਲ ਸੁੱਟਣ ਲਈ ਵਿਹਾਰਕ ਰਣਨੀਤੀਆਂ ਵਿੱਚ ਡੁਬਕੀ ਲਗਾਵਾਂਗੇ ਜੋ ਉਹਨਾਂ ਨੂੰ ਤਰਕ ਐਪ ਵਿੱਚ ਦਿਖਾਈ ਦੇਵੇ। ਅਸੀਂ ਚੁੱਪ ਅਸਫਲਤਾਵਾਂ ਤੋਂ ਬਚਣ ਲਈ ਕੌਂਫਿਗਰੇਸ਼ਨ ਸੁਝਾਅ, ਗਲਤੀ-ਪ੍ਰਬੰਧਨ ਪੈਟਰਨ ਅਤੇ ਵਧੀਆ ਅਭਿਆਸਾਂ ਨੂੰ ਕਵਰ ਕਰਾਂਗੇ। 💡

ਹੁਕਮ ਵਰਤੋਂ ਅਤੇ ਵਰਣਨ ਦੀ ਉਦਾਹਰਨ
SqlConnection ਖਾਸ ਕੁਨੈਕਸ਼ਨ ਪੈਰਾਮੀਟਰਾਂ ਨਾਲ SQL ਸਰਵਰ ਨਾਲ ਇੱਕ ਕਨੈਕਸ਼ਨ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਇਸ ਸੰਦਰਭ ਵਿੱਚ, ਇਹ Azure ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ ਸੁਰੱਖਿਅਤ ਕਨੈਕਸ਼ਨ ਪ੍ਰਬੰਧਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।
SqlCommand ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ ਸਿੱਧੇ SQL ਕਮਾਂਡਾਂ, ਜਿਵੇਂ ਕਿ INSERT ਜਾਂ UPDATE ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ। ਡਾਟਾ ਲਿਖਣ ਜਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ SQL ਡੇਟਾਬੇਸ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
ExecuteNonQuery() SQL ਸਟੇਟਮੈਂਟਾਂ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ ਜੋ ਡੇਟਾ ਵਾਪਸ ਨਹੀਂ ਕਰਦੇ (ਉਦਾਹਰਨ ਲਈ, INSERT, UPDATE)। ਨਤੀਜਾ ਸੈੱਟ ਦੀ ਲੋੜ ਤੋਂ ਬਿਨਾਂ ਡਾਟਾਬੇਸ ਓਪਰੇਸ਼ਨ ਕਰਨ ਲਈ ਇਹ ਵਿਧੀ ਮਹੱਤਵਪੂਰਨ ਹੈ।
ILogger ਪ੍ਰਦਰਸ਼ਨ ਅਤੇ ਗਲਤੀਆਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨ ਲਈ Azure ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ ਸੁਨੇਹਿਆਂ ਨੂੰ ਲੌਗ ਕਰਦਾ ਹੈ। ਫੰਕਸ਼ਨ ਸਥਿਤੀ ਨੂੰ ਟਰੈਕ ਕਰਨ ਅਤੇ ਖਾਸ ਅਸਫਲਤਾ ਬਿੰਦੂਆਂ ਨੂੰ ਫੜਨ ਲਈ ਉਪਯੋਗੀ।
StatusCodeResult ਕਿਸੇ ਗਲਤੀ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਕਾਲਰ (ਜਿਵੇਂ ਕਿ ਤਰਕ ਐਪ) ਨੂੰ ਖਾਸ HTTP ਸਥਿਤੀ ਕੋਡ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇੱਥੇ, ਇਹ ਫੰਕਸ਼ਨ ਨੂੰ ਸਫਲਤਾ ਜਾਂ ਅਸਫਲਤਾ ਨੂੰ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਸੰਕੇਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।
Connection.on('connect') Node.js ਖਾਸ ਇਵੈਂਟ ਲਿਸਨਰ ਜੋ ਡੇਟਾਬੇਸ ਕਨੈਕਸ਼ਨ ਸਥਾਪਤ ਹੋਣ ਤੋਂ ਬਾਅਦ ਚਾਲੂ ਹੁੰਦਾ ਹੈ। JavaScript ਦੇ ਅੰਦਰ ਕਨੈਕਸ਼ਨ ਦੀ ਸਫਲਤਾ ਜਾਂ ਅਸਫਲਤਾ ਦੀਆਂ ਘਟਨਾਵਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।
Request ਇੱਕ ਵਾਰ ਕਨੈਕਟ ਹੋਣ 'ਤੇ SQL ਸਰਵਰ ਨੂੰ SQL ਪੁੱਛਗਿੱਛਾਂ ਜਾਂ ਕਮਾਂਡਾਂ ਭੇਜਣ ਲਈ Node.js ਵਿੱਚ ਇੱਕ ਕਮਾਂਡ। ਇਸਦੀ ਵਰਤੋਂ ਇੱਥੇ ਡਾਟਾ ਸੰਮਿਲਨ ਕਮਾਂਡਾਂ ਭੇਜਣ ਅਤੇ ਗਲਤੀਆਂ ਨੂੰ ਕੈਪਚਰ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
context.log.error() JavaScript Azure ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ ਗਲਤੀਆਂ ਨੂੰ ਲੌਗ ਕਰਦਾ ਹੈ, ਖਾਸ ਮੁੱਦਿਆਂ ਜਿਵੇਂ ਕਿ ਡਾਟਾਬੇਸ ਕਨੈਕਟੀਵਿਟੀ ਜਾਂ ਕਮਾਂਡ ਦੀਆਂ ਗਲਤੀਆਂ ਦੀ ਨਿਗਰਾਨੀ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ, ਅਸਫਲਤਾਵਾਂ ਦਾ ਨਿਪਟਾਰਾ ਕਰਨ ਲਈ।
Assert.AreEqual() C# ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਵਿੱਚ ਇਹ ਤਸਦੀਕ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਸੰਭਾਵਿਤ ਅਤੇ ਅਸਲ ਮੁੱਲ ਮੇਲ ਖਾਂਦੇ ਹਨ। ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਐਰਰ ਹੈਂਡਲਿੰਗ ਫੰਕਸ਼ਨ ਟੈਸਟਿੰਗ ਦੌਰਾਨ ਇੱਛਤ ਸਥਿਤੀ ਕੋਡ ਵਾਪਸ ਕਰਦੇ ਹਨ।
Mock<ILogger> ਜਾਂਚ ਦੇ ਉਦੇਸ਼ਾਂ ਲਈ ILogger ਦੀ ਇੱਕ ਮਖੌਲੀ ਉਦਾਹਰਣ ਬਣਾਉਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਸਾਨੂੰ ਅਸਲ ਲੌਗਿੰਗ ਬੁਨਿਆਦੀ ਢਾਂਚੇ 'ਤੇ ਭਰੋਸਾ ਕੀਤੇ ਬਿਨਾਂ ਯੂਨਿਟ ਟੈਸਟਾਂ ਵਿੱਚ ਲੌਗਿੰਗ ਦੀ ਨਕਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮਿਲਦੀ ਹੈ।

Azure ਫੰਕਸ਼ਨ ਅਸਫਲਤਾਵਾਂ ਤੋਂ ਤਰਕ ਐਪਸ ਵਿੱਚ ਗਲਤੀ ਦੀ ਦਿੱਖ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ

ਸਥਿਤੀਆਂ ਵਿੱਚ ਜਿੱਥੇ ਇੱਕ ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਡਾਟਾਬੇਸ ਓਪਰੇਸ਼ਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਗਲਤੀ ਦਿੱਖ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦੀ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਇਹ ਫੰਕਸ਼ਨਾਂ ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਹੁੰਦੇ ਹਨ Azure Logic ਐਪਸ. ਉਪਰੋਕਤ ਉਦਾਹਰਨ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਅਜਿਹੇ ਵਾਤਾਵਰਣ ਦੀ ਨਕਲ ਕਰਨ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿੱਥੇ Azure ਫੰਕਸ਼ਨ ਇੱਕ ਡੇਟਾਬੇਸ ਸੰਮਿਲਨ ਕਰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਸਮੱਸਿਆ ਪੈਦਾ ਹੋਣ 'ਤੇ ਇੱਕ ਗਲਤੀ ਸੁੱਟਦਾ ਹੈ — ਜਿਵੇਂ ਕਿ ਇੱਕ ਡੇਟਾਬੇਸ ਕਨੈਕਸ਼ਨ ਅਸਫਲਤਾ। ਜਦੋਂ ਇਹ ਤਰੁੱਟੀਆਂ ਹੁੰਦੀਆਂ ਹਨ, ਤਾਂ ਫੰਕਸ਼ਨ ਉਹਨਾਂ ਨੂੰ ਇੱਕ ਕੋਸ਼ਿਸ਼-ਕੈਚ ਬਲਾਕ ਵਿੱਚ ਫੜਦਾ ਹੈ ਅਤੇ ਅਸਫਲਤਾ ਦਾ ਸੰਕੇਤ ਦੇਣ ਲਈ ਇੱਕ HTTP ਸਥਿਤੀ ਕੋਡ (ਜਿਵੇਂ 500) ਵਾਪਸ ਕਰਦਾ ਹੈ। ਇਹ ਸਥਿਤੀ ਕੋਡ ਰਨ ਨੂੰ ਸਫਲ ਵਜੋਂ ਮਾਰਕ ਕਰਨ ਦੀ ਬਜਾਏ, ਕਾਲਿੰਗ ਲੌਜਿਕ ਐਪ ਨੂੰ ਸਮੱਸਿਆ ਦਾ ਪਤਾ ਲਗਾਉਣ ਦਿੰਦਾ ਹੈ। ਇਸ ਪਹੁੰਚ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਡਿਵੈਲਪਰ ਸੰਭਾਵੀ ਬੈਕਐਂਡ ਸਮੱਸਿਆਵਾਂ ਦੀ ਸਮਝ ਪ੍ਰਾਪਤ ਕਰਦੇ ਹਨ, ਆਊਟੇਜ ਜਾਂ ਡੇਟਾਬੇਸ ਐਕਸੈਸ ਮੁੱਦਿਆਂ ਲਈ ਤੇਜ਼ ਜਵਾਬਾਂ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ। 👨‍💻

C# ਫੰਕਸ਼ਨ SqlConnection ਨਾਲ SQL ਸਰਵਰ ਨਾਲ ਇੱਕ ਕੁਨੈਕਸ਼ਨ ਸਥਾਪਤ ਕਰਕੇ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। ਕਨੈਕਸ਼ਨ ਸਤਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਇਹ ਇੱਕ ਕੁਨੈਕਸ਼ਨ ਖੋਲ੍ਹਣ ਅਤੇ ਇੱਕ SQL ਕਮਾਂਡ ਚਲਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ। ਸਾਡੇ ਉਦਾਹਰਨ ਵਿੱਚ, ExecuteNonQuery ਦੀ ਵਰਤੋਂ ਡੇਟਾਬੇਸ ਵਿੱਚ ਰਿਕਾਰਡ ਪਾਉਣ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਹਾਲਾਂਕਿ, ਜੇਕਰ ਕੋਈ ਗਲਤੀ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਜਦੋਂ ਕੋਈ ਉਪਭੋਗਤਾ ਗੁੰਮ ਹੈ ਜਾਂ ਉਸ ਕੋਲ ਨਾਕਾਫ਼ੀ ਅਨੁਮਤੀਆਂ ਹਨ, ਤਾਂ ਇੱਕ ਅਪਵਾਦ ਸੁੱਟਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਅਪਵਾਦ ਕੈਚ ਬਲਾਕ ਦੁਆਰਾ ਫੜਿਆ ਗਿਆ ਹੈ, ਜਿੱਥੇ ILogger ਸਮੱਸਿਆ-ਨਿਪਟਾਰਾ ਕਰਨ ਲਈ ਗਲਤੀ ਸੁਨੇਹਾ ਲੌਗ ਕਰਦਾ ਹੈ। ਫੰਕਸ਼ਨ ਫਿਰ ਇੱਕ StatusCodeResult(500) ਵਾਪਸ ਕਰਦਾ ਹੈ, ਤਰਕ ਐਪ ਨੂੰ ਗਲਤੀ ਸਥਿਤੀ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਫੰਕਸ਼ਨ ਕਾਲ ਨੂੰ ਅਸਫਲ ਵਜੋਂ ਮਾਰਕ ਕਰਦਾ ਹੈ। ਇਹ ਫੀਡਬੈਕ ਵਿਧੀ ਚੁੱਪ ਅਸਫਲਤਾਵਾਂ ਤੋਂ ਬਚਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ, ਜਿਸਦਾ ਨਤੀਜਾ ਵਰਕਫਲੋ ਵਿੱਚ ਬਿਨਾਂ ਕਿਸੇ ਚੇਤਾਵਨੀ ਦੇ ਡੇਟਾ ਵਿੱਚ ਅੰਤਰ ਹੋਵੇਗਾ। 💥

JavaScript ਫੰਕਸ਼ਨ ਵਿੱਚ, ਪਹੁੰਚ ਸਮਾਨ ਹੈ, ਹਾਲਾਂਕਿ Node.js ਲਈ ਅਨੁਕੂਲਿਤ ਹੈ। ਫੰਕਸ਼ਨ ਇੱਕ SQL ਸਰਵਰ ਕੁਨੈਕਸ਼ਨ ਸਥਾਪਤ ਕਰਨ ਲਈ ਟੇਡੀਅਸ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। connect.on('connect') ਇਵੈਂਟ ਲਿਸਨਰ ਉਦੋਂ ਚਾਲੂ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਡਾਟਾਬੇਸ ਕਨੈਕਸ਼ਨ ਸਥਾਪਤ ਹੁੰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਸਾਨੂੰ ਡਾਟਾ ਸੰਮਿਲਿਤ ਕਰਨ ਲਈ SQL ਕਮਾਂਡ ਨੂੰ ਚਲਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਮਿਲਦੀ ਹੈ। ਜੇਕਰ ਕਨੈਕਸ਼ਨ ਜਾਂ ਸੰਮਿਲਨ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ, ਤਾਂ context.log.error ਸਮੱਸਿਆ ਨੂੰ ਲੌਗ ਕਰਦੀ ਹੈ, ਅਤੇ ਇੱਕ HTTP 500 ਸਥਿਤੀ ਕੋਡ ਵਾਲਾ ਜਵਾਬ ਵਾਪਸ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਹ ਕੋਡ ਤਰਕ ਐਪ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਫੰਕਸ਼ਨ ਵਿੱਚ ਇੱਕ ਸਮੱਸਿਆ ਆਈ ਹੈ, ਇੱਕ ਵਿਆਪਕ ਵਰਕਫਲੋ ਵਿੱਚ ਤਰੁੱਟੀ ਟਰੈਕਿੰਗ ਨੂੰ ਵਧੇਰੇ ਭਰੋਸੇਮੰਦ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਮਾਡਯੂਲਰਿਟੀ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਫੰਕਸ਼ਨ ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਅਤੇ ਅਨੁਕੂਲ ਹੋਣ ਯੋਗ ਹਨ, ਭਾਵੇਂ ਵੱਖ-ਵੱਖ ਬੈਕਐਂਡ ਸੰਰਚਨਾਵਾਂ ਜਾਂ ਲੌਗਿੰਗ ਵਿਧੀਆਂ ਦੀ ਲੋੜ ਹੋਵੇ।

ਇਸ ਤੋਂ ਇਲਾਵਾ, C# ਉਦਾਹਰਨ ਵਿੱਚ MSTest ਫਰੇਮਵਰਕ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਯੂਨਿਟ ਟੈਸਟ ਸ਼ਾਮਲ ਹਨ। ਯੂਨਿਟ ਟੈਸਟ ਇਹ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਵਿੱਚ ਇੱਕ ਮੁੱਖ ਭੂਮਿਕਾ ਨਿਭਾਉਂਦੇ ਹਨ ਕਿ ਫੰਕਸ਼ਨ ਦੀ ਗਲਤੀ-ਪ੍ਰਬੰਧਨ ਤਰਕ ਇਰਾਦੇ ਅਨੁਸਾਰ ਕੰਮ ਕਰਦਾ ਹੈ। ਟੈਸਟ ਇੱਕ ਦ੍ਰਿਸ਼ ਦੀ ਨਕਲ ਕਰਦਾ ਹੈ ਜਿੱਥੇ ਇੱਕ ਗਲਤੀ ਸੁੱਟੀ ਜਾਂਦੀ ਹੈ, ਇਹ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਫੰਕਸ਼ਨ ਜਵਾਬ ਵਿੱਚ ਇੱਕ 500 ਸਥਿਤੀ ਕੋਡ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਟੈਸਟ ਵਿੱਚ ILogger ਦਾ ਮਜ਼ਾਕ ਉਡਾਉਣਾ ਸਾਨੂੰ ਅਸਲ ਲਾਗਿੰਗ ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਦੀ ਲੋੜ ਤੋਂ ਬਿਨਾਂ ਲੌਗਸ ਦੀ ਜਾਂਚ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ, ਟੈਸਟ ਆਈਸੋਲੇਸ਼ਨ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ। ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਬੈਕਐਂਡ ਵਿਕਾਸ ਵਿੱਚ ਇੱਕ ਕੀਮਤੀ ਅਭਿਆਸ ਹੈ, ਖਾਸ ਤੌਰ 'ਤੇ ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਅਤੇ ਲੋਜਿਕ ਐਪ ਏਕੀਕਰਣਾਂ ਲਈ, ਜਿੱਥੇ ਅਣ-ਹੈਂਡਲ ਕੀਤੀਆਂ ਗਲਤੀਆਂ ਦਾ ਪੂਰੇ ਵਰਕਫਲੋਜ਼ 'ਤੇ ਪ੍ਰਭਾਵ ਪੈ ਸਕਦਾ ਹੈ। ਇਹ ਢਾਂਚਾਗਤ ਗਲਤੀ-ਪ੍ਰਬੰਧਨ ਪਹੁੰਚ ਆਖਰਕਾਰ ਵਧੇਰੇ ਮਜ਼ਬੂਤ ​​ਕਲਾਉਡ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਆਸਾਨ ਸਮੱਸਿਆ-ਨਿਪਟਾਰਾ ਵੱਲ ਲੈ ਜਾਂਦੀ ਹੈ।

ਤਰਕ ਐਪਸ ਵਿੱਚ ਸਰਫੇਸ ਮੁੱਦਿਆਂ ਲਈ ਅਜ਼ੂਰ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਗਲਤੀ ਨੂੰ ਸੰਭਾਲਣਾ ਲਾਗੂ ਕਰਨਾ

C# ਬੈਕਐਂਡ ਹੱਲ ਦੇ ਨਾਲ Azure ਫੰਕਸ਼ਨ ਜੋ ਕਾਲਿੰਗ Azure Logic ਐਪ ਦੁਆਰਾ ਫੜੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਸੁੱਟਦਾ ਹੈ

// This code demonstrates a C# Azure Function designed to throw an error
// that can be caught by an Azure Logic App.
// The script uses structured error handling to ensure clear reporting in the Logic App.

using System;
using System.IO;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using System.Data.SqlClient;

public static class MyFunction
{
    [FunctionName("MyFunction")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Function, "post", Route = null)] HttpRequest req,
        ILogger log)
    {
        log.LogInformation("MyFunction triggered.");
        try
        {
            // Simulating database operation
            using (SqlConnection connection = new SqlConnection("YourConnectionStringHere"))
            {
                connection.Open();
                var command = new SqlCommand("INSERT INTO Table (Column) VALUES (Value);", connection);
                command.ExecuteNonQuery();
            }
            return new OkObjectResult("Data inserted successfully");
        }
        catch (SqlException ex)
        {
            log.LogError($"Database error: {ex.Message}");
            return new StatusCodeResult(StatusCodes.Status500InternalServerError);
        }
        catch (Exception ex)
        {
            log.LogError($"General error: {ex.Message}");
            return new StatusCodeResult(StatusCodes.Status500InternalServerError);
        }
    }
}

ਐਜ਼ੂਰ ਫੰਕਸ਼ਨ (ਜਾਵਾ ਸਕ੍ਰਿਪਟ ਹੱਲ) ਵਿੱਚ ਗਲਤੀਆਂ ਨੂੰ ਸੰਕੇਤ ਕਰਨ ਲਈ HTTP ਸਥਿਤੀ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

Azure Logic ਐਪ ਵਿੱਚ ਫਲੈਗ ਕੀਤੀਆਂ ਜਾਣ ਵਾਲੀਆਂ ਤਰੁੱਟੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ Node.js ਬੈਕਐਂਡ ਫੰਕਸ਼ਨ

// This JavaScript function handles database operations and triggers an error response
// with an HTTP 500 status code if a failure occurs, allowing the Logic App to detect it.

const { Connection, Request } = require('tedious');

module.exports = async function (context, req) {
    context.log('JavaScript Azure Function triggered.');
    try {
        const config = {
            server: "YourServerHere",
            authentication: {
                type: "default",
                options: {
                    userName: "username",
                    password: "password"
                }
            }
        };

        const connection = new Connection(config);
        connection.on('connect', err => {
            if (err) {
                context.log.error('Database connection error', err);
                context.res = { status: 500, body: "Database connection error" };
                return;
            }

            const request = new Request("INSERT INTO Table (Column) VALUES ('Value')", err => {
                if (err) {
                    context.log.error('Database insert error', err);
                    context.res = { status: 500, body: "Database insert error" };
                } else {
                    context.res = { status: 200, body: "Data inserted successfully" };
                }
            });
            connection.execSql(request);
        });
        connection.connect();
    } catch (error) {
        context.log.error('General error', error);
        context.res = { status: 500, body: "General error occurred" };
    }
};

C# Azure ਫੰਕਸ਼ਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟ

ਗਲਤੀ ਹੈਂਡਲਿੰਗ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ MSTest ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ C# Azure ਫੰਕਸ਼ਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟ

using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;

[TestClass]
public class MyFunctionTests
{
    [TestMethod]
    public async Task Run_ShouldReturn500_OnSqlException()
    {
        var mockLogger = new Mock<ILogger>();
        var request = new DefaultHttpContext().Request;

        // Act - Call the function
        var response = await MyFunction.Run(request, mockLogger.Object);

        // Assert
        Assert.IsInstanceOfType(response, typeof(StatusCodeResult));
        Assert.AreEqual(500, (response as StatusCodeResult)?.StatusCode);
    }
}

ਭਰੋਸੇਮੰਦ ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ-ਲੌਜਿਕ ਐਪ ਏਕੀਕਰਣ ਲਈ HTTP ਸਥਿਤੀ ਕੋਡ ਅਤੇ ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦੀਆਂ ਨੀਤੀਆਂ ਦਾ ਲਾਭ ਉਠਾਉਣਾ

ਬਣਾਉਣ ਲਈ ਅਕਸਰ ਅਣਦੇਖੀ ਪਰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਰਣਨੀਤੀਆਂ ਵਿੱਚੋਂ ਇੱਕ ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਅਤੇ ਤਰਕ ਐਪ ਏਕੀਕਰਣ ਵਧੇਰੇ ਭਰੋਸੇਮੰਦ ਹੈ HTTP ਸਥਿਤੀ ਕੋਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਅਤੇ ਨੀਤੀਆਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨਾ। ਜਦੋਂ ਇੱਕ Azure ਫੰਕਸ਼ਨ ਇੱਕ ਖਾਸ HTTP ਸਥਿਤੀ ਕੋਡ ਵਾਪਸ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਅਸਫਲਤਾ ਲਈ 500, ਤਾਂ Logic ਐਪ ਇਸਨੂੰ ਇੱਕ ਗਲਤੀ ਦੇ ਰੂਪ ਵਿੱਚ ਵਿਆਖਿਆ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਉਸ ਅਨੁਸਾਰ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰ ਸਕਦਾ ਹੈ। ਇਹ ਵਿਵਹਾਰ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਕਿ ਅਸਫਲਤਾਵਾਂ ਦਾ ਧਿਆਨ ਨਾ ਦਿੱਤਾ ਜਾਵੇ, ਇੱਥੋਂ ਤੱਕ ਕਿ ਅਸਿੰਕ੍ਰੋਨਸ ਵਰਕਫਲੋ ਵਿੱਚ ਵੀ। ਤਰੁੱਟੀਆਂ ਨੂੰ ਦ੍ਰਿਸ਼ਮਾਨ ਬਣਾ ਕੇ, ਤੁਸੀਂ ਇਹ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹੋ ਕਿ ਡਾਟਾ ਅਸੰਗਤਤਾਵਾਂ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਹੱਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਉੱਚ ਪੱਧਰੀ ਡਾਟਾ ਇਕਸਾਰਤਾ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। 💾

ਵਿਚਾਰ ਕਰਨ ਲਈ ਇੱਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਹੈ ਤਰਕ ਐਪਸ ਵਿੱਚ ਬਿਲਟ-ਇਨ ਮੁੜ ਕੋਸ਼ਿਸ਼ ਨੀਤੀ। ਜੇਕਰ ਕੋਈ ਅਸਥਾਈ ਗਲਤੀ ਆਉਂਦੀ ਹੈ ਤਾਂ ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਕਾਲਾਂ ਨੂੰ ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਤਰਕ ਐਪ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਗਲਤੀ ਅਸਥਾਈ ਹੁੰਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਨੈਟਵਰਕ ਕਨੈਕਟੀਵਿਟੀ ਸਮੱਸਿਆਵਾਂ ਜਾਂ ਸਰਵਰ ਡਾਊਨਟਾਈਮ। ਜਦੋਂ ਫੰਕਸ਼ਨ ਤੋਂ ਸਪਸ਼ਟ ਤਰੁਟੀ ਸਿਗਨਲ ਦੇ ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦੀਆਂ ਨੀਤੀਆਂ ਵਰਕਫਲੋ ਵਿੱਚ ਲਚਕੀਲਾਪਣ ਸ਼ਾਮਲ ਕਰਦੀਆਂ ਹਨ, ਮੈਨੂਅਲ ਦਖਲਅੰਦਾਜ਼ੀ ਨੂੰ ਘੱਟ ਕਰਦੀਆਂ ਹਨ। ਮੂਲ ਰੂਪ ਵਿੱਚ, ਤਰਕ ਐਪ ਚਾਰ ਵਾਰ ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ, ਪਰ ਫੰਕਸ਼ਨ ਦੀਆਂ ਲੋੜਾਂ ਦੇ ਅਧਾਰ 'ਤੇ ਇਹਨਾਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਅਨੁਕੂਲਿਤ ਕਰਨਾ ਗਲਤੀ ਪ੍ਰਬੰਧਨ ਪ੍ਰਕਿਰਿਆ 'ਤੇ ਵਧੇਰੇ ਨਿਯੰਤਰਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।

ਇਸ ਤੋਂ ਇਲਾਵਾ, ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਅਤੇ ਲਾਜਿਕ ਐਪ ਦੋਵਾਂ ਲਈ ਵਾਧੂ ਲੌਗਿੰਗ ਜੋੜਨਾ ਕਿਸੇ ਵੀ ਸੰਭਾਵੀ ਅਸਫਲਤਾ ਬਿੰਦੂਆਂ ਦਾ ਸਪਸ਼ਟ ਦ੍ਰਿਸ਼ ਪ੍ਰਦਾਨ ਕਰ ਸਕਦਾ ਹੈ। ਫੰਕਸ਼ਨ ਵਿੱਚ ਵਿਸਤ੍ਰਿਤ ਤਰੁਟੀ ਸੁਨੇਹਿਆਂ ਨੂੰ ਲੌਗ ਕਰਕੇ (ਜਿਵੇਂ ਕਿ ਡੇਟਾਬੇਸ ਕਨੈਕਸ਼ਨ ਮੁੱਦੇ), ਅਤੇ ਤਰਕ ਐਪ ਨੂੰ ਤਰੁੱਟੀਆਂ 'ਤੇ ਸੂਚਨਾਵਾਂ ਭੇਜਣ ਲਈ ਕੌਂਫਿਗਰ ਕਰਕੇ, ਤੁਸੀਂ ਇੱਕ ਨਿਗਰਾਨੀ ਹੱਲ ਬਣਾਉਂਦੇ ਹੋ ਜੋ ਤੁਹਾਨੂੰ ਸੂਚਿਤ ਕਰਦਾ ਹੈ। ਇਹ ਪਹੁੰਚ ਉਤਪਾਦਨ ਵਾਤਾਵਰਣ ਵਿੱਚ ਭਰੋਸੇਯੋਗ ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ, ਜਿੱਥੇ ਚੁੱਪ ਅਸਫਲਤਾਵਾਂ ਮਹੱਤਵਪੂਰਨ ਡਾਟਾ ਨੁਕਸਾਨ ਜਾਂ ਡਾਊਨਟਾਈਮ ਦਾ ਕਾਰਨ ਬਣ ਸਕਦੀਆਂ ਹਨ। 🛠️

ਲਾਜਿਕ ਐਪਸ ਨਾਲ ਐਜ਼ੂਰ ਫੰਕਸ਼ਨ ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ 'ਤੇ ਆਮ ਸਵਾਲ

  1. ਮੈਂ ਇਹ ਕਿਵੇਂ ਯਕੀਨੀ ਬਣਾ ਸਕਦਾ ਹਾਂ ਕਿ Logic ਐਪ ਮੇਰੇ Azure ਫੰਕਸ਼ਨ ਤੋਂ ਤਰੁੱਟੀਆਂ ਨੂੰ ਫੜਦਾ ਹੈ?
  2. ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਤਰਕ ਐਪ ਗਲਤੀਆਂ ਨੂੰ ਫੜਦਾ ਹੈ, ਇੱਕ HTTP ਸਥਿਤੀ ਕੋਡ ਵਾਪਸ ਕਰੋ, ਜਿਵੇਂ ਕਿ 500, ਜਦੋਂ Azure ਫੰਕਸ਼ਨ ਇੱਕ ਤਰੁੱਟੀ ਦਾ ਸਾਹਮਣਾ ਕਰਦਾ ਹੈ। ਇਹ ਤਰਕ ਐਪ ਨੂੰ ਜਵਾਬ ਨੂੰ ਅਸਫਲਤਾ ਦੇ ਰੂਪ ਵਿੱਚ ਵਿਆਖਿਆ ਕਰਨ ਦਿੰਦਾ ਹੈ।
  3. ਕੀ ਮੈਂ ਗਲਤੀ ਨਾਲ ਨਜਿੱਠਣ ਲਈ ਆਪਣੇ ਤਰਕ ਐਪ ਵਿੱਚ ਮੁੜ ਕੋਸ਼ਿਸ਼ ਨੀਤੀ ਸ਼ਾਮਲ ਕਰ ਸਕਦਾ ਹਾਂ?
  4. ਹਾਂ, ਤਰਕ ਐਪਾਂ ਸੰਰਚਨਾਯੋਗ ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਨੀਤੀਆਂ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਆਪਣੇ Azure ਫੰਕਸ਼ਨ ਦੇ ਸੰਭਾਵਿਤ ਵਿਵਹਾਰ ਦੇ ਆਧਾਰ 'ਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦੀਆਂ ਕੋਸ਼ਿਸ਼ਾਂ ਅਤੇ ਅੰਤਰਾਲਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰ ਸਕਦੇ ਹੋ।
  5. Azure ਫੰਕਸ਼ਨ ਵਿੱਚ ਸਟ੍ਰਕਚਰਡ ਲੌਗਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਨ ਦੇ ਕੀ ਫਾਇਦੇ ਹਨ?
  6. ਸਟ੍ਰਕਚਰਡ ਲੌਗਿੰਗ, ਜਿਵੇਂ ਕਿ ILogger, ਤੁਹਾਨੂੰ ਵਿਸਤ੍ਰਿਤ ਤਰੁਟੀ ਸੁਨੇਹਿਆਂ ਨੂੰ ਕੈਪਚਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਜੋ ਤੁਹਾਡੇ ਵਰਕਫਲੋ ਵਿੱਚ ਖਾਸ ਮੁੱਦਿਆਂ ਦੀ ਨਿਗਰਾਨੀ ਅਤੇ ਨਿਪਟਾਰਾ ਕਰਨ ਲਈ ਵਰਤੇ ਜਾ ਸਕਦੇ ਹਨ।
  7. ਕੀ ਮੈਨੂੰ ਆਪਣੇ Azure ਫੰਕਸ਼ਨ ਵਿੱਚ HTTP 200 ਜਵਾਬਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਭਾਵੇਂ ਕੋਈ ਗਲਤੀ ਹੋਵੇ?
  8. ਨਹੀਂ, ਵਰਤ ਕੇ HTTP 200 ਗਲਤੀਆਂ ਲਈ ਤਰਕ ਐਪ ਫੰਕਸ਼ਨ ਦੀ ਸਥਿਤੀ ਦੀ ਗਲਤ ਵਿਆਖਿਆ ਕਰ ਸਕਦਾ ਹੈ। ਇਸਦੀ ਬਜਾਏ, ਅਸਫਲਤਾਵਾਂ ਲਈ ਇੱਕ ਢੁਕਵਾਂ ਗਲਤੀ ਸਥਿਤੀ ਕੋਡ, ਜਿਵੇਂ 500, ਵਾਪਸ ਕਰੋ।
  9. ਮੈਂ ਇੱਕ Azure ਫੰਕਸ਼ਨ ਵਿੱਚ ਕੁਨੈਕਸ਼ਨ ਸਮੱਸਿਆਵਾਂ ਦਾ ਨਿਪਟਾਰਾ ਕਿਵੇਂ ਕਰਾਂ?
  10. SQL ਕਨੈਕਟੀਵਿਟੀ ਅਤੇ ਅਨੁਮਤੀਆਂ ਦੀ ਜਾਂਚ ਕਰੋ। ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ SqlConnection ਅਤੇ ਇਸ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਲੌਗ ਕਰਨ ਨਾਲ ਕਨੈਕਸ਼ਨ-ਸਬੰਧਤ ਮੁੱਦਿਆਂ ਦੀ ਪਛਾਣ ਕਰਨ ਵਿੱਚ ਮਦਦ ਮਿਲਦੀ ਹੈ, ਜਿਵੇਂ ਕਿ ਇਜਾਜ਼ਤ ਤੋਂ ਇਨਕਾਰ ਜਾਂ ਸਰਵਰ ਦੀ ਪਹੁੰਚਯੋਗਤਾ।
  11. ਕੀ ਹੁੰਦਾ ਹੈ ਜੇਕਰ ਤਰਕ ਐਪ ਗਲਤੀ ਦਾ ਸਹੀ ਪਤਾ ਨਹੀਂ ਲਗਾਉਂਦਾ?
  12. ਜੇਕਰ ਕਿਸੇ ਤਰੁੱਟੀ ਦਾ ਪਤਾ ਨਹੀਂ ਲੱਗਿਆ ਹੈ, ਤਾਂ ਸਾਰੇ ਜਵਾਬਾਂ ਨੂੰ ਲੌਗ ਕਰਨ ਲਈ ਤਰਕ ਐਪ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰੋ ਜਾਂ ਮੁੱਦਿਆਂ ਦੀ ਵਧੇਰੇ ਸਟੀਕਤਾ ਨਾਲ ਪਛਾਣ ਕਰਨ ਲਈ ਸਥਿਤੀ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਇਹ ਪਹੁੰਚ ਫੰਕਸ਼ਨ ਗਲਤੀਆਂ ਲਈ ਤਰਕ ਐਪ ਦੇ ਜਵਾਬ ਨੂੰ ਵਧਾਉਂਦੀ ਹੈ।
  13. ਕੀ ਮੈਂ ਗਲਤੀ ਸੰਕੇਤ ਦੇਣ ਲਈ ਇੱਕ ਕਸਟਮ HTTP ਸਥਿਤੀ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦਾ ਹਾਂ?
  14. ਹਾਂ, ਜਦਕਿ 500 ਸਰਵਰ ਤਰੁਟੀਆਂ ਲਈ ਮਿਆਰੀ ਹੈ, ਜੇਕਰ ਉਹ ਤੁਹਾਡੇ ਵਰਕਫਲੋ ਦੇ ਅਨੁਕੂਲ ਹੋਣ ਤਾਂ ਤੁਸੀਂ ਦੂਜੇ ਸਟੇਟਸ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ, ਪਰ ਗਲਤ ਵਿਆਖਿਆਵਾਂ ਤੋਂ ਬਚਣ ਲਈ ਇਕਸਾਰ ਰਹੋ।
  15. JavaScript-ਅਧਾਰਿਤ Azure ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਮੇਰੇ ਕੋਲ ਕਿਹੜੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਦੇ ਵਿਕਲਪ ਹਨ?
  16. ਵਰਤੋ context.log.error() ਲਾਗਿੰਗ ਲਈ ਅਤੇ status JavaScript-ਅਧਾਰਿਤ ਫੰਕਸ਼ਨਾਂ ਲਈ ਤਰਕ ਐਪਸ ਵਿੱਚ ਟ੍ਰਿਗਰ ਐਰਰ ਹੈਂਡਲਿੰਗ ਦੇ ਜਵਾਬਾਂ ਵਿੱਚ ਖੇਤਰ।
  17. ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਨੀਤੀ Azure ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਡੇਟਾ ਇਕਸਾਰਤਾ ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀ ਹੈ?
  18. ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦੀਆਂ ਨੀਤੀਆਂ ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਨੂੰ ਕਈ ਵਾਰ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਇਸ ਲਈ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਕੋਈ ਵੀ ਓਪਰੇਸ਼ਨ, ਜਿਵੇਂ ਕਿ ExecuteNonQuery(), ਤੁਹਾਡੇ ਡੇਟਾਬੇਸ ਵਿੱਚ ਡੁਪਲੀਕੇਟ ਐਂਟਰੀਆਂ ਤੋਂ ਬਚਣ ਲਈ ਅਯੋਗ ਹੈ।
  19. ਫੰਕਸ਼ਨ ਵਿੱਚ ਗਲਤੀਆਂ ਹੋਣ ਦੇ ਬਾਵਜੂਦ ਵੀ ਮੇਰੀ ਲਾਜਿਕ ਐਪ ਸਫਲ ਰਨ ਕਿਉਂ ਦਿਖਾਉਂਦੀ ਹੈ?
  20. ਜੇਕਰ Azure ਫੰਕਸ਼ਨ ਵਾਪਸ ਆਉਂਦਾ ਹੈ HTTP 200 ਤਰੁੱਟੀਆਂ ਦੇ ਬਾਵਜੂਦ, ਤਰਕ ਐਪ ਇਸਨੂੰ ਸਫਲਤਾ ਦੇ ਰੂਪ ਵਿੱਚ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ। ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ StatusCodeResult ਇੱਕ ਅਸਫਲਤਾ ਕੋਡ ਭੇਜਣਾ ਇਸ ਵਿਵਹਾਰ ਨੂੰ ਠੀਕ ਕਰੇਗਾ.
  21. ਅਜ਼ੂਰ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਅਸ਼ੁੱਧੀ ਨੂੰ ਸੰਭਾਲਣ ਵਿੱਚ ਯੂਨਿਟ ਟੈਸਟ ਕਿਵੇਂ ਮਦਦ ਕਰ ਸਕਦੇ ਹਨ?
  22. ਯੂਨਿਟ ਟੈਸਟ ਤੁਹਾਨੂੰ ਗਲਤੀਆਂ ਦੀ ਨਕਲ ਕਰਕੇ ਅਤੇ ਫੰਕਸ਼ਨ ਸਹੀ ਸਥਿਤੀ ਕੋਡ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਾਂ ਨਹੀਂ, ਇਸਦੀ ਜਾਂਚ ਕਰਕੇ ਗਲਤੀ ਸੰਭਾਲਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ StatusCodeResult(500), ਮਜਬੂਤ ਤਰਕ ਐਪ ਏਕੀਕਰਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ।

ਮਜਬੂਤ ਗਲਤੀ ਨਾਲ ਨਜਿੱਠਣ ਦੁਆਰਾ ਵਰਕਫਲੋ ਭਰੋਸੇਯੋਗਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ

ਇੱਕ Azure ਫੰਕਸ਼ਨ ਅਤੇ ਇੱਕ ਤਰਕ ਐਪ ਦੇ ਵਿਚਕਾਰ ਪ੍ਰਭਾਵੀ ਤਰੁੱਟੀ ਨੂੰ ਸੰਭਾਲਣਾ ਬਿਹਤਰ ਦਿੱਖ ਅਤੇ ਮੁੱਦਿਆਂ ਦੇ ਤੇਜ਼ ਜਵਾਬ ਲਈ ਸਹਾਇਕ ਹੈ। ਤਰਕ ਐਪ ਨੂੰ ਗਲਤੀਆਂ ਲਈ ਸਹੀ HTTP ਸਥਿਤੀ ਕੋਡ ਵਾਪਸ ਕਰਨਾ ਸੰਕੇਤ ਦਿੰਦਾ ਹੈ ਕਿ ਇੱਕ ਗਲਤੀ ਆਈ ਹੈ, ਇਸ ਨੂੰ ਉਸ ਅਨੁਸਾਰ ਜਵਾਬ ਦੇਣ ਦੇ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ। ਸਟ੍ਰਕਚਰਡ ਲੌਗਿੰਗ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦੀਆਂ ਨੀਤੀਆਂ ਇਸ ਭਰੋਸੇਯੋਗਤਾ ਦਾ ਹੋਰ ਸਮਰਥਨ ਕਰਦੀਆਂ ਹਨ।

Azure ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ ਵਿਸਤ੍ਰਿਤ ਲੌਗਿੰਗ ਅਤੇ ਢਾਂਚਾਗਤ ਜਵਾਬਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਨਿਰਵਿਘਨ, ਵਧੇਰੇ ਭਰੋਸੇਮੰਦ ਵਰਕਫਲੋ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ। ਜਦੋਂ ਮੁੜ-ਕੋਸ਼ਿਸ਼ ਨੀਤੀਆਂ ਦੇ ਨਾਲ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਸੈੱਟਅੱਪ ਸਾਈਲੈਂਟ ਅਸਫਲਤਾਵਾਂ ਨੂੰ ਘੱਟ ਕਰਦਾ ਹੈ, ਡਾਟਾ ਨੂੰ ਫਲੋਇੰਗ ਅਤੇ ਸਿਸਟਮ ਨੂੰ ਚਾਲੂ ਰੱਖਦਾ ਹੈ। ਇਹਨਾਂ ਰਣਨੀਤੀਆਂ ਦੇ ਨਾਲ, ਟੀਮਾਂ ਸਮੇਂ ਦੀ ਬਚਤ ਕਰ ਸਕਦੀਆਂ ਹਨ ਅਤੇ ਵਿਸ਼ਵਾਸ ਨਾਲ ਸਿਸਟਮ ਦੀ ਸਿਹਤ ਨੂੰ ਬਣਾਈ ਰੱਖ ਸਕਦੀਆਂ ਹਨ। 🚀

ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਐਰਰ ਹੈਂਡਲਿੰਗ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
  1. ਵਿੱਚ ਵਿਸਤ੍ਰਿਤ ਜਾਣਕਾਰੀ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਅਜ਼ੂਰ ਫੰਕਸ਼ਨ ਅਤੇ ਤਰਕ ਐਪਸ ਏਕੀਕਰਣ, ਗਲਤੀ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਵਧੀਆ ਅਭਿਆਸਾਂ ਸਮੇਤ। ਮਾਈਕ੍ਰੋਸਾੱਫਟ ਅਜ਼ੁਰ ਫੰਕਸ਼ਨ ਡੌਕੂਮੈਂਟੇਸ਼ਨ
  2. ਤਰਕ ਐਪਸ ਵਿੱਚ ਹੈਂਡਲਿੰਗ ਅਤੇ ਨਿਗਰਾਨੀ ਗਲਤੀਆਂ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ HTTP-ਟਰਿੱਗਰ ਕੀਤੇ ਫੰਕਸ਼ਨਾਂ ਲਈ। ਮਾਈਕ੍ਰੋਸਾੱਫਟ ਲਾਜਿਕ ਐਪਸ ਦਸਤਾਵੇਜ਼
  3. ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਦੀਆਂ ਨੀਤੀਆਂ, ਸਥਿਤੀ ਕੋਡ, ਅਤੇ Azure ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਲੌਗਿੰਗ ਦੀ ਭੂਮਿਕਾ ਬਾਰੇ ਮਾਰਗਦਰਸ਼ਨ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦਾ ਹੈ। ਅਜ਼ੂਰ ਆਰਕੀਟੈਕਚਰ ਵਧੀਆ ਅਭਿਆਸ
  4. ਡਾਟਾਬੇਸ ਕਨੈਕਸ਼ਨ ਦੀਆਂ ਤਰੁੱਟੀਆਂ ਨੂੰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਕੈਪਚਰ ਕਰਨ ਅਤੇ ਟਰੇਸ ਕਰਨ ਲਈ Azure ਫੰਕਸ਼ਨਾਂ ਦੇ ਅੰਦਰ ਢਾਂਚਾਗਤ ਲੌਗਿੰਗ ਪਹੁੰਚਾਂ ਦੀ ਚਰਚਾ ਕਰਦਾ ਹੈ। ਅਜ਼ੁਰ ਮਾਨੀਟਰ ਲੌਗਸ