# నిల్వ స్థలం డేటా ![ఈ పాఠం యొక్క స్కెచ్‌నోట్ అవలోకనం](../../../../../translated_images/te/lesson-12.ca7f53039712a3ec.webp) > స్కెచ్‌నోట్ [నిత్య నరసింహన్](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 డేటా వరకు ఉండవచ్చు. సాధారణంగా డేటాను రెండు వర్గాల్లో విభజించవచ్చు - *సంఘటిత* డేటా మరియు *అసంఘటిత* డేటా. * **సంఘటిత డేటా** అనేది ఒక క్రమబద్ధీకృత, కఠిన నిర్మాణం కలిగి ఉంటుంది, ఇది మారదు మరియు సాధారణంగా డేటా పట్టికలకు మ్యాపింగ్ అవుతుంది. ఉదాహరణకు ఒక వ్యక్తి పేరు, పుట్టిన తేదీ మరియు చిరునామా. * **అసంఘటిత డేటా** అనేది ఒక ఖచ్చితమైన నిర్మాణం లేనిది, తరచూ నిర్మాణం మారే డేటాను కూడా కలిగి ఉంటుంది. ఉదాహరణకు వ్రాసిన డాక్యుమెంట్లు లేదా స్ప్రెడ్షీట్‌లు. ✅ పరిశోధన చేయండి: ఇతర సంఘటిత మరియు అసంఘటిత డేటా ఉదాహరణలు మీరు గుర్తించవచ్చా? > 💁 అర్థ సన్నిహిత (semi-structured) డేటా కూడా ఉంటుంది, ఇది నిర్మితమైనది కానీ స్థిరమైన పట్టికల్లో సరిపోనిది IoT డేటా సాధారణంగా అసంఘటిత డేటాగా పరిగణించబడుతుంది. మీరు పెద్ద వాణిజ్య వ్యవసాయానికి వాహనాల ఫ్లీట్‌కు IoT పరికరాలు జోడిస్తుంటే ఊహించండి. వేరే రకాల వాహనాలకు వేరే పరికరాలు అవసరం కావచ్చు. ఉదాహరణకు: * వ్యవసాయ వాహనాల కోసం (ఉదా. ట్రాక్టర్లు) మీరు GPS డేటా కావాలి, అవి సరైన క్షేత్రాల్లో పని చేస్తున్నాయో లేదో తెలుసుకోవడానికి * ఆహారాన్ని గోడౌన్లకు పంపించే ట్రక్కులకు GPS డేటా, వేగం మరియు ఆక్సిలరేషన్ డేటా అవసరం, డ్రైవర్ సురక్షితంగా నడిపిస్తున్నాడో లేదో నిర్ధారించడానికి; డ్రైవ్ ఐడెంటిటీ మొదలైనவை కూడా * ఫ్రీజర్ ఉన్న ట్రక్కులకు లోపల ఉష్ణోగ్రత డేటా అవసరం, ఆహారం ప్రయాణంలో వేడికాలు అతి ఎక్కువ లేదా తಗ್ಗకుండా నిరోధించడానికి ఈ డేటా తరచూ మారుతుంది. ఉదాహరణకు, IoT పరికరం ట్రక్కు కేబిన్లో ఉంటే, ట్రైలర్ మారినప్పుడు అది పంపించే డేటా కూడా మారవచ్చు, ఉదా. ఫ్రీజర్ ట్రైలర్ వాడినప్పుడు మాత్రమె ఉష్ణోగ్రత డేటాను పంపడం. ✅ ఇంకెన్ని IoT డేటా తెలుస్తుంది? ట్రక్కు తీసుకునే సర్వ రకాల లోడ్లను, అలాగే నిర్వహణ డేటాను గురించి ఆలోచించండి. ఈ డేటా వాహనాలకీకీ వేరే వేరుగా ఉంటుంది, కానీ అందరం అదే IoT సేవకు పంపబడుతుంది. ఈ IoT సేవను ఈ అసంఘటిత డేటాను ప్రాసెస్ చేయగలగాలి, వేర్వేరు నిర్మాణాలతో కూడిన డేటాను వెతకడానికీ, విశ్లేషించడానికి నిల్వ చేయగలగాలి. ### SQL వర్సెస్ NoSQL నిల్వ డేటాబేసులు అనేవి డేటాను నిల్వ చేసి ప్రశ్నించడానికి ఉపయోగించే సేవలు. డేటాబేసులు రెండు రకాలుగా ఉంటాయి - SQL మరియు NoSQL #### SQL డేటాబేసులు మొదటి డేటాబేసులు రిలేషనల్ డేటాబేస్ మేనేజ్‌మెంట్ సిస్టమ్స్ (RDBMS) అనే పేరుతో పిలవబడేవి, లేదా రిలేషనల్ డేటాబేస్. ఇవి Structured Query Language (SQL) ఉపయొగించి డేటాను జోడించడానికి, తొలగించడానికి మరియు అప్డేట్ చేయడానికి ఉపయోగిస్తారు. ఈ డేటాబేసులు ఒక స్కీమాను కలిగి ఉంటాయి — ఒక స్ప్రెడ్షీట్ లాంటివి అధిక ఖచ్చితమైన పట్టికల సముదాయం. ప్రతి పట్టికలో అనేక పేరుగల కాలములు ఉంటాయి. మీరు డేటా ఇన్సర్ట్ చేసినప్పుడు, ఒక వరుసగా కొత్త రో ను జోడిస్తారు, ప్రతి కాలములో విలువలు ఉంచి. ఇది డేటాను చాలా కఠినమైన నిర్మాణంలో ఉంచుతుంది — ఇంకొన్ని కాలములను ఖాళీగా వదిలేసుకోవచ్చు, కానీ కొత్త కాలమ్ జోడించాలంటే డేటాబేస్ మార్చాల్సి ఉంటుంది, ఇప్పటికే ఉన్న రోలకి విలువలు జమ చేయాల్సి ఉంటుంది. ఈ డేటాబేసులు రిలేషనల్ అవి, అర్థం ఒక పట్టిక ఇంకో పట్టికతో సంబంధం కలిగి ఉండవచ్చు. ![ఉదాహరణకు యూజర్ పట్టిక యొక్క ID "పర్చేసెస్" పట్టికలో యూజర్ ID కాలమ్‌కి సంబంధం కలిగి, మరియు "ఉత్పత్తులు" పట్టిక ID వద్ద "పర్చేసెస్" పట్టిక ఉత్పత్తి IDకి అనుసంధానం](../../../../../translated_images/te/sql-database.be160f12bfccefd3.webp) ఉదాహరణకు, మీరు ఒక యూజర్ వ్యక్తిగత వివరాలను ఒక పట్టికలో నిల్వ చేస్తే, యూజర్ కి ఒక ఎక్స్డీయూడ్ ఐడి ఉండి అది అక్కడ నిల్వ చేస్తారు. ఇంకో పట్టికలో ఆ యూజర్ కొనుగోళ్ల గురించి వివరాలు నిల్వ చేయాలంటే, ఆ కొత్త పట్టికలో ఆ యూజర్ యొక్క ID కోసం ఒక కాలమ్ ఉండాలి. మీరు యూజర్ వివరాలను తేవాలంటే వారి IDతో ఆయా పట్టికల నుండి డేటా తెచ్చుకోగలరు. SQL డేటాబేసులు structured data నిల్వ చేయడానికి మరియు మీ స్కీమాకు తగిన డేటా ఉండాలనే నిర్ధారించడానికి అనుకూలం. ✅ మీరు SQL ఉపయోగించినిరా? అయితే [వికీపీడియాలో SQL పేజీ](https://wikipedia.org/wiki/SQL) చదవండి. చాలా ప్రసిద్ధ SQL డేటాబేసులు Microsoft SQL Server, MySQL, మరియు PostgreSQL. ✅ పరిశోధన చేయండి: ఈ SQL డేటాబేసుల గురించి మరియు వాటి సామర్థ్యాల గురించి తెలుసుకోండి. #### NoSQL డేటాబేసులు NoSQL డేటాబేసులు SQL డేటాబేసుల కఠిన నిర్మాణం లేకపోవడం వల్ల NoSQL అనబడతాయి. ఇవి డాక్యుమెంట్ డేటాబేసులుగా కూడా పిలవబడతాయి ఎందుకంటే అవి డాక్యుమెంట్ల వంటి అసంఘటిత డేటాను నిల్వ చేయగలవు. > 💁 వాటి పేరుతో అనుసరించకండి, కొన్ని NoSQL డేటాబేసులు SQL ద్వారా డేటాను ప్రశ్నించమని అనుమతిస్తాయి. ![ఫోల్డర్లలో డాక్యుమెంట్లు NoSQL డేటాబేస్ లో](../../../../../translated_images/te/noqsl-database.62d24ccf5b73f60d.webp) NoSQL డేటాబేసుకు ముందుగా నిర్వచించబడిన స్కీము ఉండదు, కాబట్టి ఏ విధమైన అసంఘటిత డేటా కూడా ఇన్సర్ట్ చేయవచ్చు, సాధారణంగా JSON డాక్యుమెంట్ల రూపంలో. ఈ డాక్యుమెంట్లు ఫోల్డర్లకు వర్గీకరించబడతాయి, కంప్యూటర్ ఫైళ్ల లాగా. ప్రతి డాక్యుమెంట్ ఇతర డాక్యుమెంట్లతో వేర్వేరు ఫీల్డ్స్ కలిగి ఉండొచ్చు — ఉదాహరణకు మీ వ్యవసాయ వాహనాల IoT డేటా ఉంటే, కొన్ని accelerometer మరియు speed డేటా కలిగి ఉన్నాయి, మరికొన్ని ట్రైలర్ ఉష్ణోగ్రత కలిగి ఉండొచ్చు. మీరు కొత్త రకం ట్రక్కు తో మారు, వంటి ప్రొడక్షన్ బరువు కొలిచే స్కేలు కలిగిన వాహనంతో ఉంటే, మీ IoT పరికరం ఆ కొత్త ఫీల్డ్ జోడించి, దాన్ని డేటాబేస్‌లో మార్పులంటే అవసరం లేకుండా నిల్వ చేయగలదు. కొన్ని ప్రసిద్ధ NoSQL డేటాబేసులు Azure CosmosDB, MongoDB, మరియు CouchDB. ✅ పరిశోధన చేయండి: ఈ NoSQL డేటాబేసుల గురించి మరియు వాటి సామర్థ్యాల గురించి తెలుసుకోండి. ఈ పాఠంలో మీరు IoT డేటాను నిల్వ చేయడానికి NoSQL నిల్వను ఉపయోగించబోతున్నారు. ## GPS డేటాను IoT హబ్ కి పంపడం గత పాఠంలో మీరు GPS సెన్సార్ నుండి GPS డేటాను సేకరించారు. ఈ IoT డేటాను క్లౌడ్ లో నిల్వ చేయాలంటే, మీరు దీన్ని IoT సేవకు పంపాలి. తిరిగి, మీరు Azure IoT హబ్ ను ఉపయోగించబోతున్నారు, అదే సేవ మీరు గత ప్రాజెక్టులో ఉపయోగించారు. ![IoT పరికరం నుండి GPS టెలిమెట్రీ IoT హబ్ కి పంపడం](../../../../../translated_images/te/gps-telemetry-iot-hub.8115335d51cd2c12.webp) ### పనులు - 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) చూడండి. కొత్త రిసోర్స్ గ్రూప్ సృష్టించండి. ఆ రిసోర్స్ గ్రూప్ పేరు `gps-sensor` పెట్టండి, మరియు కొత్త IoT హబ్ ను ఒక ప్రత్యేక పేరుతో `gps-sensor-<మీ పేరు>` వంటి సెట్ చేయండి. > 💁 మీరు పూర్వ ప్రాజెక్ట్ నుండి IoT హబ్ మీ దగ్గర ఉంటే, దాన్ని తిరిగి ఉపయోగించవచ్చు. మరిన్ని సేవల నెలకొల్పేటప్పుడు ఆ IoT హబ్ మరియు ఆ రిసోర్స్ గ్రూప్ పేరును వినియోగించండి. 1. IoT హబ్ కి కొత్త పరికరాన్ని జోడించండి. ఆ పరికరానికి `gps-sensor` అని పేరు పెట్టండి. ఆ పరికరం కనెక్షన్ స్ట్రింగ్‌ను పొందండి. 1. పరికరం కోడ్‌ను నవీకరించి GPS డేటాను కొత్త IoT హబ్ కి పంపండి, పరికరం కనెక్షన్ స్ట్రింగ్ ఉపయోగించి మునుపటి దశలో పొందినది. > ⚠️ అవసరమైతే [ప్రాజెక్టు 2, పాఠం 4 నుండి IoT డివైస్ కనెక్ట్ చేయడం సూచనలు](../../../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 డేటా పంపండి, తద్వారా మీ రోజువారీ సందేశ పరిమితిని మించకుండా ఉంటారు. మీరు Wio టెర్మినల్ ఉపయోగిస్తున్నట్లయితే, అవసరమైన లైబ్రరీలను జోడించండి మరియు NTP సర్వర్ ఉపయోగించి సమయాన్ని సెట్ చేయండి. మీ కోడ్ సీరియల్ పోర్ట్ నుండి డేటాను పూర్తిగా చదివిన తర్వాత మాత్రమే GPS స్థానం పంపేలా చూసుకోండి, గత పాఠంలో ఉన్న కోడ్ ఉపయోగించి. ఈ క్రింది కోడ్ తో JSON డాక్యుమెంట్ నిర్మించండి: ```cpp DynamicJsonDocument doc(1024); doc["gps"]["lat"] = gps.location.lat(); doc["gps"]["lon"] = gps.location.lng(); ``` మీరు వర్చువల్ IoT పరికరం ఉపయోగిస్తుంటే, అవసరమైన అన్ని లైబ్రరీలను వర్చువల్ ఎన్విరాన్మెంట్ లో ఇన్‌స్టాల్ చేయండి. Raspberry Pi మరియు వర్చువల్ IoT పరికరాల కోసం, గత పాఠంలో ఉన్న కోడ్ ఉపయోగించి latitude మరియు longitude విలువలను తీసుకుని, క్రింది కోడ్ ఉపయోగించి సరైన JSON ఫార్మాట్ లో పంపండి: ```python message_json = { "gps" : { "lat":lat, "lon":lon } } print("Sending telemetry", message_json) message = Message(json.dumps(message_json)) ``` > 💁 ఈ కోడ్ ను మీరు [code/wio-terminal](../../../../../3-transport/lessons/2-store-location-data/code/wio-terminal), [code/pi](../../../../../3-transport/lessons/2-store-location-data/code/pi) లేదా [code/virtual-device](../../../../../3-transport/lessons/2-store-location-data/code/virtual-device) ఫోల్డర్‌లో పొందవచ్చు. మీ పరికరం కోడ్ ని రన్ చేసి, `az iot hub monitor-events` CLI కమాండ్ ఉపయోగించి సందేశాలు IoT హబ్ లో ప్రవహించడం నిర్ధారించండి. ## హాట్, వార్మ్, మరియు కోల్డ్ పాత్స్ IoT పరికరం నుండి క్లౌడ్ కి వచ్చే డేటా ఎప్పుడూ రియల్ టైం లో ప్రాసెస్ అయ్యేది కాదు. కొంత డేటా రియల్ టైం లో ప్రాసెస్ కావాలి, మరి కొంత డేటా కొంత సమయానంతరం ప్రాసెస్ కావచ్చు, మరి కొంత మరింత ఆలస్యంగా ప్రాసెస్ చేయబడవచ్చు. డేటా వేర్వేరు సర్వీసులకు వేర్వేరు సమయాలలో పంపబడటం హాట్, వార్మ్, మరియు కోల్డ్ పాత్స్ అని పిలవబడుతుంది. ### హాట్ పాత్ హాట్ పాత్ అంటే డేటా తరచూ రియల్ టైం లేదా ఆరుగ తక్కువ సమయాల్లో ప్రాసెస్ కావలసినది. ఉదా. ఒక వాహనం డిపోకు వచ్చేస్తోంది అనే అలర్ట్, లేదా ఫ్రీజర్ లో ఉష్ణోగ్రత ఎక్కువయ్యిందని హెచ్చరిక. హాట్ పాత్ డేటాను ఉపయోగించే కోడ్, క్లౌడ్ సేవలను ఈవెంట్లు వచ్చిన వెంటనే స్పందిస్తాయి. ### వార్మ్ పాత్ వార్మ్ పాత్ అంటే డేటా స్వీకరించిన తర్వాత కొంత కాలం తర్వాత ప్రాసెస్ అయ్యేది, ఉదా. వార్షిక రిపోర్టులు లేదా చిన్నకాలిక విశ్లేషణలు. మీరు వార్మ్ పాత్ డేటాను రోజువారీ వాహన మైలేజ్ రిపోర్టులకు ఉపయోగిస్తారు, గత రోజు సేకరించిన డేటాను ఉపయోగించి. వార్మ్ పాత్ డేటా క్లౌడ్ సేవలో అందుకున్న వెంటనే సురక్షితమైన నిల్వలో నిల్వ చేయబడుతుంది, సులభంగా ప్రాప్యత అయ్యేది. ### కోల్డ్ పాత్ కోల్డ్ పాత్ అంటే చారిత్రక డేటా ని నిల్వ చేయడం, దీర్ఘకాలిక ప్రాసెసింగ్ కోసం საჭირო సమయంలో ఉపయోగించడం. ఉదా. వార్షిక మైలేజ్ రిపోర్టు లేదా వ్యయ తగ్గింపులో అత్యుత్తమ మార్గాలు విశ్లేషించడం. కోల్డ్ పాత్ డేటా డేటా వేర్‌హౌస్‌లలో నిల్వ చేయబడుతుంది — ఇది పెద్ద పరిమాణం మార్పు లేని డేటా కోసం మరియు ప్రశ్నించుట సులభంగా ఉండేలా డిజైన్ చేయబడింది. కొన్నిసార్లు మీరు క్లౌడ్ అప్లికేషన్‌లో రోజూ, వారానికి లేదా నెలకి ఒకసారి రాబోయే పని అమర్చుతారు, warm path నిల్వ నుండి cold path కు డేటాను మార్చడానికి. ✅ ఇప్పటి వరకు మీరు సేకరించిన డేటా హాట్, వార్మ్ లేదా కోల్డ్ పాత్ కాదా? ఆలోచించండి. ## సర్వర్‌లెస్ కోడ్ ఉపయోగించి GPS ఈవెంట్లను నిర్వహించడం ఒకసారి డేటా మీ IoT హబ్ కి వస్తుంటే, మీరు సర్వర్‌లెస్ కోడ్ ఉపయోగించి ఈవెంట్ హబ్ అనుకూల ఎండ్‌పాయింట్ కి ప్రచురించబడిన ఈవెంట్ల కోసం వింటుండవచ్చు. ఇది వార్మ్ పాత్ — ఈ డేటా నిల్వ చేయబడుతుంది మరియు తదుపరి పాఠంలో మార్గం గురించి రిపోర్టు కోసం ఉపయోగించబడుతుంది. ![IoT పరికరం నుండి GPS టెలిమెట్రీ IoT హబ్ కి పంపడం, ఆ తర్వాత అజ్యూర్ ఫంక్షన్స్ ద్వారా ఈవెంట్ హబ్ ట్రిగ్గర్](../../../../../translated_images/te/gps-telemetry-iot-hub-functions.24d3fa5592455e9f.webp) ### పనులు - సర్వర్‌లెస్ కోడ్ ఉపయోగించి GPS ఈవెంట్లను నిర్వహించండి 1. అజ్యూర్ ఫంక్షన్స్ CLI ఉపయోగించి Azure Functions అనువర్తనాన్ని సృష్టించండి. Python రంటైమ్ ఉపయోగించి, `gps-trigger` అనే ఫోల్‌డర్ లో, అదే పేరును Functions App ప్రాజెక్ట్ పేరుగా ఉపయోగించండి. వర్చువల్ ఎన్విరాన్మెంట్ తప్పకుండా సృష్టించండి. > ⚠️ అవసరమైతే [ప్రాజెక్టు 2, పాఠం 5 నుండి Azure Functions ప్రాజెక్టు సృష్టించడానికి సూచనలు](../../../2-farm/lessons/5-migrate-application-to-the-cloud/README.md#create-a-serverless-application) చూడండి. 1. IoT హబ్ ఈవెంట్ ట్రిగ్గర్ జోడించండి, ఇది IoT హబ్ యొక్క ఈవెంట్ హబ్ అనుకూల ఎండ్‌పాయింట్ ఉపయోగిస్తుంది. > ⚠️ మీరు అవసరమైతే [ప్రాజెక్ట్ 2, పాఠం 5 నుండి IoT హబ్ ఈవెంట్ ట్రిగ్గర్ సృష్టించడంపై సూచనలు](../../../2-farm/lessons/5-migrate-application-to-the-cloud/README.md#create-an-iot-hub-event-trigger) ను చూడవచ్చు. 1. ఈవెంట్ హబ్ అనుకూల ఎండ్‌పాయింట్ కనెక్షన్ స్ట్రింగ్‌ను `local.settings.json` ఫైల్‌లో సెట్ చేసి, ఆ ఎంట్రీకి సంబంధించిన కీని `function.json` ఫైల్‌లో ఉపయోగించండి. 1. స్థానిక నిల్వ అనుకరణ కోసం Azurite యాప్ ఉపయోగించండి 1. మీ ఫంక్షన్స్ యాప్‌ని రన్ చేసి, అది మీ GPS డివైస్ నుండి ఈవెంట్లు అందుకుంటున్నదో లేదో నిర్ధారించండి. మీ IoT డివైస్ కూడా సమయానికి పని చేసి GPS డేటాను పంపుతున్నదని చూసుకోండి. ```output Python EventHub trigger processed an event: {"gps": {"lat": 47.73481, "lon": -122.25701}} ``` ## Azure స్టోరేజ్ అకౌంట్లు ![Azure స్టోరేజ్ لوگో](../../../../../translated_images/te/azure-storage-logo.605c0f602c640d48.webp) Azure స్టోరేజ్ అకౌంట్లు అనేది వివిధ రకాలుగా డేటాను నిల్వ చేయగల సాధారణ ఉద్దేశ్యాల స్టోరేజ్ సేవ. మీరు డేటాను బ్లోబ్స్, క్యూస్, టేబుల్స్ లేదా ఫైళ్ళుగా నిల్వ చేయవచ్చు, వాటన్నిటినీ ఒకేసారి. ### బ్లోబ్ నిల్వ *బ్లోబ్* అంటే బైనరీ పెద్ద వస్తువులు, కానీ ఇరిగుతైన డేటాని సూచించడానికి ఇది సాధారణ పదంగా మార్చబడింది. మీరు ఏకమైన JSON పత్రాలు, IoT డేటా నుంచి చిత్రాలు, సినిమా ఫైళ్ల వరకు ఏదైనా డేటాను బ్లోబ్ నిల్వలో ఉంచవచ్చు. బ్లోబ్ నిల్వలో *కంటైనర్లు* అనే స్థితి ఉంటుంది, ఇవి బకెట్లు లాగా ఉండి, సంబంధింత డేటాబేసులలో టేబుల్స్ లాగా ఉంటాయి. ఈ కంటైనర్లలో ఫోల్డర్లు ఉండవచ్చు, అదేవిధంగా ఫోల్డర్లలో మరిన్ని ఫోల్డర్లు ఉండవచ్చు, కంప్యూటర్ హార్డ్ డిస్క్‌లో ఫైళ్ళు ఎలా ఉంటాయో అలాగే. ఈ పాఠంలో మీరు బ్లోబ్ నిల్వను IoT డేటా నిల్వ కోసం ఉపయోగిస్తారు. ✅ కొన్ని పరిశోధనలు చేయండి: [Azure Blob Storage](https://docs.microsoft.com/azure/storage/blobs/storage-blobs-overview?WT.mc_id=academic-17441-jabenn) గురించి చదవండి ### టేబుల్ నిల్వ టేబుల్ నిల్వ ద్వారా మీరు సెమీ-స్ట్రక్చర్డ్ డేటాను నిల్వ చేయవచ్చు. టేబుల్ నిల్వ వాస్తవానికి NoSQL డేటాబేస్, కాబట్టి ముందస్తుగా నిర్వచించిన టేబుల్స్ అవసరం లేదు, కానీ ఇది ఒకటి లేదా వాటి కంటే ఎక్కువ టేబుల్స్‌లో డేటాను నిల్వ చేయడానికి రూపొందించబడింది, ప్రతి సారి విభజించేందుకు ప్రత్యేక కీస్ ఉన్నాయి. ✅ కొన్ని పరిశోధనలు చేయండి: [Azure Table Storage](https://docs.microsoft.com/azure/storage/tables/table-storage-overview?WT.mc_id=academic-17441-jabenn) గురించి చదవండి ### క్యూని నిల్వ క్యూని నిల్వ ద్వారా 64KB పరిమితి ఉన్న సందేశాలను క్యూలో నిల్వ చేయవచ్చు. మీరు సందేశాలను క్యూకి చివరికి జోడించవచ్చు మరియు ముందుండినవి చదవవచ్చు. నిల్వ సామర్థ్యం ఉన్నంత కాలం క్యూలు సందేశాలను అనంతకాలం నిల్వ చేయగలవు, అంటే సందేశాలు భవిష్యత్తులో అవసరమైతే చదవగల అవకాశముంది. ఉదాహరణకు, మీరు ఒక నెలపాటు GPS డేటాను ప్రాసెస్ చేయడానికి నెలవారీ జాబ్ నిర్వహించాలనుకుంటే, రోజుకి ఒకసారి ఆ సమాచారాన్ని క్యూలో జోడించి నెల చివరలో అన్ని సందేశాలను ప్రాసెస్ చేయవచ్చు. ✅ కొన్ని పరిశోధనలు చేయండి: [Azure Queue Storage](https://docs.microsoft.com/azure/storage/queues/storage-queues-introduction?WT.mc_id=academic-17441-jabenn) గురించి చదవండి ### ఫైల్ నిల్వ ఫైల్ నిల్వ అంటే క్లౌడ్‌లో ఫైళ్ళ నిల్వ చేయడం, మరియు ఏ యాప్ లేదా డివైస్ సాంద్రత ప్రమాణ ప్రోటోకాల్స్ ఉపయోగించి కనెక్ట్ అవ్వవచ్చు. మీరు ఫైళ్లను ఫైల్ నిల్వలో రాయవచ్చు, తర్వాత మీ PC లేదా Mac పై డ్రైవ్‌లాగా మౌంట్ చేసుకోవచ్చు. ✅ కొన్ని పరిశోధనలు చేయండి: [Azure File Storage](https://docs.microsoft.com/azure/storage/files/storage-files-introduction?WT.mc_id=academic-17441-jabenn) గురించి చదవండి ## మీ సర్వర్‌లెస్ కోడ్‌ను నిల్వతో కనెక్ట్ చేయండి మీ ఫంక్షన్ యాప్ ఇప్పుడు IoT హబ్ నుండి వచ్చిన సందేశాలను బ్లోబ్ నిల్వలో భద్రపరచడానికి బ్లోబ్ నిల్వతో కనెక్ట్ అవ్వాలి. దీనికి 2 మార్గాలు ఉన్నాయి: * ఫంక్షన్ కోడ్ లోపల, బ్లోబ్ నిల్వ Python SDK ఉపయోగించి బ్లోబ్స్‌గా డేటాను వ్రాయండి * అవుట్‌పుట్ ఫంక్షన్ బైండింగ్ ఉపయోగించి ఫంక్షన్ రిటర్న్ విలువను బ్లోబ్ నిల్వకి బైండ్ చేసి, బ్లోబ్ స్వయంచాలకంగా సేవ్ అయిపోవడం ఈ పాఠంలో, మీరు Python SDK ఉపయోగించి బ్లోబ్ నిల్వతో ఎలా ఇపరేట్ చేయొచ్చు అనేది నేర్చుకుంటారు. ![GPS డేటాను IoT డివైస్ నుంచి IoT హబ్ కి పంపడం, తర్వాత ఈవెంట్ హబ్ ట్రిగ్గర్ ద్వారా Azure Functions కి పంపించి, ఆ డేటాను బ్లోబ్ నిల్వలో సేవ్ చేయడం](../../../../../translated_images/te/save-telemetry-to-storage-from-functions.ed3b1820980097f1.webp) డేటా క్రింది JSON బ్లోబ్ రూపంలో సేవ్ అవుతుంది: ```json { "device_id": , "timestamp" :