将 IoT Edge 上的 Azure Blob 存储模块部署到设备

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:Microsoft网络

小提示:您能找到这篇{将 IoT Edge 上的 Azure Blob 存储模块部署到设备}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的将 IoT Edge 上的 Azure Blob 存储模块部署到设备内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

< ">有多种方法可以将模块部署到IoT Edge设备,并且所有这些方法都适用于IoT Edge上的Azure Blob存储模块。两种最简单的方法是使用Azure门户或Visual Studio Code模板。

< ">先决条件

< ">Azure订阅中的IoT中心。

< ">IoT Edge设备。

< ">如果未设置IoT Edge设备,可在Azure虚拟机中创建一个。按照创建虚拟Linux设备或创建虚拟Windows设备快速入门文章(其中一篇)中的步骤进行操作。

< ">Visual Studio Code和Azure IoT Tools(如果从Visual Studio Code部署)。

< ">从Azure门户部署

< ">Azure门户引导你创建部署清单并将部署推送到IoT Edge设备。

< ">选择设备

< ">1.登录Azure门户,导航到IoT中心。

< ">2.从菜单中选择“IoT Edge”。

< ">3.在设备列表中单击目标设备的ID。

< ">4.选择“设置模块”。

< ">配置部署清单

< ">部署清单是一个JSON文档,其中描述了要部游戏公司危机公关处理案署的模块、数据在模块间的流动方式以及模块孪生的所需属性。Azure门户提供了一个引导你完成创建部署清单的向导。该向导将三个步骤整理成多个选项卡:“模块”、“路由”和“查看+创建”。

< ">添加模块

< ">1.在页面的“IoT Edge模块”部分,单击“添加”下拉列表并选择“IoT Edge模块”,显示“添加IoT Edge模块”页面。

< ">2.在“模块设置”选项卡上,提供模块的名称,然后指定容器映像URI:

< ">示例:

< ">IoT Edge模块名称:azureblobstorageoniotedge

< ">映像URI:mcr.microsoft.com/azure-blob-storage:latest

< ">如本程序所述,在“模块设置”、“容器创建选项”和“模块孪生设置”选项卡上指定值之前,请勿选择“添加”。

< ">重要

< ">调用模块时,Azure IoT Edge区分大小写,存储SDK也默认为小写。虽然在Azure市场中此模块的名称为AzureBlobStorageonIoTEdge,但将名称更改为小写有助于确保与IoT Edge上的Azure Blob存储模块建立的连接不会中断。

< ">3.打开“容器创建选项”选项卡。

< ">将以下JSON复制并粘贴到框中,以便为设备上的存储提供存储帐户信息和装载。

< ">JSON

< ">{

< ">"Env":[

< ">"LOCAL_STORAGE_ACCOUNT_NAME=<your storage account name>",

< ">"LOCAL_STORAGE_ACCOUNT_KEY=<your storage account key>"

< ">],

< ">"HostConfig":{

< ">"Binds":[

< ">"<storage mount>"

< ">],

< ">"PortBindings":{

< ">"11002/tcp":[{"HostPort":"11002"}]

< ">}

< ">}

< ">}

< ">4.使用以下信息更新已复制到容器创建选项中的JSON:

< ">请将<your storage account name>替换为容易记住的名称。帐户名长度应为3到24个字符,并带有小写字母和数字。不含空格。

< ">将<your storage account key>;替换为64字节base64密钥。你可以使用GeneratePlus等工具生成密钥。你将使用这些凭据从其他模块访问blob存储。

< ">根据容器操作系统替换<storage mount>。提供blob模块将在其中存储其数据的IoT Edge设备上卷的名称或指向现有目录的绝对路径。存储装载将你在设备上提供的位置映射到模块中设置的位置。

< ">对于Linux容器,格式为<your storage path or volume>:/blobroot。例如:

< ">使用卷装载:my-volume:/blobroot

< ">使用绑定装载:/srv/containerdata:/blobroot。确保按步骤为容器用户授予目录访问权限

< ">对于Windows容器,格式为<your storage path or volume>:C:/BlobRoot。例如:

< ">使用卷装载:my-volume:C:/BlobRoot。

< ">使用绑定装载:C:/ContainerData:C:/BlobRoot。

< ">可以映射SMB网络位置,而不使用本地驱动器。有关详细信息,请参阅使用SMB共享作为本地存储

< ">重要

< ">请勿更改存储装载值的后半部分,该部分指向IoT Edge模块上Blob存储中的特定位置。对于Linux容器,存储装载必须始终以“:/blobroot”结尾;对于Windows容器,必须以“:C:/BlobRoot”结尾。

< ">5.在“模块孪生设置”选项卡上,复制以下JSON并将其粘贴到框中。

< ">使用适当的值配置每个属性,如占位符所示。如果使用IoT Edge模拟器,请按照deviceToCloudUploadProperties和deviceAutoDeleteProperties中所述,将这些属性的值设置为相关环境变量。

< ">JSON

< ">{

< ">"deviceAutoDeleteProperties":{

< ">"deleteOn":<true,false>,

< ">"deleteAfterMinutes":<timeToLiveInMinutes>,

< ">"retainWhileUploading":<true,false>

< ">},

< ">"deviceToCloudUploadProperties":{

< ">"uploadOn":<true,false>,

< ">"uploadOrder":"<NewestFirst,OldestFirst>",

< ">"cloudStorageConnectionString":"DefaultEndpointsProtocol=https;AccountName=<your Azure Storage Account Name>;AccountKey=<your Azure Storage Account Key>;EndpointSuffix=<your end point suffix>",

< ">"storageContainersForUpload":{

< ">"<source container name1>":{

< ">&q企业危机公关稿范文uot;target":"<target container name1>"

< ">}

< ">},

< ">"deleteAfterUpload":<true,false>

< ">}

< ">}

< ">有关在部署模块后配置deviceToCloudUploadProperties和deviceAutoDeleteProperties的信息,请参阅编辑模块孪生。若要详细了解所需属性,请参阅定义或更新所需属性。

< ">6.选择“添加”。

< ">7.在完成时选择“下一步:路由”继续转到路由部分。

< ">指定路由

< ">保留默认路由并选择“下一步:查看+创建”继续转到查看部分。

< ">评审部署

< ">评审部分介绍了根据上述两部分中的选择所创建的JSON部署清单。另外还有两个模块已声明但却未添加,它们是:$edgeAgent和$edgeHub。这两个模块构成IoT Edge运行时,且是每个部署中所需的默认设置。

< ">查看部署信息,然后选择“创建”。

< ">验证部署

< ">创建部署后,返回到IoT中心的“IoT Edge”页。

< ">1.选择用作部署目标的IoT Edge设备,以打开其详细信息。

< ">2.在设备详细信息,检查Blob存储模块是否列出为“在部署中指定”和“由设备报告”。

< ">可能需要等待一段时间,该模块才会在设备上启动并向IoT中心发回报告。刷新页面以查看更新的状态。

< ">从Visual Studio Code部署

< ">Azure IoT Edge在Visual Studio Code中提供模板,以帮助你开发边缘解决方案。使用以下步骤创建带有Blob存储模块的新IoT Edge解决方案,并配置部署清单。

< ">1.选择“查看”>“命令面板”。

< ">2.在“命令面板”中,输入并运行Azure IoT Edge:New IoT Edge solution命令。

< ">按命令面板中的提示创建解决方案。

< ">Visual Studio Code采用你提供的信息,创建一个IoT Edge解决方案,然后在新窗口中加载它。解决方案模板创建包含blob存储模块映像的部署清单模板,但需要配置模块的创建选项。

< ">3.在新的解决方案工作区中打开deployment.template.json,然后找到“模块”部分。进行以下配置更改:

< ">a.删除SimulatedTemperatureSensor模块,因为此部署不需要该模块。

< ">b.将以下代码复制并粘贴到createOptions字段中:

< ">JSON

< ">"Env":[

< ">"LOCAL_STORAGE_ACCOUNT_NAME=<your storage account name>",

< ">"LOCAL_STORAGE_ACCOUNT_KEY=<your storage account key>"

< ">],

< ">"HostConfig":{

< ">"Binds":["<storage mount>"],

< ">"PortBindings":{

< ">"11002/tcp":[{"HostPort":"11002"}]

< ">}

< ">}

< ">4.请将<your storage account name>替换为容易记住的名称。帐户名长度应为3到24个字符,并带有小写字母和数字。不含空格。

< ">5.将<your storage account key>替换为64字节base64密钥。你可以使用GeneratePlus等工具生成密钥。你将使用这些凭据从其他模块访问blob存储。

< ">6.根据容器操作系统替换<storage mount>。提供卷的名称或IoT Edge设备上希望blob模块在其中存储其数据的目录绝对路径。存储装载将你在设备上提供的位置映射到模块中设置的位置。

< ">对于Linux容器,格式为<your storage path or volume>:/blobroot。例如:

< ">使用卷装载:my-volume:/blobroot

< ">使用绑定装载:/srv/containerdata:/blobroot。确保按步骤为容器用户授予目录访问权限

< ">对于Windows容器,格式为<your storage path or volume>:C:/BlobRoot。例如:

< ">使用卷装载:my-volume:C:/BlobRoot。

< ">使用绑定装载:C:/ContainerData:C:/BlobRoot。

< ">可以映射SMB网络位置,而不是使用本地驱动器。有关详细信息,请参阅使用SMB共享作为本地存储。

< ">重要

< ">请勿更改存储装载值的后半部分,该部分指向IoT Edge模块上Blob存储中的特定位置。对于Linux容器,存储装载必须始终以“:/blobroot”结尾;对于Windows容器,必须以“:C:/BlobRoot”结尾。

< ">7.通过将以下JSON添加到deployment.template.json文件,为模块配置deviceToCloudUploadProperties和deviceAutoDeleteProperties。为每个属性配置适当的值并保存文件。如果使用IoT Edge模拟器,请将这些属性的值设置为相关环境变量,可以在deviceToCloudUploadProperties和deviceAutoDeleteProperties的说明部分中找到这些值

< ">JSON

< ">"<your azureblobstorageoniotedge module name>":{

< ">"properties.desired":{

< ">"deviceAutoDeleteProperties":{

< ">"deleteOn":<true,false>,

< ">"deleteAfterMinutes":<timeToLiveInMinutes>,

< ">"retainWhileUploading":<true,false>

< ">},

< ">"deviceToCloudUploadProperties":{

< ">"uploadOn":<true,false>,

< ">"uploadOrder":"<NewestFirst,OldestFirst>",

< ">"cloudStorageConnectionString":"DefaultEndpointsProtocol=https;AccountName=<your Azure Storage Account Name>;AccountKey=<your Azure Storage Account Key>;EndpointSuffix=<your end point suffix>",

< ">"storageContainersForUpload":{

< ">"<source container name1>":{

< ">"target":"<target container name1>"

< ">}

< ">},

< ">"deleteAfterUpload":<true,false>



< ">}

< ">}

< ">}

< ">有关在部署模块后配置deviceToCloudUploadProperties和deviceAutoDeleteProperties的信息,请参阅编辑模块孪生。若要详细了解容器创建选项、重启策略和所需状态,请参阅EdgeAgent所需属性。

< ">8.保存deployment.template.json文件。



< ">9.右键单击“deployment.template.json”并选择“生成IoT Edge部署清单”。

< ">10.Visual Studio Code会获取你在deployment.template网络营销失败案例分析.json中提供的信息,并使用它来创建新的部署清单文件。在解决方案工作区中的新config文件夹中创建部署清单。获得该文件后,可以按照从Visual Studio Code中部署Azure IoT Edge模块或使用Azure CLI 2.0部署Azure IoT Edge模块中的步骤进行操作。

< ">部署多个模块实例

< ">若要在IoT Edge模块上部署Azure Blob存储的多个实例,需要提供不同的存储路径,并更改模块绑定到的HostPort值。Blob存储模块始终在容器中公开端口11002,但你可以声明它在主机上绑定到的端口。

< ">编辑“容器创建选项”(在Azure门户中)或createOptions字段(在Visual Studio Code的deployment.template.json文件中),更改HostPort值:

< ">JSON

< ">"PortBindings":{

< ">"11002/tcp":[{"HostPort":"<port number>"}]

< ">}

< ">连接到其他blob存储模块时,请将终结点更改为指向更新的主机端口。

< ">配置代理支持

< ">如果组织使用代理服务器,则需要为edgeAgent和edgeHub运行时模块配置代理支持。此过程涉及两项任务:

< ">在设备上配置运行时守护程序和IoT Edge代理。

< ">为部署清单JSON文件中的模块设置HTTPS_PROXY环境变量。

< ">将IoT Edge设备配置为通过代理服务器进行通信中介绍了此过程。

< ">此外,blob存储模块还需要清单部署文件中的HTTPS_PROXY设置。可以直接编辑部署清单文件,也可以使用Azure门户。

< ">1.在Azure门户中导航到IoT中心,然后从左窗格菜单中选择IoT Edge。

< ">2.选择要配置模块的设备。

< ">3.选择“设置模块”。

< ">4.在此页的“IoT Edge模块”部分,选择blob存储模块。

< ">5.在“更新IoT Edge模块”页上,选择“环境变量”选项卡。

< ">6.添加HTTPS_PROXY作为“名称”,添加代理URL作为“值”。

< ">7.单击“更新”,然后单击“查看+创建”。

< ">8.请注意,代理会添加到部署清单中的模块,此时请选择“创建”。

< ">9.通过从设备详细信息页中选择模块来验证设置,然后在“IoT Edge模块详细信息”页的下半部分选择“环境变量”选项卡。

将 IoT Edge 上的 Azure Blob 存储模块部署到设备

上一篇:祖龙娱乐借助Google Cloud为全世界的玩家带来沉浸
下一篇:什么是 Azure SQL Edge?


版权声明:以上主题为“将 IoT Edge 上的 Azure Blob 存储模块部署到设备"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    将 IoT Edge 上的 Azure Blob 存储模块部署到设备
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“将 IoT Edge 上的 Azure Blob 存储模块部署到设备”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通将 IoT Edge 上的 Azure Blob 存储模块部署到设备的相关事宜。

关键词:将,IoT,Edge,上的,Azure,Blob,存

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号