[{"data":1,"prerenderedAt":958},["ShallowReactive",2],{"blog-\u002Fblog\u002F2026\u002F04\u002Fconnect-industrial-edge-devices-aws-iot-core":3},{"id":4,"title":5,"body":6,"description":12,"extension":945,"meta":946,"navigation":953,"path":954,"seo":955,"stem":956,"__hash__":957},"blog\u002Fblog\u002F2026\u002F04\u002Fconnect-industrial-edge-devices-aws-iot-core.md","How to Connect Industrial Edge Devices to AWS IoT Core",{"type":7,"value":8,"toc":935},"minimark",[9,13,16,19,27,36,41,44,63,67,70,93,104,117,126,139,148,158,167,177,186,200,331,340,350,367,376,380,383,427,437,446,451,455,458,475,483,500,504,507,510,533,586,601,620,667,684,693,702,707,711,714,721,737,779,804,814,823,831,835,838,865,874,877,881,884,894,897,900,909,915,921,924,931],[10,11,12],"p",{},"Every industrial site generates data. Getting it to AWS securely is where most teams get stuck.",[10,14,15],{},"AWS IoT Core is Amazon's managed service for connecting edge devices to the cloud over MQTT. It handles secure device authentication, message routing, and fan-out to any AWS service in your stack: Lambda, DynamoDB, S3, and more. No broker to manage, no infrastructure to maintain.",[10,17,18],{},"FlowFuse is an industrial application platform that connects machines, collects data across any protocol, and builds and deploys industrial applications at scale. In this guide, we'll use FlowFuse as the edge platform to connect to AWS IoT Core.",[10,20,21,22,26],{},"We'll walk through the full setup from scratch: creating an IoT Thing in AWS, generating X.509 certificates, configuring the right policy, publishing your first message from the edge, and ",[23,24,25],"strong",{},"verifying"," it live in the AWS console.",[10,28,29,30,35],{},"If you're new to MQTT and want to understand how it works before diving in, ",[31,32,34],"a",{"href":33},"\u002Fblog\u002F2024\u002F06\u002Fhow-to-use-mqtt-in-node-red\u002F","this guide covers the fundamentals",".",[37,38,40],"h2",{"id":39},"prerequisites","Prerequisites",[10,42,43],{},"Before you begin, make sure you have the following in place:",[45,46,47,57,60],"ul",{},[48,49,50,51,35],"li",{},"A FlowFuse account with a running instance. If you don't have one yet, ",[31,52,56],{"href":53,"rel":54},"https:\u002F\u002Fapp.flowfuse.com\u002Faccount\u002Fcreate",[55],"nofollow","sign up",[48,58,59],{},"An AWS account with access to the IoT Core service.",[48,61,62],{},"Basic familiarity with the AWS console.",[37,64,66],{"id":65},"step-1-create-an-iot-thing-in-aws","Step 1: Create an IoT Thing in AWS",[10,68,69],{},"A Thing is how AWS IoT Core represents a device. Every connection you make from FlowFuse will be tied to a Thing.",[71,72,73,81,87],"ol",{},[48,74,75,76,35],{},"Open the ",[31,77,80],{"href":78,"rel":79},"https:\u002F\u002Fconsole.aws.amazon.com\u002Fiot",[55],"AWS IoT Core console",[48,82,83,84,35],{},"In the left sidebar go to ",[23,85,86],{},"Manage > All devices > Things",[48,88,89,90,35],{},"Click ",[23,91,92],{},"Create things",[10,94,95,100],{},[96,97],"img",{"alt":98,"src":99},"\"AWS IoT Core Things page with the Create things button highlighted in the top right corner\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Faws-console-1-step.png",[101,102,103],"em",{},"AWS IoT Core Things page with Create things button",[71,105,107],{"start":106},4,[48,108,109,110,113,114,35],{},"Select ",[23,111,112],{},"Create a single thing"," and click ",[23,115,116],{},"Next",[10,118,119,123],{},[96,120],{"alt":121,"src":122},"\"AWS IoT Core setup wizard showing the Create a single thing option selected\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Faws-console-2-step.png",[101,124,125],{},"AWS IoT Core showing Create a single thing option selected",[71,127,129],{"start":128},5,[48,130,131,132,136,137,35],{},"Give your Thing a name, for example ",[133,134,135],"code",{},"flowfuse-edge",". This name will be used as the MQTT Client ID later. Leave everything else as default and click ",[23,138,116],{},[10,140,141,145],{},[96,142],{"alt":143,"src":144},"\"AWS IoT Core Thing configuration page with flowfuse-edge entered in the Thing name field\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Faws-console-3-step.png",[101,146,147],{},"AWS IoT Core Thing name field with flowfuse-edge entered",[71,149,151],{"start":150},6,[48,152,109,153,113,156,35],{},[23,154,155],{},"Auto-generate a new certificate",[23,157,116],{},[10,159,160,164],{},[96,161],{"alt":162,"src":163},"\"AWS IoT Core certificate creation page with Auto-generate a new certificate option selected\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Faws-console-4-step.png",[101,165,166],{},"AWS IoT Core certificate creation page with Auto-generate a new certificate option selected",[71,168,170],{"start":169},7,[48,171,172,173,176],{},"The next screen asks you to attach a policy. A policy defines what your device is allowed to do: connect, publish, subscribe, or receive. Without one, AWS will reject every connection even if the certificate is valid. Click ",[23,174,175],{},"Create policy"," in the top right. A new tab opens.",[10,178,179,183],{},[96,180],{"alt":181,"src":182},"\"AWS IoT Core policy attachment screen with the Create policy button visible in the top right\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Faws-console-5-step.png",[101,184,185],{},"AWS IoT Core policy attachment screen with the Create policy button visible in the top right",[71,187,189],{"start":188},8,[48,190,191,192,195,196,199],{},"Give it a name like ",[133,193,194],{},"flowfuse-policy",", switch to the ",[23,197,198],{},"JSON"," editor and paste the following:",[201,202,207],"pre",{"className":203,"code":204,"language":205,"meta":206,"style":206},"language-json shiki shiki-themes github-light github-dark","{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Effect\": \"Allow\",\n      \"Action\": [\n        \"iot:Connect\",\n        \"iot:Publish\",\n        \"iot:Subscribe\",\n        \"iot:Receive\"\n      ],\n      \"Resource\": \"*\"\n    }\n  ]\n}\n","json","",[133,208,209,218,235,244,249,261,268,275,282,290,296,302,313,319,325],{"__ignoreMap":206},[210,211,214],"span",{"class":212,"line":213},"line",1,[210,215,217],{"class":216},"sVt8B","{\n",[210,219,221,225,228,232],{"class":212,"line":220},2,[210,222,224],{"class":223},"sj4cs","  \"Version\"",[210,226,227],{"class":216},": ",[210,229,231],{"class":230},"sZZnC","\"2012-10-17\"",[210,233,234],{"class":216},",\n",[210,236,238,241],{"class":212,"line":237},3,[210,239,240],{"class":223},"  \"Statement\"",[210,242,243],{"class":216},": [\n",[210,245,246],{"class":212,"line":106},[210,247,248],{"class":216},"    {\n",[210,250,251,254,256,259],{"class":212,"line":128},[210,252,253],{"class":223},"      \"Effect\"",[210,255,227],{"class":216},[210,257,258],{"class":230},"\"Allow\"",[210,260,234],{"class":216},[210,262,263,266],{"class":212,"line":150},[210,264,265],{"class":223},"      \"Action\"",[210,267,243],{"class":216},[210,269,270,273],{"class":212,"line":169},[210,271,272],{"class":230},"        \"iot:Connect\"",[210,274,234],{"class":216},[210,276,277,280],{"class":212,"line":188},[210,278,279],{"class":230},"        \"iot:Publish\"",[210,281,234],{"class":216},[210,283,285,288],{"class":212,"line":284},9,[210,286,287],{"class":230},"        \"iot:Subscribe\"",[210,289,234],{"class":216},[210,291,293],{"class":212,"line":292},10,[210,294,295],{"class":230},"        \"iot:Receive\"\n",[210,297,299],{"class":212,"line":298},11,[210,300,301],{"class":216},"      ],\n",[210,303,305,308,310],{"class":212,"line":304},12,[210,306,307],{"class":223},"      \"Resource\"",[210,309,227],{"class":216},[210,311,312],{"class":230},"\"*\"\n",[210,314,316],{"class":212,"line":315},13,[210,317,318],{"class":216},"    }\n",[210,320,322],{"class":212,"line":321},14,[210,323,324],{"class":216},"  ]\n",[210,326,328],{"class":212,"line":327},15,[210,329,330],{"class":216},"}\n",[10,332,333,337],{},[96,334],{"alt":335,"src":336},"\"AWS IoT Core policy editor in JSON mode with the flowfuse-policy name entered and the permission JSON pasted in\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Faws-console-6-step.png",[101,338,339],{},"AWS IoT Core policy editor in JSON mode with the flowfuse-policy name entered and the permission JSON pasted in",[341,342,343],"blockquote",{},[10,344,345,346,349],{},"This wildcard policy works for initial setup. In production, replace ",[133,347,348],{},"*"," with specific ARNs for your Thing, topics, and client ID to follow least-privilege principles.",[71,351,352,358],{"start":284},[48,353,89,354,357],{},[23,355,356],{},"Create"," and close the tab.",[48,359,360,361,363,364,35],{},"Back on the policy attachment screen, refresh the policy list, select ",[133,362,194],{},", and click ",[23,365,366],{},"Create thing",[10,368,369,373],{},[96,370],{"alt":371,"src":372},"\"AWS IoT Core policy attachment screen with flowfuse-policy selected and the Create thing button ready to click\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Faws-console-7-step.png",[101,374,375],{},"AWS IoT Core policy attachment screen with flowfuse-policy selected and the Create thing button ready to click",[37,377,379],{"id":378},"step-2-download-certificates","Step 2: Download Certificates",[10,381,382],{},"Before leaving the confirmation screen, download all three certificate files. You cannot retrieve the private key again after this point.",[384,385,386,399],"table",{},[387,388,389],"thead",{},[390,391,392,396],"tr",{},[393,394,395],"th",{},"File",[393,397,398],{},"What it is",[400,401,402,411,419],"tbody",{},[390,403,404,408],{},[405,406,407],"td",{},"Device certificate",[405,409,410],{},"Identifies your FlowFuse instance to AWS",[390,412,413,416],{},[405,414,415],{},"Private key",[405,417,418],{},"Paired with the certificate, never share this",[390,420,421,424],{},[405,422,423],{},"Root CA certificate",[405,425,426],{},"Verifies AWS IoT Core on your side",[10,428,89,429,432,433,436],{},[23,430,431],{},"Download"," next to each file. Also download the ",[23,434,435],{},"Amazon Root CA 1"," from the link provided on the same page.",[10,438,439,443],{},[96,440],{"alt":441,"src":442},"\"AWS IoT Core certificate download screen showing the device certificate, private key, and Root CA download buttons\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Faws-console-8-step.png",[101,444,445],{},"AWS IoT Core certificate download screen showing the device certificate, private key, and Root CA download buttons",[341,447,448],{},[10,449,450],{},"Keep these files safe. You cannot download the private key again after leaving this page. If you lose it, you will need to create a new certificate.",[37,452,454],{"id":453},"step-3-find-your-aws-iot-endpoint","Step 3: Find Your AWS IoT Endpoint",[10,456,457],{},"Every AWS account has a unique IoT Core endpoint. This is the host address you will use in FlowFuse.",[71,459,460,465,468],{},[48,461,83,462,35],{},[23,463,464],{},"Connect > Domain configurations",[48,466,467],{},"Click on the default domain configuration to open it.",[48,469,470,471,474],{},"Copy the ",[23,472,473],{},"Endpoint",". It looks like this:",[201,476,481],{"className":477,"code":479,"language":480},[478],"language-text","xxxxxxxxxxxxxxx-ats.iot.us-east-1.amazonaws.com\n","text",[133,482,479],{"__ignoreMap":206},[10,484,485,486,491,492,495,496,499],{},"Rather than pasting this endpoint directly into the Node-RED broker configuration, store it as a ",[31,487,490],{"href":488,"rel":489},"https:\u002F\u002Fflowfuse.com\u002Fdocs\u002Fuser\u002Fenvvar\u002F",[55],"FlowFuse environment variable"," — for example, ",[133,493,494],{},"SERVER",". You can then reference it as ",[133,497,498],{},"${SERVER}"," in the Server field. This keeps the endpoint out of your flow JSON and means the same flow snapshot deploys across multiple edge instances pointing at different AWS accounts or regions without any edits.",[37,501,503],{"id":502},"step-4-configure-the-mqtt-connection-in-flowfuse","Step 4: Configure the MQTT Connection in FlowFuse",[10,505,506],{},"With your certificates downloaded and your endpoint copied, open your FlowFuse instance and go to the Node-RED editor.",[10,508,509],{},"First, upload your certificates so Node-RED can use them for the TLS handshake.",[71,511,512,519,526],{},[48,513,514,515,518],{},"Drag an ",[23,516,517],{},"mqtt out"," node onto the canvas and double-click it to open its settings.",[48,520,521,522,525],{},"Click the pencil icon next to the ",[23,523,524],{},"Server"," field to create a new broker configuration.",[48,527,528,529,532],{},"Set the following on the ",[23,530,531],{},"Connection"," tab:",[384,534,535,545],{},[387,536,537],{},[390,538,539,542],{},[393,540,541],{},"Field",[393,543,544],{},"Value",[400,546,547,556,566,576],{},[390,548,549,551],{},[405,550,524],{},[405,552,553,555],{},[133,554,498],{}," — set via FlowFuse environment variable",[390,557,558,561],{},[405,559,560],{},"Port",[405,562,563],{},[133,564,565],{},"8883",[390,567,568,571],{},[405,569,570],{},"Client ID",[405,572,573,555],{},[133,574,575],{},"${CLIENT_ID}",[390,577,578,581],{},[405,579,580],{},"Keep alive",[405,582,583],{},[133,584,585],{},"60",[10,587,588,589,591,592,595,596,600],{},"Define ",[133,590,494],{}," and ",[133,593,594],{},"CLIENT_ID"," under your instance's environment settings in FlowFuse. See ",[31,597,599],{"href":488,"rel":598},[55],"FlowFuse Environment Variables"," for how to configure them. Keeping these values out of the flow JSON means you can deploy the same flow to multiple edge instances — each with its own Thing name and endpoint — without touching the flow itself. The Client ID must still match your Thing name exactly, so each instance gets its own variable value.",[71,602,603,610,617],{"start":106},[48,604,605,606,609],{},"Check ",[23,607,608],{},"Enable TLS",". A TLS configuration field appears.",[48,611,612,613,616],{},"Click the ",[23,614,615],{},"+"," icon next to it to add a new TLS config.",[48,618,619],{},"Upload each of the three certificate files you downloaded in Step 2:",[384,621,622,631],{},[387,623,624],{},[390,625,626,628],{},[393,627,541],{},[393,629,630],{},"File to upload",[400,632,633,645,656],{},[390,634,635,638],{},[405,636,637],{},"Certificate",[405,639,640,641,644],{},"Device certificate (",[133,642,643],{},".pem.crt",")",[390,646,647,650],{},[405,648,649],{},"Private Key",[405,651,652,653,644],{},"Private key (",[133,654,655],{},".pem.key",[390,657,658,661],{},[405,659,660],{},"CA Certificate",[405,662,663,664,644],{},"Amazon Root CA 1 (",[133,665,666],{},".pem",[71,668,669,675],{"start":169},[48,670,671,672,35],{},"Enable ",[23,673,674],{},"Verify server certificate",[48,676,89,677,680,681,683],{},[23,678,679],{},"Update"," to save the TLS config, then click ",[23,682,679],{}," again to save the broker config.",[10,685,686,690],{},[96,687],{"alt":688,"src":689},"\"Node-RED MQTT broker configuration showing the Connection tab with the AWS IoT endpoint entered, port set to 8883, and Enable TLS checked\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002FConnection-tab.png",[101,691,692],{},"MQTT broker configuration showing Connection tab with endpoint, port 8883, and Enable TLS checked",[10,694,695,699],{},[96,696],{"alt":697,"src":698},"\"Node-RED TLS configuration dialog with the device certificate, private key, and CA certificate uploaded and Verify server certificate enabled\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Ftls-config.png",[101,700,701],{},"TLS configuration dialog showing the three certificate upload fields and Verify server certificate enabled",[341,703,704],{},[10,705,706],{},"AWS IoT Core requires mutual TLS: both sides authenticate each other. Port 8883 is the standard MQTT over TLS port. Connecting on port 1883 without TLS will be rejected.",[37,708,710],{"id":709},"step-5-build-a-flow-and-publish-your-first-message","Step 5: Build a Flow and Publish Your First Message",[10,712,713],{},"With the broker configured, build a simple flow to publish a test message.",[10,715,716,717,720],{},"For this demo we'll use an ",[23,718,719],{},"inject"," node as the data source. In a real deployment, this would be any node reading live data: an OPC-UA reader, a Modbus poll, a database query, or a sensor feed.",[71,722,723,731],{},[48,724,514,725,727,728,730],{},[23,726,719],{}," node onto the canvas and connect it to the ",[23,729,517],{}," node.",[48,732,733,734,736],{},"Double-click the ",[23,735,719],{}," node and set the payload to a JSON object, for example:",[201,738,740],{"className":203,"code":739,"language":205,"meta":206,"style":206},"{ \"temperature\": 22.5, \"unit\": \"celsius\", \"source\": \"flowfuse-edge\" }\n",[133,741,742],{"__ignoreMap":206},[210,743,744,747,750,752,755,758,761,763,766,768,771,773,776],{"class":212,"line":213},[210,745,746],{"class":216},"{ ",[210,748,749],{"class":223},"\"temperature\"",[210,751,227],{"class":216},[210,753,754],{"class":223},"22.5",[210,756,757],{"class":216},", ",[210,759,760],{"class":223},"\"unit\"",[210,762,227],{"class":216},[210,764,765],{"class":230},"\"celsius\"",[210,767,757],{"class":216},[210,769,770],{"class":223},"\"source\"",[210,772,227],{"class":216},[210,774,775],{"class":230},"\"flowfuse-edge\"",[210,777,778],{"class":216}," }\n",[71,780,781,794],{"start":237},[48,782,733,783,785,786,789,790,793],{},[23,784,517],{}," node and set the ",[23,787,788],{},"Topic"," to ",[133,791,792],{},"flowfuse\u002Ftelemetry",". This is the topic AWS will receive messages on.",[48,795,89,796,799,800,803],{},[23,797,798],{},"Done",", then click ",[23,801,802],{},"Deploy"," to apply the flow.",[10,805,806,807,809,810,813],{},"Once deployed, the ",[23,808,517],{}," node should show a green ",[23,811,812],{},"connected"," status indicator beneath it. If it shows red or is in a reconnecting state, double-check the endpoint, port, client ID, and certificate files.",[10,815,816,820],{},[96,817],{"alt":818,"src":819},"\"Node-RED canvas showing the mqtt out node configured with the AWS IoT Core endpoint as the server and flowfuse\u002Ftelemetry as the topic\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Fmqtt-out-aws-endpoint.png",[101,821,822],{},"mqtt out node configuration showing AWS IoT Core Endpoint selected as the server and flowfuse\u002Ftelemetry set as the topic",[71,824,825],{"start":128},[48,826,827,828,830],{},"Click the button on the ",[23,829,719],{}," node to trigger a manual publish.",[37,832,834],{"id":833},"step-6-verify-the-message-in-aws","Step 6: Verify the Message in AWS",[10,836,837],{},"Confirm the message arrived in AWS using the built-in MQTT test client.",[71,839,840,847,859,862],{},[48,841,842,843,846],{},"In the AWS IoT Core console, go to ",[23,844,845],{},"Test > MQTT test client"," in the left sidebar.",[48,848,849,850,853,854,113,856,35],{},"Under ",[23,851,852],{},"Subscribe to a topic",", enter ",[133,855,792],{},[23,857,858],{},"Subscribe",[48,860,861],{},"Go back to FlowFuse and click the inject button again.",[48,863,864],{},"The message appears in the AWS test client within seconds.",[10,866,867,871],{},[96,868],{"alt":869,"src":870},"\"AWS IoT Core MQTT test client showing the successfully received JSON payload on the flowfuse\u002Ftelemetry topic\"","\u002Fblog\u002F2026\u002F04\u002Fimages\u002Fflowfuse-to-aws.gif",[101,872,873],{},"AWS MQTT test client showing the received JSON message on the flowfuse\u002Ftelemetry topic",[10,875,876],{},"You've successfully connected FlowFuse to AWS IoT Core. Data published from your FlowFuse instance now flows securely into AWS over mutual TLS, ready to be routed to Lambda, DynamoDB, S3, or any other service in your stack via IoT Core rules.",[37,878,880],{"id":879},"whats-next","What's Next",[10,882,883],{},"You've got a working edge-to-cloud pipeline. FlowFuse is publishing data. AWS IoT Core is receiving it.",[10,885,886,887,890,891,893],{},"From here, the real work begins: routing that data somewhere useful. In AWS IoT Core, go to ",[23,888,889],{},"Message Routing > Rules"," to forward your ",[133,892,792],{}," messages to DynamoDB for storage, Lambda for processing, or S3 for archiving — no extra infrastructure needed.",[10,895,896],{},"On the edge side, swap the inject node for a live data source. An OPC-UA reader, a Modbus poll, a database query. The broker configuration stays the same. Only the source changes.",[10,898,899],{},"A few things worth doing before you go to production:",[10,901,902,905,906,908],{},[23,903,904],{},"Tighten your policy."," The wildcard policy from Step 1 is fine for testing. Replace the ",[133,907,348],{}," resource with specific ARNs scoped to your Thing, your topics, and your client ID.",[10,910,911,914],{},[23,912,913],{},"Rotate certificates on a schedule."," AWS IoT Core supports certificate rotation without downtime. Build that into your operations plan now.",[10,916,917,920],{},[23,918,919],{},"Monitor connection state."," Add a status node in Node-RED connected to your mqtt out node. If the connection drops, you'll want to know immediately — not when someone notices missing data an hour later.",[10,922,923],{},"Industrial data pipelines aren't complex. They just have a lot of small steps that have to be right. You've done the hard part.",[10,925,926,927,35],{},"For more on how FlowFuse connects PLCs and edge devices — via OPC UA, EtherNet\u002FIP, Siemens S7, and Modbus — to cloud and enterprise systems, see the ",[31,928,930],{"href":929},"\u002Flanding\u002Fplc\u002F","FlowFuse PLC integration overview",[932,933,934],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":206,"searchDepth":220,"depth":220,"links":936},[937,938,939,940,941,942,943,944],{"id":39,"depth":220,"text":40},{"id":65,"depth":220,"text":66},{"id":378,"depth":220,"text":379},{"id":453,"depth":220,"text":454},{"id":502,"depth":220,"text":503},{"id":709,"depth":220,"text":710},{"id":833,"depth":220,"text":834},{"id":879,"depth":220,"text":880},"md",{"navTitle":5,"excerpt":947},{"type":7,"value":948},[949,951],[10,950,12],{},[10,952,15],{},true,"\u002Fblog\u002F2026\u002F04\u002Fconnect-industrial-edge-devices-aws-iot-core",{"title":5,"description":12},"blog\u002F2026\u002F04\u002Fconnect-industrial-edge-devices-aws-iot-core","fuoH_Ybxp-WB4pvi4yyITyrsO0UbnMv6xDr3aACid5w",1780070554566]