# ਸਟੋਰ ਸਥਾਨ ਡਾਟਾ ![ਇਸ ਪਾਠ ਦਾ ਇੱਕ ਸਕੈਚਨੋਟ ਝਲਕ](../../../../../translated_images/lesson-12.ca7f53039712a3ec14ad6474d8445361c84adab643edc53fa6269b77895606bb.pa.jpg) > ਸਕੈਚਨੋਟ [ਨਿਤਿਆ ਨਰਸਿੰਮਨ](https://github.com/nitya) ਦੁਆਰਾ। ਵੱਡੇ ਵਰਜਨ ਲਈ ਚਿੱਤਰ 'ਤੇ ਕਲਿੱਕ ਕਰੋ। ## ਪਾਠ-ਪਹਿਲਾਂ ਪ੍ਰਸ਼ਨਾਵਲੀ [ਪਾਠ-ਪਹਿਲਾਂ ਪ੍ਰਸ਼ਨਾਵਲੀ](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/23) ## ਪਰਿਚਯ ਪਿਛਲੇ ਪਾਠ ਵਿੱਚ, ਤੁਸੀਂ ਸਿੱਖਿਆ ਕਿ GPS ਸੈਂਸਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਥਾਨ ਡਾਟਾ ਕਿਵੇਂ ਕੈਪਚਰ ਕਰਨਾ ਹੈ। ਇਸ ਡਾਟੇ ਨੂੰ ਇੱਕ ਭੋਜਨ ਨਾਲ ਭਰੇ ਟਰੱਕ ਦੇ ਸਥਾਨ ਅਤੇ ਉਸ ਦੀ ਯਾਤਰਾ ਨੂੰ ਦਿਖਾਉਣ ਲਈ ਵਰਤਣ ਲਈ, ਇਸਨੂੰ ਕਲਾਉਡ ਵਿੱਚ ਇੱਕ IoT ਸੇਵਾ ਨੂੰ ਭੇਜਣ ਦੀ ਲੋੜ ਹੈ ਅਤੇ ਫਿਰ ਇਸਨੂੰ ਕਿਤੇ ਸਟੋਰ ਕਰਨਾ ਪਵੇਗਾ। ਇਸ ਪਾਠ ਵਿੱਚ ਤੁਸੀਂ ਸਿੱਖੋਗੇ ਕਿ IoT ਡਾਟੇ ਨੂੰ ਸਟੋਰ ਕਰਨ ਦੇ ਵੱਖ-ਵੱਖ ਤਰੀਕੇ ਕੀ ਹਨ ਅਤੇ ਸਰਵਰਲੈੱਸ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਆਪਣੇ IoT ਸੇਵਾ ਤੋਂ ਡਾਟਾ ਕਿਵੇਂ ਸਟੋਰ ਕਰਨਾ ਹੈ। ਇਸ ਪਾਠ ਵਿੱਚ ਅਸੀਂ ਕਵਰ ਕਰਾਂਗੇ: * [ਸੰਰਚਿਤ ਅਤੇ ਅਸੰਰਚਿਤ ਡਾਟਾ](../../../../../3-transport/lessons/2-store-location-data) * [GPS ਡਾਟਾ ਨੂੰ IoT ਹੱਬ 'ਤੇ ਭੇਜੋ](../../../../../3-transport/lessons/2-store-location-data) * [ਹਾਟ, ਵਾਰਮ, ਅਤੇ ਕੋਲਡ ਪਾਥ](../../../../../3-transport/lessons/2-store-location-data) * [ਸਰਵਰਲੈੱਸ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ GPS ਇਵੈਂਟਸ ਨੂੰ ਹੈਂਡਲ ਕਰੋ](../../../../../3-transport/lessons/2-store-location-data) * [ਐਜ਼ਰ ਸਟੋਰੇਜ ਅਕਾਊਂਟਸ](../../../../../3-transport/lessons/2-store-location-data) * [ਆਪਣੇ ਸਰਵਰਲੈੱਸ ਕੋਡ ਨੂੰ ਸਟੋਰੇਜ ਨਾਲ ਕਨੈਕਟ ਕਰੋ](../../../../../3-transport/lessons/2-store-location-data) ## ਸੰਰਚਿਤ ਅਤੇ ਅਸੰਰਚਿਤ ਡਾਟਾ ਕੰਪਿਊਟਰ ਸਿਸਟਮ ਡਾਟੇ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹਨ, ਅਤੇ ਇਹ ਡਾਟਾ ਵੱਖ-ਵੱਖ ਆਕਾਰਾਂ ਅਤੇ ਰੂਪਾਂ ਵਿੱਚ ਆਉਂਦਾ ਹੈ। ਇਹ ਸਿੰਗਲ ਨੰਬਰਾਂ ਤੋਂ ਲੈ ਕੇ ਵੱਡੇ ਪਾਠਾਂ, ਵੀਡੀਓਜ਼ ਅਤੇ ਚਿੱਤਰਾਂ, ਅਤੇ IoT ਡਾਟੇ ਤੱਕ ਵੱਖ-ਵੱਖ ਹੋ ਸਕਦਾ ਹੈ। ਡਾਟੇ ਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਦੋ ਸ਼੍ਰੇਣੀਆਂ ਵਿੱਚ ਵੰਡਿਆ ਜਾ ਸਕਦਾ ਹੈ - *ਸੰਰਚਿਤ* ਡਾਟਾ ਅਤੇ *ਅਸੰਰਚਿਤ* ਡਾਟਾ। * **ਸੰਰਚਿਤ ਡਾਟਾ** ਉਹ ਡਾਟਾ ਹੈ ਜਿਸਦਾ ਇੱਕ ਸਪਸ਼ਟ, ਸਖਤ ਢਾਂਚਾ ਹੁੰਦਾ ਹੈ ਜੋ ਬਦਲਦਾ ਨਹੀਂ ਹੈ ਅਤੇ ਆਮ ਤੌਰ 'ਤੇ ਡਾਟੇ ਦੀਆਂ ਟੇਬਲਾਂ ਨਾਲ ਸੰਬੰਧਿਤ ਹੁੰਦਾ ਹੈ। ਉਦਾਹਰਣ ਲਈ, ਕਿਸੇ ਵਿਅਕਤੀ ਦੇ ਵੇਰਵੇ ਜਿਵੇਂ ਕਿ ਉਸਦਾ ਨਾਮ, ਜਨਮ ਮਿਤੀ ਅਤੇ ਪਤਾ। * **ਅਸੰਰਚਿਤ ਡਾਟਾ** ਉਹ ਡਾਟਾ ਹੈ ਜਿਸਦਾ ਕੋਈ ਸਪਸ਼ਟ, ਸਖਤ ਢਾਂਚਾ ਨਹੀਂ ਹੁੰਦਾ, ਜਿਸ ਵਿੱਚ ਡਾਟੇ ਦਾ ਢਾਂਚਾ ਅਕਸਰ ਬਦਲ ਸਕਦਾ ਹੈ। ਉਦਾਹਰਣ ਲਈ, ਲਿਖਤ ਦਸਤਾਵੇਜ਼ ਜਾਂ ਸਪ੍ਰੈਡਸ਼ੀਟ। ✅ ਕੁਝ ਹੋਰ ਸੰਰਚਿਤ ਅਤੇ ਅਸੰਰਚਿਤ ਡਾਟੇ ਦੇ ਉਦਾਹਰਣ ਸੋਚੋ। > 💁 ਅਧ-ਸੰਰਚਿਤ ਡਾਟਾ ਵੀ ਹੁੰਦਾ ਹੈ ਜੋ ਸੰਰਚਿਤ ਹੁੰਦਾ ਹੈ ਪਰ ਨਿਰਧਾਰਿਤ ਟੇਬਲਾਂ ਵਿੱਚ ਫਿੱਟ ਨਹੀਂ ਹੁੰਦਾ। IoT ਡਾਟੇ ਨੂੰ ਆਮ ਤੌਰ 'ਤੇ ਅਸੰਰਚਿਤ ਡਾਟਾ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ। ਕਲਪਨਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਇੱਕ ਵੱਡੇ ਵਪਾਰਕ ਫਾਰਮ ਲਈ ਵਾਹਨਾਂ ਦੇ ਬੇੜੇ ਵਿੱਚ IoT ਡਿਵਾਈਸਾਂ ਸ਼ਾਮਲ ਕਰ ਰਹੇ ਹੋ। ਤੁਸੀਂ ਵੱਖ-ਵੱਖ ਵਾਹਨਾਂ ਲਈ ਵੱਖ-ਵੱਖ ਡਿਵਾਈਸਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਚਾਹੋਗੇ। ਉਦਾਹਰਣ ਲਈ: * ਖੇਤੀਬਾੜੀ ਵਾਲੇ ਵਾਹਨਾਂ ਜਿਵੇਂ ਕਿ ਟ੍ਰੈਕਟਰਾਂ ਲਈ ਤੁਸੀਂ GPS ਡਾਟਾ ਚਾਹੋਗੇ ਤਾਂ ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ ਕਿ ਉਹ ਸਹੀ ਖੇਤਾਂ 'ਤੇ ਕੰਮ ਕਰ ਰਹੇ ਹਨ। * ਭੋਜਨ ਨੂੰ ਗੋਦਾਮਾਂ ਤੱਕ ਲਿਜਾਣ ਵਾਲੇ ਡਿਲਿਵਰੀ ਟਰੱਕਾਂ ਲਈ ਤੁਸੀਂ GPS ਡਾਟੇ ਦੇ ਨਾਲ-ਨਾਲ ਗਤੀ ਅਤੇ ਤੀਵਰਤਾ ਡਾਟਾ ਚਾਹੋਗੇ ਤਾਂ ਜੋ ਯਾਤਰਾ ਦੀ ਸੁਰੱਖਿਆ ਨੂੰ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ, ਅਤੇ ਸਥਾਨਕ ਕਾਨੂੰਨਾਂ ਦੇ ਅਨੁਸਾਰ ਕੰਮ ਦੇ ਘੰਟਿਆਂ ਦੀ ਪਾਲਣਾ ਕਰਨ ਲਈ ਡਰਾਈਵਰ ਦੀ ਪਛਾਣ ਅਤੇ ਸ਼ੁਰੂ/ਰੋਕ ਡਾਟਾ। ✅ ਹੋਰ ਕਿਸ ਤਰ੍ਹਾਂ ਦਾ IoT ਡਾਟਾ ਕੈਪਚਰ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ? ਸੋਚੋ ਕਿ ਟਰੱਕ ਕਿਹੜੇ ਕਿਸਮ ਦੇ ਸਮਾਨ ਲਿਜਾ ਸਕਦੇ ਹਨ ਅਤੇ ਰੱਖ-ਰਖਾਵ ਡਾਟੇ ਬਾਰੇ ਵੀ ਵਿਚਾਰ ਕਰੋ। ਇਹ ਡਾਟਾ ਵਾਹਨ ਤੋਂ ਵਾਹਨ ਤੱਕ ਵੱਖ-ਵੱਖ ਹੁੰਦਾ ਹੈ, ਪਰ ਇਹ ਸਾਰਾ ਡਾਟਾ ਇੱਕੋ IoT ਸੇਵਾ ਨੂੰ ਪ੍ਰੋਸੈਸਿੰਗ ਲਈ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ। IoT ਸੇਵਾ ਨੂੰ ਇਸ ਅਸੰਰਚਿਤ ਡਾਟੇ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰਨ ਦੇ ਯੋਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਇਸਨੂੰ ਇਸ ਤਰੀਕੇ ਨਾਲ ਸਟੋਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਇਸਨੂੰ ਖੋਜਣ ਜਾਂ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰਨ ਦੇ ਯੋਗ ਬਣਾਏ, ਪਰ ਇਸ ਡਾਟੇ ਦੇ ਵੱਖ-ਵੱਖ ਢਾਂਚਿਆਂ ਨਾਲ ਕੰਮ ਕਰੇ। ### SQL ਅਤੇ NoSQL ਸਟੋਰੇਜ ਡਾਟਾਬੇਸ ਉਹ ਸੇਵਾਵਾਂ ਹਨ ਜੋ ਤੁਹਾਨੂੰ ਡਾਟੇ ਨੂੰ ਸਟੋਰ ਕਰਨ ਅਤੇ ਪੁੱਛਗਿੱਛ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦੀਆਂ ਹਨ। ਡਾਟਾਬੇਸ ਦੋ ਕਿਸਮਾਂ ਵਿੱਚ ਆਉਂਦੀਆਂ ਹਨ - SQL ਅਤੇ NoSQL। #### SQL ਡਾਟਾਬੇਸ ਪਹਿਲੇ ਡਾਟਾਬੇਸ ਰਿਲੇਸ਼ਨਲ ਡਾਟਾਬੇਸ ਮੈਨੇਜਮੈਂਟ ਸਿਸਟਮ (RDBMS) ਸਨ, ਜਾਂ ਰਿਲੇਸ਼ਨਲ ਡਾਟਾਬੇਸ। ਇਹਨਾਂ ਨੂੰ SQL ਡਾਟਾਬੇਸ ਵੀ ਕਿਹਾ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹਨਾਂ ਨਾਲ ਸੰਚਾਰ ਕਰਨ ਲਈ Structured Query Language (SQL) ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ![ਰਿਲੇਸ਼ਨਲ ਡਾਟਾਬੇਸ ਵਿੱਚ ਯੂਜ਼ਰ ਟੇਬਲ ਦੇ ID ਨੂੰ ਖਰੀਦਦਾਰੀਆਂ ਟੇਬਲ ਦੇ ਯੂਜ਼ਰ ID ਕਾਲਮ ਨਾਲ ਜੋੜਨਾ](../../../../../translated_images/sql-database.be160f12bfccefd3ca718a66468c2c4c89c53e5aad4c295324d576da87f9dfdd.pa.png) ਉਦਾਹਰਣ ਲਈ, ਜੇ ਤੁਸੀਂ ਕਿਸੇ ਯੂਜ਼ਰ ਦੇ ਵਿਅਕਤੀਗਤ ਵੇਰਵਿਆਂ ਨੂੰ ਇੱਕ ਟੇਬਲ ਵਿੱਚ ਸਟੋਰ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਹਰ ਯੂਜ਼ਰ ਲਈ ਇੱਕ ਅੰਦਰੂਨੀ ਵਿਲੱਖਣ ID ਹੋਵੇਗਾ ਜੋ ਉਸ ਯੂਜ਼ਰ ਦੇ ਨਾਮ ਅਤੇ ਪਤੇ ਵਾਲੀ ਟੇਬਲ ਵਿੱਚ ਵਰਤਿਆ ਜਾਵੇਗਾ। ✅ ਜੇ ਤੁਸੀਂ ਪਹਿਲਾਂ ਕਦੇ SQL ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ, ਤਾਂ [ਵਿਕੀਪੀਡੀਆ ਦੇ SQL ਪੰਨੇ](https://wikipedia.org/wiki/SQL) 'ਤੇ ਪੜ੍ਹੋ। #### NoSQL ਡਾਟਾਬੇਸ NoSQL ਡਾਟਾਬੇਸਾਂ ਨੂੰ NoSQL ਕਿਹਾ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹਨਾਂ ਵਿੱਚ SQL ਡਾਟਾਬੇਸਾਂ ਵਾਲਾ ਸਖਤ ਢਾਂਚਾ ਨਹੀਂ ਹੁੰਦਾ। ![NoSQL ਡਾਟਾਬੇਸ ਵਿੱਚ ਫੋਲਡਰਾਂ ਵਿੱਚ ਦਸਤਾਵੇਜ਼](../../../../../translated_images/noqsl-database.62d24ccf5b73f60d35c245a8533f1c7147c0928e955b82cb290b2e184bb434df.pa.png) NoSQL ਡਾਟਾਬੇਸਾਂ ਵਿੱਚ ਪਹਿਲੋਂ ਤੋਂ ਨਿਰਧਾਰਿਤ ਢਾਂਚਾ ਨਹੀਂ ਹੁੰਦਾ। ✅ ਕੁਝ ਪ੍ਰਸਿੱਧ NoSQL ਡਾਟਾਬੇਸਾਂ ਜਿਵੇਂ ਕਿ Azure CosmosDB, MongoDB, ਅਤੇ CouchDB ਬਾਰੇ ਪੜ੍ਹੋ। ਇਸ ਪਾਠ ਵਿੱਚ, ਤੁਸੀਂ IoT ਡਾਟੇ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ NoSQL ਸਟੋਰੇਜ ਦੀ ਵਰਤੋਂ ਕਰੋਗੇ। ## GPS ਡਾਟਾ ਨੂੰ IoT ਹੱਬ 'ਤੇ ਭੇਜੋ ਪਿਛਲੇ ਪਾਠ ਵਿੱਚ ਤੁਸੀਂ GPS ਸੈਂਸਰ ਤੋਂ ਡਾਟਾ ਕੈਪਚਰ ਕੀਤਾ। ਇਸ ਡਾਟੇ ਨੂੰ ਕਲਾਉਡ ਵਿੱਚ ਸਟੋਰ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਇਸਨੂੰ ਇੱਕ IoT ਸੇਵਾ ਨੂੰ ਭੇਜਣਾ ਪਵੇਗਾ। ![IoT ਡਿਵਾਈਸ ਤੋਂ IoT ਹੱਬ ਤੱਕ GPS ਟੈਲੀਮੇਟਰੀ ਭੇਜਣਾ](../../../../../translated_images/gps-telemetry-iot-hub.8115335d51cd2c1285d20e9d1b18cf685e59a8e093e7797291ef173445af6f3d.pa.png) ### ਕਾਰਜ - GPS ਡਾਟਾ ਨੂੰ IoT ਹੱਬ 'ਤੇ ਭੇਜੋ 1. ਫ੍ਰੀ ਟੀਅਰ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਨਵਾਂ IoT ਹੱਬ ਬਣਾਓ। > ⚠️ ਜੇ ਲੋੜ ਹੋਵੇ, ਤਾਂ [ਪ੍ਰੋਜੈਕਟ 2, ਪਾਠ 4 ਤੋਂ IoT ਹੱਬ ਬਣਾਉਣ ਦੇ ਨਿਰਦੇਸ਼ਾਂ](../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md#create-an-iot-service-in-the-cloud) ਨੂੰ ਵੇਖੋ। 1. IoT ਹੱਬ ਵਿੱਚ ਇੱਕ ਨਵਾਂ ਡਿਵਾਈਸ ਸ਼ਾਮਲ ਕਰੋ। 1. ਆਪਣੇ ਡਿਵਾਈਸ ਕੋਡ ਨੂੰ ਨਵੇਂ IoT ਹੱਬ ਨਾਲ GPS ਡਾਟਾ ਭੇਜਣ ਲਈ ਅਪਡੇਟ ਕਰੋ। > ⚠️ ਜੇ ਲੋੜ ਹੋਵੇ, ਤਾਂ [ਪ੍ਰੋਜੈਕਟ 2, ਪਾਠ 4 ਤੋਂ ਨਿਰਦੇਸ਼ਾਂ](../../../2-farm/lessons/4-migrate-your-plant-to-the-cloud/README.md#connect-your-device-to-the-iot-service) ਨੂੰ ਵੇਖੋ। 1. GPS ਡਾਟਾ ਨੂੰ JSON ਫਾਰਮੈਟ ਵਿੱਚ ਭੇਜੋ: ```json { "gps" : { "lat" : , "lon" : } } ``` 1. ਹਰ ਮਿੰਟ GPS ਡਾਟਾ ਭੇਜੋ ਤਾਂ ਜੋ ਦਿਨ ਦੀ ਸੁਨੇਹਾ ਸੀਮਾ ਪਾਰ ਨਾ ਹੋਵੇ। ## ਹਾਟ, ਵਾਰਮ, ਅਤੇ ਕੋਲਡ ਪਾਥ IoT ਡਿਵਾਈਸ ਤੋਂ ਕਲਾਉਡ ਤੱਕ ਡਾਟਾ ਹਮੇਸ਼ਾ ਤੁਰੰਤ ਪ੍ਰੋਸੈਸ ਨਹੀਂ ਹੁੰਦਾ। ### ਹਾਟ ਪਾਥ ਹਾਟ ਪਾਥ ਉਸ ਡਾਟੇ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜਿਸਨੂੰ ਤੁਰੰਤ ਜਾਂ ਲਗਭਗ ਤੁਰੰਤ ਪ੍ਰੋਸੈਸ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ### ਵਾਰਮ ਪਾਥ ਵਾਰਮ ਪਾਥ ਉਸ ਡਾਟੇ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜਿਸਨੂੰ ਕੁਝ ਸਮੇਂ ਬਾਅਦ ਪ੍ਰੋਸੈਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ### ਕੋਲਡ ਪਾਥ ਕੋਲਡ ਪਾਥ ਇਤਿਹਾਸਕ ਡਾਟੇ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ ਜੋ ਲੰਬੇ ਸਮੇਂ ਲਈ ਸਟੋਰ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ✅ ਸੋਚੋ ਕਿ ਹੁਣ ਤੱਕ ਕੈਪਚਰ ਕੀਤਾ ਡਾਟਾ ਹਾਟ, ਵਾਰਮ ਜਾਂ ਕੋਲਡ ਪਾਥ ਹੈ? ## ਸਰਵਰਲੈੱਸ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ GPS ਇਵੈਂਟਸ ਨੂੰ ਹੈਂਡਲ ਕਰੋ ਜਦੋਂ ਡਾਟਾ ਤੁਹਾਡੇ IoT ਹੱਬ ਵਿੱਚ ਆਉਣਾ ਸ਼ੁਰੂ ਹੋ ਜਾਵੇ, ਤਾਂ ਤੁਸੀਂ ਸਰਵਰਲੈੱਸ ਕੋਡ ਲਿਖ ਸਕਦੇ ਹੋ ਜੋ ਇਵੈਂਟਸ ਨੂੰ ਸੁਣਦਾ ਹੈ। ![IoT ਹੱਬ ਤੋਂ GPS ਟੈਲੀਮੇਟਰੀ ਨੂੰ ਇਵੈਂਟ ਹੱਬ ਟ੍ਰਿਗਰ ਰਾਹੀਂ ਐਜ਼ਰ ਫੰਕਸ਼ਨ ਤੱਕ ਭੇਜਣਾ](../../../../../translated_images/gps-telemetry-iot-hub-functions.24d3fa5592455e9f4e2fe73856b40c3915a292b90263c31d652acfd976cfedd8.pa.png) ### ਕਾਰਜ - ਸਰਵਰਲੈੱਸ ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ GPS ਇਵੈਂਟਸ ਨੂੰ ਹੈਂਡਲ ਕਰੋ 1. ਐਜ਼ਰ ਫੰਕਸ਼ਨ CLI ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇੱਕ ਐਜ਼ਰ ਫੰਕਸ਼ਨ ਐਪ ਬਣਾਓ। Python ਰੰਟਾਈਮ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਤੁਹਾਨੂੰ ਜ਼ਰੂਰਤ ਪੈ ਸਕਦੀ ਹੈ [Azure Functions ਪ੍ਰੋਜੈਕਟ ਬਣਾਉਣ ਲਈ ਹਦਾਇਤਾਂ, ਪ੍ਰੋਜੈਕਟ 2, ਪਾਠ 5](../../../2-farm/lessons/5-migrate-application-to-the-cloud/README.md#create-a-serverless-application) ਨੂੰ ਵੇਖਣ ਦੀ। 1. IoT Hub ਦੇ ਇਵੈਂਟ ਟ੍ਰਿਗਰ ਸ਼ਾਮਲ ਕਰੋ ਜੋ IoT Hub ਦੇ Event Hub ਕਾਮਪੈਟਿਬਲ ਐਂਡਪੌਇੰਟ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। > ⚠️ ਜੇ ਲੋੜ ਹੋਵੇ, ਤਾਂ ਤੁਸੀਂ [ਪ੍ਰੋਜੈਕਟ 2, ਪਾਠ 5 ਤੋਂ IoT Hub ਇਵੈਂਟ ਟ੍ਰਿਗਰ ਬਣਾਉਣ ਲਈ ਹਦਾਇਤਾਂ](../../../2-farm/lessons/5-migrate-application-to-the-cloud/README.md#create-an-iot-hub-event-trigger) ਨੂੰ ਵੇਖ ਸਕਦੇ ਹੋ। 1. `local.settings.json` ਫਾਈਲ ਵਿੱਚ Event Hub ਕਾਮਪੈਟਿਬਲ ਐਂਡਪੌਇੰਟ ਕਨੈਕਸ਼ਨ ਸਟ੍ਰਿੰਗ ਸੈਟ ਕਰੋ, ਅਤੇ ਇਸ ਐਂਟਰੀ ਲਈ ਕੁੰਜੀ ਨੂੰ `function.json` ਫਾਈਲ ਵਿੱਚ ਵਰਤੋਂ। 1. Azurite ਐਪ ਨੂੰ ਇੱਕ ਲੋਕਲ ਸਟੋਰੇਜ ਇਮੂਲੇਟਰ ਵਜੋਂ ਵਰਤੋਂ। 1. ਆਪਣੀ ਫੰਕਸ਼ਨ ਐਪ ਚਲਾਓ ਤਾਂ ਜੋ ਇਹ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ ਕਿ ਇਹ ਤੁਹਾਡੇ GPS ਡਿਵਾਈਸ ਤੋਂ ਇਵੈਂਟ ਪ੍ਰਾਪਤ ਕਰ ਰਹੀ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡਾ IoT ਡਿਵਾਈਸ ਵੀ ਚਲ ਰਿਹਾ ਹੈ ਅਤੇ GPS ਡਾਟਾ ਭੇਜ ਰਿਹਾ ਹੈ। ```output Python EventHub trigger processed an event: {"gps": {"lat": 47.73481, "lon": -122.25701}} ``` ## ਐਜ਼ਰ ਸਟੋਰੇਜ ਅਕਾਊਂਟਸ ![ਐਜ਼ਰ ਸਟੋਰੇਜ ਲੋਗੋ](../../../../../translated_images/azure-storage-logo.605c0f602c640d482a80f1b35a2629a32d595711b7ab1d7ceea843250615ff32.pa.png) ਐਜ਼ਰ ਸਟੋਰੇਜ ਅਕਾਊਂਟਸ ਇੱਕ ਜਨਰਲ ਪਰਪਜ਼ ਸਟੋਰੇਜ ਸੇਵਾ ਹੈ ਜੋ ਵੱਖ-ਵੱਖ ਤਰੀਕਿਆਂ ਨਾਲ ਡਾਟਾ ਸਟੋਰ ਕਰ ਸਕਦੀ ਹੈ। ਤੁਸੀਂ ਡਾਟਾ ਨੂੰ ਬਲੌਬਸ, ਕਿਊਜ਼, ਟੇਬਲਾਂ ਜਾਂ ਫਾਈਲਾਂ ਵਜੋਂ ਸਟੋਰ ਕਰ ਸਕਦੇ ਹੋ, ਅਤੇ ਇਹ ਸਭ ਇੱਕੋ ਸਮੇਂ ਕਰ ਸਕਦੇ ਹੋ। ### ਬਲੌਬ ਸਟੋਰੇਜ *ਬਲੌਬ* ਦਾ ਮਤਲਬ ਹੈ ਬਾਈਨਰੀ ਲਾਰਜ ਓਬਜੈਕਟਸ, ਪਰ ਇਹ ਕਿਸੇ ਵੀ ਅਸੰਰਚਿਤ ਡਾਟਾ ਲਈ ਇੱਕ ਸ਼ਬਦ ਬਣ ਗਿਆ ਹੈ। ਤੁਸੀਂ ਬਲੌਬ ਸਟੋਰੇਜ ਵਿੱਚ ਕੋਈ ਵੀ ਡਾਟਾ ਸਟੋਰ ਕਰ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ IoT ਡਾਟਾ ਵਾਲੇ JSON ਦਸਤਾਵੇਜ਼, ਜਾਂ ਚਿੱਤਰ ਅਤੇ ਫਿਲਮ ਫਾਈਲਾਂ। ਬਲੌਬ ਸਟੋਰੇਜ ਵਿੱਚ *ਕੰਟੇਨਰਸ* ਦਾ ਸੰਕਲਪ ਹੁੰਦਾ ਹੈ, ਜੋ ਡਾਟਾ ਸਟੋਰ ਕਰਨ ਲਈ ਨਾਮਿਤ ਬੱਕੇਟ ਹੁੰਦੇ ਹਨ, ਜੋ ਰਿਲੇਸ਼ਨਲ ਡਾਟਾਬੇਸ ਵਿੱਚ ਟੇਬਲਾਂ ਦੇ ਸਮਾਨ ਹੁੰਦੇ ਹਨ। ਇਹ ਕੰਟੇਨਰ ਇੱਕ ਜਾਂ ਵੱਧ ਫੋਲਡਰਾਂ ਰੱਖ ਸਕਦੇ ਹਨ ਜਿੱਥੇ ਬਲੌਬਸ ਸਟੋਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਅਤੇ ਹਰ ਫੋਲਡਰ ਵਿੱਚ ਹੋਰ ਫੋਲਡਰ ਹੋ ਸਕਦੇ ਹਨ, ਜਿਵੇਂ ਕਿ ਤੁਹਾਡੇ ਕੰਪਿਊਟਰ ਦੇ ਹਾਰਡ ਡਿਸਕ 'ਤੇ ਫਾਈਲਾਂ ਸਟੋਰ ਕੀਤੀਆਂ ਜਾਂਦੀਆਂ ਹਨ। ਤੁਸੀਂ ਇਸ ਪਾਠ ਵਿੱਚ IoT ਡਾਟਾ ਸਟੋਰ ਕਰਨ ਲਈ ਬਲੌਬ ਸਟੋਰੇਜ ਦੀ ਵਰਤੋਂ ਕਰੋਗੇ। ✅ ਕੁਝ ਖੋਜ ਕਰੋ: [ਐਜ਼ਰ ਬਲੌਬ ਸਟੋਰੇਜ](https://docs.microsoft.com/azure/storage/blobs/storage-blobs-overview?WT.mc_id=academic-17441-jabenn) ਬਾਰੇ ਪੜ੍ਹੋ। ### ਟੇਬਲ ਸਟੋਰੇਜ ਟੇਬਲ ਸਟੋਰੇਜ ਤੁਹਾਨੂੰ ਅਰਧ-ਸੰਰਚਿਤ ਡਾਟਾ ਸਟੋਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਟੇਬਲ ਸਟੋਰੇਜ ਅਸਲ ਵਿੱਚ ਇੱਕ NoSQL ਡਾਟਾਬੇਸ ਹੈ, ਇਸ ਲਈ ਪਹਿਲਾਂ ਤੋਂ ਟੇਬਲਾਂ ਦੇ ਪਰਿਭਾਸ਼ਿਤ ਸੈੱਟ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ, ਪਰ ਇਹ ਡਾਟਾ ਨੂੰ ਇੱਕ ਜਾਂ ਵੱਧ ਟੇਬਲਾਂ ਵਿੱਚ ਸਟੋਰ ਕਰਨ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ ਗਿਆ ਹੈ, ਹਰ ਕਤਾਰ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ ਵਿਲੱਖਣ ਕੁੰਜੀਆਂ ਦੇ ਨਾਲ। ✅ ਕੁਝ ਖੋਜ ਕਰੋ: [ਐਜ਼ਰ ਟੇਬਲ ਸਟੋਰੇਜ](https://docs.microsoft.com/azure/storage/tables/table-storage-overview?WT.mc_id=academic-17441-jabenn) ਬਾਰੇ ਪੜ੍ਹੋ। ### ਕਿਊ ਸਟੋਰੇਜ ਕਿਊ ਸਟੋਰੇਜ ਤੁਹਾਨੂੰ 64KB ਤੱਕ ਦੇ ਸੁਨੇਹੇ ਕਿਊ ਵਿੱਚ ਸਟੋਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਕਿਊ ਦੇ ਪਿੱਛੇ ਸੁਨੇਹੇ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ, ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਅੱਗੇ ਤੋਂ ਪੜ੍ਹ ਸਕਦੇ ਹੋ। ਕਿਊ ਸੁਨੇਹਿਆਂ ਨੂੰ ਅਣਮਿਟ ਸਮੇਂ ਲਈ ਸਟੋਰ ਕਰਦਾ ਹੈ ਜਦ ਤੱਕ ਸਟੋਰੇਜ ਸਪੇਸ ਉਪਲਬਧ ਹੈ, ਇਸ ਲਈ ਇਹ ਸੁਨੇਹਿਆਂ ਨੂੰ ਲੰਬੇ ਸਮੇਂ ਲਈ ਸਟੋਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਜਦ ਲੋੜ ਹੋਵੇ ਤਾਂ ਪੜ੍ਹਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਉਦਾਹਰਣ ਲਈ, ਜੇ ਤੁਸੀਂ GPS ਡਾਟਾ ਪ੍ਰੋਸੈਸ ਕਰਨ ਲਈ ਮਹੀਨਾਵਾਰ ਕੰਮ ਚਲਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇਸਨੂੰ ਹਰ ਦਿਨ ਕਿਊ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ, ਅਤੇ ਫਿਰ ਮਹੀਨੇ ਦੇ ਅੰਤ ਵਿੱਚ ਸਾਰੇ ਸੁਨੇਹਿਆਂ ਨੂੰ ਪ੍ਰੋਸੈਸ ਕਰ ਸਕਦੇ ਹੋ। ✅ ਕੁਝ ਖੋਜ ਕਰੋ: [ਐਜ਼ਰ ਕਿਊ ਸਟੋਰੇਜ](https://docs.microsoft.com/azure/storage/queues/storage-queues-introduction?WT.mc_id=academic-17441-jabenn) ਬਾਰੇ ਪੜ੍ਹੋ। ### ਫਾਈਲ ਸਟੋਰੇਜ ਫਾਈਲ ਸਟੋਰੇਜ ਕਲਾਉਡ ਵਿੱਚ ਫਾਈਲਾਂ ਦਾ ਸਟੋਰੇਜ ਹੈ, ਅਤੇ ਕੋਈ ਵੀ ਐਪਸ ਜਾਂ ਡਿਵਾਈਸ ਇੰਡਸਟਰੀ ਸਟੈਂਡਰਡ ਪ੍ਰੋਟੋਕੋਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਨੈਕਟ ਕਰ ਸਕਦੇ ਹਨ। ਤੁਸੀਂ ਫਾਈਲਾਂ ਨੂੰ ਫਾਈਲ ਸਟੋਰੇਜ ਵਿੱਚ ਲਿਖ ਸਕਦੇ ਹੋ, ਅਤੇ ਫਿਰ ਇਸਨੂੰ ਆਪਣੇ PC ਜਾਂ Mac 'ਤੇ ਇੱਕ ਡਰਾਈਵ ਵਜੋਂ ਮਾਊਂਟ ਕਰ ਸਕਦੇ ਹੋ। ✅ ਕੁਝ ਖੋਜ ਕਰੋ: [ਐਜ਼ਰ ਫਾਈਲ ਸਟੋਰੇਜ](https://docs.microsoft.com/azure/storage/files/storage-files-introduction?WT.mc_id=academic-17441-jabenn) ਬਾਰੇ ਪੜ੍ਹੋ। ## ਆਪਣੀ ਸਰਵਰਲੈੱਸ ਕੋਡ ਨੂੰ ਸਟੋਰੇਜ ਨਾਲ ਕਨੈਕਟ ਕਰੋ ਹੁਣ ਤੁਹਾਡੀ ਫੰਕਸ਼ਨ ਐਪ ਨੂੰ IoT Hub ਤੋਂ ਸੁਨੇਹਿਆਂ ਨੂੰ ਸਟੋਰ ਕਰਨ ਲਈ ਬਲੌਬ ਸਟੋਰੇਜ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ। ਇਸਨੂੰ ਕਰਨ ਦੇ 2 ਤਰੀਕੇ ਹਨ: * ਫੰਕਸ਼ਨ ਕੋਡ ਦੇ ਅੰਦਰ, ਬਲੌਬ ਸਟੋਰੇਜ ਨੂੰ ਬਲੌਬ ਸਟੋਰੇਜ ਪਾਇਥਨ SDK ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕਨੈਕਟ ਕਰੋ ਅਤੇ ਡਾਟਾ ਨੂੰ ਬਲੌਬ ਵਜੋਂ ਲਿਖੋ। * ਇੱਕ ਆਉਟਪੁੱਟ ਫੰਕਸ਼ਨ ਬਾਈਂਡਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ ਜੋ ਫੰਕਸ਼ਨ ਦੇ ਰਿਟਰਨ ਵੈਲਯੂ ਨੂੰ ਬਲੌਬ ਸਟੋਰੇਜ ਨਾਲ ਬਾਈਂਡ ਕਰਦਾ ਹੈ ਅਤੇ ਬਲੌਬ ਨੂੰ ਆਟੋਮੈਟਿਕ ਸੇਵ ਕਰਦਾ ਹੈ। ਇਸ ਪਾਠ ਵਿੱਚ, ਤੁਸੀਂ ਬਲੌਬ ਸਟੋਰੇਜ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਦੇ ਤਰੀਕੇ ਨੂੰ ਦੇਖਣ ਲਈ ਪਾਇਥਨ SDK ਦੀ ਵਰਤੋਂ ਕਰੋਗੇ। ![IoT ਡਿਵਾਈਸ ਤੋਂ GPS ਟੈਲੀਮੀਟਰੀ ਨੂੰ IoT Hub, ਫਿਰ ਇੱਕ ਇਵੈਂਟ ਹੱਬ ਟ੍ਰਿਗਰ ਰਾਹੀਂ ਐਜ਼ਰ ਫੰਕਸ਼ਨਜ਼, ਅਤੇ ਫਿਰ ਬਲੌਬ ਸਟੋਰੇਜ ਵਿੱਚ ਸੇਵ ਕਰਨਾ](../../../../../translated_images/save-telemetry-to-storage-from-functions.ed3b1820980097f143d9f0570072da11304c2bc7906359dfa075b4d9b253c20f.pa.png) ਡਾਟਾ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤੇ ਫਾਰਮੈਟ ਦੇ ਨਾਲ ਇੱਕ JSON ਬਲੌਬ ਵਜੋਂ ਸਟੋਰ ਕੀਤਾ ਜਾਵੇਗਾ: ```json { "device_id": , "timestamp" :