• 关于

    批量注册设备

    的搜索结果

问题

关于Android设备动态注册的疑问

批量生产设备的情况下需要用到设备动态注册,但未见到官方文档提供Android SDK的动态注册接口。 倒是有个Android SDK静态注册的示例和C-SDK的动态注册示例 官方能否提供下Android SDK版本的动态注...
smart_green 2019-12-01 22:01:41 1306 浏览量 回答数 4

问题

手把手学IOT服务端API编程[5、批量设备注册][step by step ALI-IOT-SERVER-API]

上一节我们介绍了设备注册,一次只能注册一个设备,在服务端的接口中也有提供一次可以进行多个设备注册的,这一节我们就来学习一下如何批量注册设备; 当然这些要注册的设备都是设备总数属于一类产...
洵云 2019-12-01 22:01:23 1384 浏览量 回答数 2

问题

阿里云 物联网套件 设备端接入 只能手动添加设备吗?

请问 阿里云的物联网套件的"设备端接入",只能手动添加设备吗?如图:有没有通过代码的方式,批量地往一个产品下注册一系列设备呢?我们每卖一套设备,难道都要手动添加一次吗?...
trojx 2019-12-01 19:44:14 1502 浏览量 回答数 0

阿里云域名特惠专场,热门域名1元抢购!

全网低价特惠,顶级域名低至1元,更有96元/年服务器限时抢购!

问题

iot调用[QueryPageByApplyId]查询批次设备列表出错

1.问题描述: 批量注册设备之后,查询批次设备列表出错。 2.异常信息: An error occurred while querying the device list. ...
maristonchen 2019-12-01 19:07:55 362 浏览量 回答数 0

回答

Re手把手学IOT服务端API编程5、批量设备注册step by step ALI-IOT-SERVER-API 但是没有返回devicesecret啊,有什么用呢这样做
leslie的小号 2019-12-02 00:07:03 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 物联网平台是阿里云面向物联网领域开发人员推出的设备管理平台,旨在帮助开发者搭建数据通道,方便终端(如传感器、执行器、嵌入式设备、智能家电等)和云端进行双向通信。 物联网平台的主要功能如下: 设备接入 物联网平台提供设备端SDK让设备轻松接入阿里云。 提供2/3/4G、NB-IoT、LoRa等不同网络设备接入方案,解决企业异构网络设备接入管理痛点。 提供MQTT、CoAP等多种协议的设备SDK,既满足长连接的实时性需求,也满足短连接的低功耗需求。 开源多种平台设备端代码,提供跨平台移植指导,赋能企业基于多种平台做设备接入。 设备通信 设备可以使用物联网平台,通过IoT Hub与云端进行双向通信。物联网平台提供了设备与云端的上下行通道,为设备上报与指令下发提供稳定可靠的支撑。 设备管理 提供完整的设备生命周期管理功能,支持设备注册、功能定义、脚本解析、在线调试、远程配置、固件升级、远程维护、实时监控、分组管理、设备删除。 提供设备物模型,简化应用开发。 提供设备上下线变更通知服务,方便实时获取设备状态。 提供数据存储能力,方便用户海量设备数据的存储及实时访问。 支持OTA升级,赋能设备远程升级。 提供设备影子缓存机制,将设备与应用解耦,解决不稳定无线网络下的通信不可靠痛点。 安全能力 阿里云物联网平台提供多重防护有效保障设备云端安全。 身份认证 提供芯片级安全存储方案(ID²)及设备秘钥安全管理机制,防止设备密钥被破解。安全级别很高。 提供一机一密的设备认证机制,降低设备被攻破的安全风险,适合有能力批量预分配ID密钥烧入到每个芯片的设备。安全级别高。 提供一型一密的设备预烧,认证时动态获取三元组,适合批量生产时无法将三元组烧入每个设备的情况。安全级别普通。 通信安全 支持TLS(MQTT\HTTP)、DTLS(CoAP)数据传输通道,保证数据的机密性和完整性,适用于硬件资源充足、对功耗不是很敏感的设备。安全级别高。 支持TCP(MQTT)、UDP(CoAP)上自定义数据对称加密通道,适用于资源受限、功耗敏感的设备。安全级别普通。 支持设备权限管理机制,保障设备与云端安全通信。 支持设备级别的通信资源(TOPIC等)隔离,防止设备越权等问题。 规则引擎解析转发数据 规则引擎将物联网平台与阿里云的产品无缝打通,您可以配置简单规则,将设备数据转发至云产品中,进而获得存储、计算等其他服务。例如,基于规则引擎您可以: 配置规则实现设备与设备之间的通信,快速实现M2M场景。 将数据转发到消息队列(MQ)中,保障应用 消费 设备上行数据 的稳定可靠性。 将数据转发到表格存储(Table Store),提供设备数据采集 + 结构化存储的联合方案。 将数据转发到流计算(StreamCompute)中,提供设备数据采集 + 流式计算的联合方案。 将数据转发到HiTSDB,提供设备数据采集 + 时序数据存储的联合方案。 将数据转发到函数计算中,提供设备数据采集 + 事件计算的联合方案。
2019-12-01 23:11:53 0 浏览量 回答数 0

回答

详细解答可以参考官方帮助文档 物联网平台是阿里云面向物联网领域开发人员推出的设备管理平台,旨在帮助开发者搭建数据通道,方便终端(如传感器、执行器、嵌入式设备、智能家电等)和云端进行双向通信。 物联网平台的主要功能如下: 设备接入 物联网平台提供设备端SDK让设备轻松接入阿里云。 提供2/3/4G、NB-IoT、LoRa等不同网络设备接入方案,解决企业异构网络设备接入管理痛点。 提供MQTT、CoAP等多种协议的设备SDK,既满足长连接的实时性需求,也满足短连接的低功耗需求。 开源多种平台设备端代码,提供跨平台移植指导,赋能企业基于多种平台做设备接入。 设备通信 设备可以使用物联网平台,通过IoT Hub与云端进行双向通信。物联网平台提供了设备与云端的上下行通道,为设备上报与指令下发提供稳定可靠的支撑。 设备管理 提供完整的设备生命周期管理功能,支持设备注册、功能定义、脚本解析、在线调试、远程配置、固件升级、远程维护、实时监控、分组管理、设备删除。 提供设备物模型,简化应用开发。 提供设备上下线变更通知服务,方便实时获取设备状态。 提供数据存储能力,方便用户海量设备数据的存储及实时访问。 支持OTA升级,赋能设备远程升级。 提供设备影子缓存机制,将设备与应用解耦,解决不稳定无线网络下的通信不可靠痛点。 安全能力 阿里云物联网平台提供多重防护有效保障设备云端安全。 身份认证 提供芯片级安全存储方案(ID²)及设备秘钥安全管理机制,防止设备密钥被破解。安全级别很高。 提供一机一密的设备认证机制,降低设备被攻破的安全风险,适合有能力批量预分配ID密钥烧入到每个芯片的设备。安全级别高。 提供一型一密的设备预烧,认证时动态获取三元组,适合批量生产时无法将三元组烧入每个设备的情况。安全级别普通。 通信安全 支持TLS(MQTT\HTTP)、DTLS(CoAP)数据传输通道,保证数据的机密性和完整性,适用于硬件资源充足、对功耗不是很敏感的设备。安全级别高。 支持TCP(MQTT)、UDP(CoAP)上自定义数据对称加密通道,适用于资源受限、功耗敏感的设备。安全级别普通。 支持设备权限管理机制,保障设备与云端安全通信。 支持设备级别的通信资源(TOPIC等)隔离,防止设备越权等问题。 规则引擎解析转发数据 规则引擎将物联网平台与阿里云的产品无缝打通,您可以配置简单规则,将设备数据转发至云产品中,进而获得存储、计算等其他服务。例如,基于规则引擎您可以: 配置规则实现设备与设备之间的通信,快速实现M2M场景。 将数据转发到消息队列(MQ)中,保障应用 消费 设备上行数据 的稳定可靠性。 将数据转发到表格存储(Table Store),提供设备数据采集 + 结构化存储的联合方案。 将数据转发到流计算(StreamCompute)中,提供设备数据采集 + 流式计算的联合方案。 将数据转发到HiTSDB,提供设备数据采集 + 时序数据存储的联合方案。 将数据转发到函数计算中,提供设备数据采集 + 事件计算的联合方案。
2019-12-01 23:11:52 0 浏览量 回答数 0

回答

定制图片 网店店家进行商品图片维护时,需要根据商品陈列位置,将图片动态切割成不同尺寸,或者打上不同水印。当店家把图片上传到对象存储 OSS上,会通过函数计算上定制的trigger来触发函数计算。根据计算规则,生成不同尺寸的图片,满足在线商品陈列需求,整个过程无需再搭建额外服务器,也无需网站美工干预。 物联网中的低频请求 物联网行业中,物联网设备传输数据量小,且往往是以固定时间间隔进行数据传输,因此经常涉及低频请求场景。例如:物联网应用程序每分钟仅运行一次,每次运行 50ms,这意味着CPU的使用率仅为 0.1%/小时,或者说有 1000 个相同的应用可以共享计算资源。而Serverless架构下,用户可以购买每分钟 100ms 的资源来满足计算需求,既能有效解决效率问题,也能降低使用成本。 定制事件 用户注册时发邮件验证邮箱地址,同样可以通过定制的事件来触发后续的注册流程,而无需再配置额外的应用无服务器来处理后续的请求。 固定时间触发 事件触发固定时间触发,例如在夜间或者服务空闲时间来处理繁忙时候的交易数据,或者运行批量数据,来生成数据报表,通过Serverless方式,不用再额外购买利用率并不高的处理资源。
游客pklijor6gytpx 2019-12-02 03:23:59 0 浏览量 回答数 0

回答

iot.prod.CreateProductTopicFailed 创建产品的Topic类失败。 请确认入参信息正确,然后重试。 iot.prod.InvalidAliyunCommodityCode 入参AliyunCommodityCode值错误。 AliyunCommodityCode的可选值只有iothub_senior和iothub。 iot.prod.InvalidFormattedCatId 入参CategoryId(产品的设备类型)错误。 iot.prod.InvalidFormattedProductkey 入参产品ProductKey格式错误。 请核对输入的ProductKey值。 iot.prod.InvalidFormattedProductName 入参产品名称格式错误。 产品名应满足以下限制:由中文、英文字母、数字和下划线(_)组成,长度为4-30位(一个中文字符占两位)。 iot.prod.LongProductDesc 产品描述字符数超出限定值。 描述信息应在100字符以内。 iot.prod.InvalidNodeType 产品的节点类型错误。 节点类型支持的可选值: 0:设备 1:网关 iot.prod.NotExistedProduct 产品不存在。 输入的ProductKey值在当前账号下不存在。 iot.prod.NotOpenID2Service 没有开通ID²服务。 该产品在创建时没有开通ID²安全认证服务。ID²安全认证服务只能在创建产品时开通,并且,产品创建成功后,不能更改是否使用ID²认证的状态。 iot.prod.NotSeniorProduct 产品不是高级版产品。 iot.prod.NullProductKey 入参产品ProductKey不能为空。 iot.prod.NullProductName 入参产品名称不能为空。 iot.prod.ProductCountExceedMax 产品总数已超过最大限制数量。 一个阿里云账号下最多可有1,000个产品。 iot.prod.QueryDeviceCountActionError 查询产品下的设备总数失败。 请确认入参信息正确,然后重试。 iot.prod.QueryProductAbilitiesFailed 获取产品功能失败。 请确认入参信息是否正确,如Identifier值等。 iot.prod.QueryProductAbilityFailed 查询产品功能失败。 请确认入参信息是否正确,如Identifier值等。 iot.prod.QueryProductListActionError 获取产品列表数据失败。 请确认入参信息正确,然后重试。 iot.prod.UpdateProductFailed 更新产品信息失败。 请确认入参信息正确,然后重试。 设备(Device)相关错误码 以iot.device开头的错误码为设备相关错误码。 错误码 描述 iot.device.AddTopoRelationFailed 添加拓扑关系失败。 请确认入参信息正确,然后重试。 iot.device.AlreadyExistedDeviceName 设备名称已经存在。 设备名称需在产品维度唯一。 iot.device.ApplyManyDevicesFailed 申请批量创建设备失败。 请确认入参信息正确,然后重试。 iot.device.CreateDeviceFailed 创建设备失败。 请确认入参信息正确,然后重试。 iot.device.CreateDeviceTaskIsRunning 创建设备的申请任务还在执行中。 iot.device.DeviceApplyIsNotFound 申请设备的申请单不存在。 请确认输入的ApplyId值。其值需与您调用BatchCheckDeviceNames返回的ApplyId值一致。 iot.device.DeviceCountExceeded 批量申请的设备数量超过最大值。 单次调用,最多批量注册1,000 个设备。 iot.device.DeleteDeviceFailed 删除设备失败。 请确认入参信息正确,然后重试。 iot.device.DeleteDevicePropertyFailed 删除设备属性失败。 请确认入参信息正确,然后重试。 iot.device.DisableDeviceFailed 禁用设备失败。 请确认入参信息正确,然后重试。 iot.device.EnableDeviceFailed 启用设备失败。 请确认入参信息正确,然后重试。 iot.device.InactiveDevice 设备未激活,即物理设备从未连接物联网平台。 iot.device.InvalidFormattedApplyId 创建设备的申请单(ApplyId)错误。 其值需与您调用BatchCheckDeviceNames返回的ApplyId值一致。 iot.device.IncorrentDeviceApplyInfo 设备申请信息错误。 请确认入参信息,如ApplyId等。 iot.device.InvalidFormattedDeviceName 设备名称格式错误。 设备名称长度为4-32个字符,可以包含英文字母、数字和特殊字符:连字符(-)、下划线(_)、at符号(@)、点号(.)、和英文冒号(:)。 iot.device.InvalidFormattedDevicePropertyKey 设备属性标识符格式错误。 请查看相关API文档中,关于入参属性格式的描述。 iot.device.InvalidFormattedDevicePropertiesString 入参设备属性格式错误。 请查看相关API文档中,关于入参属性格式的描述。 iot.device.InvalidIoTId 设备ID错误。 请调用QueryDeviceDetail或QueryDevice查看正确的IotId值,或用ProductKey与DeviceName组合代替IotId。 iot.device.InvalidTimeBucket 指定的时间区间不合法。 请根据API文档中描述正确设置参数。 Asc为0倒序查询时,StartTime必须大于EndTime。 Asc为1正序查询时,StartTime必须小于EndTime。 iot.device.InvokeThingServiceFailed 调用设备服务失败。 请检查输入参数是否正确,如Args的参数格式和取值等。 iot.device.LongDevicePropertiesString 入参设备属性长度超过最大值。 请查看相关API文档的限制说明。 iot.device.NoneDeviceNameElement 设备名称列表为空。 iot.device.NoneDeviceProperties 没有有效的设备属性。 请核对传入的属性Identifier是否与TSL中定义的一致。 iot.device.NotExistedDevice 设备不存在。 传入的设备IotId、ProductKey或DeviceName值错误。请调用QueryDeviceDetail或QueryDevice查看正确值。 iot.device.NullApplyId 创建设备的申请ID(ApplyId)不能为空。 iot.device.NullDeviceName 设备名称不能为空。 iot.device.NullDevicePropertyKey 设备属性名称不能为空。 iot.device.NullDevicePropertiesString 入参设备属性不能为空。 iot.device.QueryDeviceApplyActionError 查询设备申请单信息出错。 请确认入参信息正确,然后重试。 iot.device.QueryDeviceAttrDataHistoryFailed 获取设备属性数据历史记录失败。 请确认入参信息正确,然后重试。 iot.device.QueryDeviceAttrStatusFailed 获取设备属性状态信息失败。 请确认入参信息正确,然后重试。 iot.device.QueryDeviceEventHistoryFailed 获取设备事件调用记录失败。 请确认入参信息正确,然后重试。 iot.device.QueryDeviceListActionError 查询设备列表失败。 请确认入参信息正确,然后重试。 iot.device.QueryDeviceServiceHistoryFailed 获取设备服务调用记录失败。 请确认入参信息正确,然后重试。 iot.device.QueryDeviceStatisticsFailed 查询设备统计信息失败。 请确认入参信息正确,然后重试。 iot.device.QueryDeviceStatusFailed 查询设备状态信息失败。 请确认入参信息正确,然后重试。 iot.device.QueryTopoRelationFailed 查询拓扑关系失败。 请确认入参信息是否正确。如,传入的PageSize值大于限定值50会报此错误。 iot.device.RemoveTopoRelationFailed 移除拓扑关系失败。 请确认入参信息正确,然后重试。 iot.device.SaveOrUpdateDevicePropertiesFailed 新增或者修改设备属性失败。 请确认入参信息正确,然后重试。 iot.device.SetDevicePropertyFailed 设置设备属性失败。 请检查入参Items的参数值和格式是否正确,指定的属性是否是读写型。 iot.device.TooManyDevicePropertiesPerTime 传入的属性个数超过限定值。 请参见相关API文档限制说明。 iot.device.TopoRelationCountExceeded 拓扑关系数量过多。 请参见使用限制中网关与子设备数量限制。 iot.device.VerifyDeviceFailed 验证设备失败。 请确认入参信息正确,然后重试。 设备分组(Group)相关错误码 以iot.group开头的错误码为设备分组相关错误码。 错误码 描述 iot.group.NullGroupId 入参分组ID没有赋值。 iot.group.DeleteGroupFailed 删除分组失败。 请确认入参信息正确,然后重试。 iot.group.SubGroupNotNull 分组下有子分组。 当分组下有子分组时,不能删除分组,需先删除子分组。 iot.group.InvalidGroupName 分组名称不合法。 分组名称可包含中文汉字、英文字母、数字和下划线(_)。长度范围 4 - 30 字符(一个中文汉字占二个字符)。 iot.group.GroupNameExisted 分组名称已存在。 iot.group.QueryGroupInfoFailed 查询分组详情失败。 请确认入参信息正确,然后重试。 iot.group.NotExistedGroup 分组不存在。 请确认GroupId值。 iot.group.QueryGroupCountFailed 查询分组数量失败。 请确认入参信息正确,然后重试。 iot.group.QueryGroupListFailed 查询分组列表失败。 请确认入参信息正确,然后重试。 iot.group.BindGroupRelationFailed 绑定分组关系失败。 请确认入参信息正确,然后重试。 iot.group.UpdateGroupFailed 修改分组信息失败。 请确认入参信息正确,然后重试。 iot.group.QueryGroupTreeFailed 获取分组关系结构失败。 请确认入参信息正确,然后重试。 iot.group.CreateGroupFailed 创建分组失败。 请确认入参信息正确,然后重试。 iot.group.InvalidFormattedTagString 标签格式不合法。 标签数据为JSON格式。由标签的tagKey和tagValue组成,tagKey和tagValue均不能为空。多个标签以英文逗号间隔。如,[{"tagKey":"h1","tagValue":"rr"},{"tagKey":"7h","tagValue":"rr"}]。 iot.group.TagCountExceedMax 标签数量超过最大值。 每个分组最多可有100个标签。 iot.group.GroupCountExceedMax 分组数量超过最大值。 一个分组最多可包含100个子分组。 一个设备最多可以被添加到10个分组中。 iot.group.SetGroupTagFailed 设置分组标签信息失败。 请确认入参信息正确,然后重试。 iot.group.QueryGroupTagFailed 查询分组标签信息失败。 请确认入参信息正确,然后重试。 iot.group.LongGroupDescError 分组描述字段过长。 分组描述长度限制为100字符(一个中文汉字占一个字符)。 iot.group.QueryGroupRelationFailed 查询分组关系失败。 请确认入参信息正确,然后重试。 iot.group.GroupLevelExceedingLimitError 分组层级超过限制。 分组只支持三级嵌套,即分组>子分组>子子分组。 消息相关错误码 以iot.messagebroker开头的错误码为消息相关错误码。此类错误码主要出现在调用消息通信相关API、设备影子相关API和规则引擎相关API失败时。(规则引擎相关API调用失败错误码,请见本文档下一章节。) 错误码 描述 iot.messagebroker.CreateTopicRouteFailed 创建Topic之间消息路由失败。 请确认入参信息正确,然后重试。 iot.messagebroker.CreateTopicTemplateException 创建Topic类过程发生异常。 请确认入参信息正确,然后重试。 iot.messagebroker.CreateTopicTemplateFailed 创建Topic类失败。 请确认入参信息正确,然后重试。 iot.messagebroker.DeleteTopicTemplateException 删除Topic类过程发生异常。 请确认入参信息正确,然后重试。 iot.messagebroker.DeleteTopicTemplateFailed 删除Topic类失败。 请确认入参信息正确,然后重试。 iot.messagebroker.DestTopicNameArraySizeIsLarge 同一消息源Topic配置的路由目标Topic数量超过最大限制数。 一个源Topic最多可对应100个目标Topic。 iot.messagebroker.DeleteTopicRouteFailed 删除指定Topic间的路由失败。 请确认入参信息正确,然后重试。 iot.messagebroker.DesireInfoInShadowMessageIsNotJson 设备影子中的desire信息不是JSON格式。 iot.messagebroker.DesireValueIsNullInShadowMessage 设备影子中的desire信息值为空。 iot.messagebroker.ElementKeyOrValueIsNullInDesire desire信息包含有空的属性标识符或者属性值。 iot.messagebroker.ElementKeyOrValueIsNullInReport report信息包含有空的属性标识符或者属性值。 iot.messagebroker.HALFCONN 由于设备为半连接状态导致失败。 iot.messagebroker.InvalidFormattedSrcTopicName 消息源Topic名称格式错误。 可在控制台设备详情页的Topic列表下查看设备的Topic。 iot.messagebroker.InvalidFormattedTopicName Topic格式错误。 可在控制台设备详情页的Topic列表下查看设备的Topic。 iot.messagebroker.InvalidFormattedTopicTemplateId Topic类ID格式错误。 可调用QueryProductTopic查看TopicId。 iot.messagebroker.InvalidTimeoutValue 超时时间参数设置有误。 请参见相关API文档查看时间设置方法。 iot.messagebroker.InvalidTopicTemplateOperationValue Topic类的操作权限值错误。操作权限取值: SUB:订阅。 PUB:发布。 ALL:发布和订阅。 iot.messagebroker.InvalidVersionValueInShadowMessage 设备影子中的version值错误。 iot.messagebroker.MethodValueIsNotUpdate 设备影子中的method信息值不是update。 iot.messagebroker.MessageContentIsNotBase64Encode 消息内容没有经过base64编码。 iot.messagebroker.NoneElementInDesire desire信息中没有属性。 iot.messagebroker.NoneElementInReport report信息中没有属性。 iot.messagebroker.NoneElementDestTopicNameInArray 目标Topic列表中没有元素。 iot.messagebroker.NotFoundDesireInShadowMessage 设备影子的state信息中没有desire信息。 iot.messagebroker.NotFoundMethodInShadowMessage 设备影子没有method信息。 iot.messagebroker.NotFoundReportInShadowMessage 设备影子中没有report信息。 iot.messagebroker.NotFoundStateInShadowMessage 设备影子中没有state信息。 iot.messagebroker.NotFoundVersionOrNullVersionValue 缺少version信息或者version值为空。 iot.messagebroker.NotMatchedProductKeyWithSrcTopicOwner 消息源Topic对应的产品ID不属于当前用户。 iot.messagebroker.NullMessageContent 消息内容不能为空。 iot.messagebroker.NullShadowMessage 设备影子内容不能为空。 iot.messagebroker.NullSrcTopicName 消息源Topic名称不能为空。 iot.messagebroker.NullTopicName Topic不能为空。 iot.messagebroker.NullTopicTemplateId Topic类ID不能为空。 iot.messagebroker.NullTopicTemplateOperation Topic类的操作权限不能为空。 iot.messagebroker.OFFLINE 由于设备离线导致失败。 iot.messagebroker.PublishMessageException 发送消息过程出现异常。 请确认入参信息正确,然后重试。 iot.messagebroker.PublishMessageFailed 发送消息失败。 请确认入参信息正确,然后重试。 iot.messagebroker.QueryDeviceShadowActionError 查询设备影子失败。 请确认入参信息正确,然后重试。 iot.messagebroker.QueryProductTopicListActionError 获取Topic类列表失败。 请确认入参信息正确,然后重试。 iot.messageborker.QueryTopicReverseRouteTableListActionError 获取消息反向路由列表(即消息源Topic列表)失败。 请确认入参信息正确,然后重试。 iot.messageborker.QueryTopicRouteTableListActionError 获取消息路由列表失败。 请确认入参信息正确,然后重试。 iot.messagebroker.QueryTopicTemplateActionError 查询Topic类失败。 请确认入参信息正确,然后重试。 iot.messagebroker.QueryTopicTemplateException 获取Topic类过程发生异常。 请确认入参信息正确,然后重试。 iot.messagebroker.RateLimit 由于限流导致失败。 请参见使用限制。 iot.messagebroker.ReportInShadowMessageIsNotJson 设备影子中的state信息中的report信息不是JSON格式。 iot.messagebroker.RrpcException RRPC发送消息过程出现异常。 请确认入参信息正确,然后重试。 iot.messagebroker.RrpcFailed RRPC发送消息失败。 请确认入参信息正确,然后重试。 iot.messagebroker.ShadowMessageIsNotJson 设备影子不是JSON格式。 iot.messagebroker.ShadowMessageLengthIsLarge 设备影子的长度超过最大限制。 设备影子文档的大小限制16 KB。 iot.messagebroker.TIMEOUT 由于超时导致失败。 iot.messagebroker.TooManyElementInDesire desire信息中包含的属性总数超过最大限定数。 设备影子JSON文档的属性数量限制为128。 iot.messagebroker.TooManyElementInReport report信息包含的属性总数超过限定最大数。 设备影子JSON文档的属性数量限制为128。 iot.messagebroker.TopicAlreadyFound 同一产品下Topic类名称重复。 iot.messagebroker.TopicTemplateCountExceedMax 产品的Topic类数量超过最大值。 一个产品最多可以定义50个Topic类。 iot.messagebroker.TopicTemplateIsNotFound Topic类不存在。 可调用QueryProductTopic查看产品的Topic类。 iot.messagebroker.UpdateDeviceShadowMessageFailed 更新设备影子失败。 请确认入参信息正确,然后重试。 iot.messagebroker.UpdateTopicTemplateException 更新Topic类过程发生异常。 请确认入参信息正确,然后重试。 iot.messagebroker.UpdateTopicTemplateFailed 更新Topic类失败。 请确认入参信息正确,然后重试。 规则相关错误码 以iot.rule和iot.ruleng开头的错误码,及少量iot.messagebroker开头的错误码,是规则引擎相关错误码。 提示出现异常或失败时,请确认入参信息正确,然后重试。 错误码 描述 iot.rule.CreateRuleException 创建规则过程发生异常。 请确认入参信息正确,然后重试。 iot.rule.DeleteRuleFailed 删除规则失败。 请确认入参信息正确,然后重试。 iot.rule.IncorrentRuleActionId 规则动作ID错误。 可调用ListRuleActions查看规则动作ID。 iot.rule.IncorrentRuleActionType 规则动作类型错误。 规则动作类型参数Type支持可选值: DATAHUB:DataHub ONS:消息队列(RokectMQ) MNS:消息服务 FC:函数计算 OTS:表格存储 说明 数据格式为二进制的规则(即规则的DataType参数是BINARY)不支持转发数据至OTS(表格存储)。 REPUBLISH:另一个物联网平台Topic。 iot.rule.IncorrentRuleId 规则ID错误。 iot.rule.NullForwardDestForRule 转发数据目的地不能为空。 Configuration中的具体配置方法,请参见CreateRuleAction。 iot.rule.NullSqlForRule 规则的SQL语句不能为空。 iot.rule.NotFoundRule 规则不存在。 请输入正确的规则ID (RuleId)。可调用ListRule查看账号下所有规则的RuleId。 iot.rule.NotFoundRuleAction 规则动作不存在。 请输入正确的规则动作ID (ActionId)。可调用ListRuleActions查看某个规则下的所有ActionId。 iot.rule.ParseRuleActionConfigError 无法正常解析规则动作的配置。 请确认入参信息正确,然后重试。 iot.rule.QueryRuleActionListError 查询规则动作列表失败。 请确认入参信息正确,然后重试。 iot.rule.QueryRulePageActionError 分页获取规则列表失败。 请确认入参信息正确,然后重试。 iot.rule.RuleActionIsAlreadyCreated 已存在相同的规则动作。 iot.rule.RuleCountExceedMax 规则总数超过最大限制数。 单账号最多可以设置1000条规则。 iot.rule.RuleNameIsAlreadyExisted 规则名称已经存在。 iot.rule.StartRuleFailed 启动规则失败。 请确认入参信息正确,然后重试。 iot.rule.StopRuleFailed 停止规则失败。 请确认入参信息正确,然后重试。 iot.rule.TooManyRuleAction 规则动作数量超过最大限制。 一条规则中转发数据的操作不能超过10个。 iot.rule.UpdateRuleFailed 更新规则失败。 请确认入参信息正确,然后重试。 iot.ruleng.CreateRuleActionFailed 创建规则动作失败。 请确认入参信息正确,然后重试。 iot.ruleng.DeleteRuleActionFailed 删除规则动作失败。 请确认入参信息正确,然后重试。 iot.ruleng.IncorrectType 应用规则的Topic类型错误。 TopicType支持的可选值: 0:系统Topic 1:自定义Topic 2:设备状态消息Topic iot.ruleng.IncorrectSysTopic 错误的系统Topic。 可在控制台设备详情页的Topic列表页签下查看正确的Topic。 iot.ruleng.InvalidRamRole 非法的RAM角色。 请登录RAM控制台查看角色信息。 iot.ruleng.QueryRuleActionFailed 获取规则动作失败。 请确认入参信息正确,然后重试。 iot.ruleng.RuleActionConfigurationIsNotJson 规则动作配置不是JSON格式。 参数Configuration的值必须是正确的JSON格式。具体请参见CreateRuleAction。 iot.ruleng.RuleAlreadyIsStarted 规则是已启动状态。 iot.ruleng.NullRamRoleArn roleArn不能为空。 iot.ruleng.NullRamRoleName roleName不能为空。 iot.ruleng.NullRuleActionConfig 规则动作配置(参数Configuration)不能为空。 iot.ruleng.NullRuleActionType 规则动作类型(参数Type)不能为空。 iot.messagebroker.IncorrectRuleSql 规则的SQL配置错误。 请根据CreateRule说明配置SQL。 iot.messagebroker.QueryRuleConfigActionException 获取规则配置信息过程出现异常。 请确认入参信息正确,然后重试。 以下表格分别列举消息转发目标设置失败的特有错误码。 表 1. 目标为REPUBLISH(另一个IoT Topic)的错误码 错误码 描述 iot.messagebroker.InvalidFormattedTopicName Topic格式错误。 可在控制台设备详情页的Topic列表页签下查看正确的Topic格式。 iot.prod.NotExistedProduct 产品不存在。 请确认输入的ProductKey正确,并该产品属于当前阿里云账号。 iot.common.QueryProductActionError 查询产品失败。 请确认入参信息正确,然后重试。 iot.ruleng.IncorrectSysTopic 系统Topic错误。 可在控制台设备详情页的Topic列表页签下查看正确的Topic。 iot.messagebroker.NullTopicName Topic名称不能为空。 表 2. 目标为DATAHUB(DataHub)的错误码 错误码 描述 iot.ruleng.IncorrectRegionName regionName值错误。 iot.ruleng.NullProjectOfDatahub DataHub的projectName不能为空。 iot.ruleng.NullTopicInDatahubProject DataHub产品下的project中topicName不能为空。 iot.ruleng.EmptySchemaNameOfTopic 目标DataHub Topic的Schema的名称name值不能为空。 iot.ruleng.EmptySchemaTypeOfTopic 目标DataHub Topic的Schema的类型type值不能为空。 iot.ruleng.EmptySchemaValueOfTopic 目标DataHub Topic的Schema值value不能为空。 iot.ruleng.NullOrEmptySchemaOfTopic 目标DataHub Topic的Schema不能为空。 iot.ruleng.NotFoundProjectInDataHub DataHub中不存在此项目(project)。 请在DataHub中确认项目名称是否正确。 iot.ruleng.IncorrectSchemaValueOfTopic 目标DataHub Topic的Schema值错误。 表 3. 目标为OTS(表格存储)的错误码 错误码 描述 iot.ruleng.NullOtsInstanceName 表格存储的实例名称不能为空。 iot.ruleng.NullTableNameInOtsInstance 表格存储中实例的表名不能为空。 iot.ruleng.NullPrimaryKeyInOtsTable 表格存储中表的主键不能为空。 iot.ruleng.NullPrimaryKeyNameInOts 主键的名称不能为空。 iot.ruleng.NullPrimaryKeyValueInOts 主键的值不能为空。 iot.ruleng.IncorrectPrimaryKeyValueInOtsTable 表格存储中主键值错误。 请在表格存储中,查看您创建数据表时定义的主键。 表 4. 目标为MNS(消息服务)的错误码 错误码 描述 iot.ruleng.NullTopicNameInMns 消息服务中的主题不能为空。 iot.ruleng.NotFoundTopicInMns 消息服务中不存在此主题。 请在消息服务中,确认主题(Topic)名称。 iot.ruleng.QueryMnsTopicListActionError 获取消息服务主题列表失败。 请确认入参信息正确,然后重试。 表 5. 目标为FC(函数计算)的错误码 错误码 描述 iot.ruleng.NullServiceNameInFc 函数计算服务名称为空。 iot.ruleng.NullFunctionNameInFc 函数计算函数名称为空。 iot.ruleng.NotFoundServiceInFc 函数计算服务不存在。 请在函数计算中,确认正确的服务名称。 表 6. 目标为ONS(消息队列)的错误码 错误码 描述 iot.messagebroker.NullTopicName 消息队列中接收消息的Topic不能为空。 数据开发API相关错误码 错误码 描述 iot.dap.noServeJobExit 数据开发服务API对应的任务不存在。 iot.dap.serveApiPathRepetition 服务API接口地址重复,即传入ApiPath已存在。 iot.dap.serveApiInvalidParam 调用服务API的参数检查不通过。 iot.dap.serveApiPublishStatusError 请先通过测试后,再发布任务。 iot.dap.serveApiDeleteStatusError 已发布的任务不可删除。 iot.dap.serveApiPublishedNotEditable 已发布的任务不可编辑。 iot.dap.folderHasServeApiPublished 存在已发布的服务API,不可删除文件夹。 iot.dap.serveApiNoPublished 服务API不在发布状态,无法回滚。 iot.dap.duplicateTableNameError 资源表名称重复。 iot.dap.serveApiAlreadyPublished 服务API已发布。 iot.dap.serveApiPathIsEmpty 服务API接口地址不能为空。 iot.dap.serveApiSqlTemplateError SQL模板信息异常,请校验并更新后,再尝试调用服务。 iot.dap.serveApiSqlInvokeParamError SQL参数错误,类型与值不匹配。 iot.dap.syncStartPipelineError 任务启动失败。 iot.dap.methodTimeout 接口调用超时。
保持可爱mmm 2020-03-27 15:53:19 0 浏览量 回答数 0

回答

本文以包含服务提供者和服务消费者的 Spring Cloud 应用为例,让您快速体验如何在本地开发、调试 Spring Cloud 应用并部署到 SAE 中,实现应用的服务注册与发现,以及消费者对提供者的调用。 背景信息 如果您对 Spring Cloud 很陌生,仅了解 Spring 和 Maven 基础知识,那么阅读本文后,您将掌握如何通过 Spring Cloud Alibaba Nacos Discovery 实现 Spring Cloud 应用的服务注册与发现,以及实现消费者对提供者的调用。 如果您熟悉 Spring Cloud 中的 Eureka、Consul 和 ZooKeeper 等服务注册组件,但未使用过 Spring Cloud Alibaba 的服务注册组件 Nacos Discovery,那么您仅需将服务注册组件的服务依赖关系和服务配置替换成 Spring Cloud Alibaba Nacos Discovery,无需修改任何代码。 Spring Cloud Alibaba Nacos Discovery 同样实现了 Spring Cloud Registry 的标准接口与规范,与您之前使用 Spring Cloud 接入服务注册与发现的方式基本一致。 如果您熟悉如何使用开源版本的 Spring Cloud Alibaba Nacos Discovery 实现 Spring Cloud 应用的服务注册与发现,那么您可以将应用直接部署到 SAE,即可使用到 SAE 提供的商业版服务注册与发现的能力,详情请参见应用部署概述。 为什么使用 SAE 服务注册中心 SAE 服务注册中心提供了开源 Nacos Server 的商用版本,使用开源版本 Spring Cloud Alibaba Nacos Discovery 开发的应用可以直接使用 SAE 提供的商业版服务注册中心。 SAE 服务注册中心与 Nacos、Eureka 和 Consul 相比,具有以下优势: 共享组件,节省了部署、运维 Nacos、Eureka 或 Consul 的成本。 在服务注册和发现的调用中都进行了链路加密,保护您的服务,无需再担心服务被未授权的应用发现。 SAE服务注册中心与 AE其他组件紧密结合,为您提供一整套的微服务解决方案,包括环境隔离、灰度发布等。 您在 SAE 部署应用时,SAE服务注册中心以高优先级自动设置Nacos Server服务端地址和服务端口,以及 namespace、access-key、secret-key、context-path 等信息,无需进行任何额外的配置。 视频教程 本视频仅介绍如何使用 Spring Cloud 开发微服务应用,部署部分请参见在SAE控制台部署应用。 准备工作 本地开发中主要描述开发中涉及的关键信息,如果您想了解完整的 Spring Cloud 应用程序,可下载 service-provider 和 service-consumer。 在开始开发前,请确保您已经完成以下工作: 下载 Maven 并设置环境变量。 下载最新版本的 Nacos Server。 按以下步骤启动 Nacos Server。 解压下载的 Nacos Server 压缩包 进入nacos/bin目录,启动 Nacos Server。 Linux/Unix/Mac 系统:执行命令sh startup.sh -m standalone。 Windows 系统:双击执行startup.cmd文件。 创建服务提供者 在本地创建服务提供者应用工程,添加依赖,开启服务注册与发现功能,并将注册中心指定为 Nacos Server。 创建命名为nacos-service-provider的 Maven 工程。 在 pom.xml 文件中添加依赖。 以 Spring Boot 2.1.4.RELEASE 和 Spring Cloud Greenwich.SR1 为例,依赖如下: org.springframework.boot spring-boot-starter-parent 2.1.4.RELEASE com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery 2.1.1.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-dependencies Greenwich.SR1 pom import org.springframework.boot spring-boot-maven-plugin 示例中使用的版本为 Spring Cloud Greenwich ,对应 Spring Cloud Alibaba 版本为 2.1.1.RELEASE。 如果使用 Spring Cloud Finchley 版本,对应 Spring Cloud Alibaba 版本为 2.0.1.RELEASE。 如果使用 Spring Cloud Edgware 版本,对应 Spring Cloud Alibaba 版本为 1.5.1.RELEASE。 说明 Spring Cloud Edgware 版本的生命周期已结束,不推荐使用这个版本开发应用。 在src\main\java下创建 Packagecom.aliware.edas。 在 Packagecom.aliware.edas中创建服务提供者的启动类ProviderApplication,并添加如下代码。 其中@EnableDiscoveryClient注解表明此应用需开启服务注册与发现功能。 package com.aliware.edas; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @SpringBootApplication @EnableDiscoveryClient public class ProviderApplication { public static void main(String[] args) { SpringApplication.run(ProviderApplication.class, args); } } 在 Packagecom.aliware.edas中创建EchoController,指定 URL mapping 为 {/echo/{String}},指定 HTTP 方法为 GET,方法参数从 URL 路径中获得,回显收到的参数。 package com.aliware.edas; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; @RestController public class EchoController { @RequestMapping(value = "/echo/{string}", method = RequestMethod.GET) public String echo(@PathVariable String string) { return string; } } 在src\main\resources路径下创建文件application.properties,在application.properties中添加如下配置,指定 Nacos Server 的地址。 其中127.0.0.1为 Nacos Server 的地址。如果您的 Nacos Server 部署在其他设备,则需要修改成对应的 IP 地址。如果有其它需求,可以参考配置项参考在application.properties文件中增加配置。 spring.application.name=service-provider server.port=18081 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 验证结果。 执行nacos-service-provider中ProviderApplication的main函数,启动应用。 登录本地启动的 Nacos Server 控制台http://127.0.0.1:8848/nacos(本地 Nacos 控制台的默认用户名和密码同为 nacos)。 在左侧导航栏中选择服务管理 > 服务列表。 可以看到服务列表中已经包含了service-provider,且在详情中可以查询该服务的详情。 创建服务消费者 本内容除介绍服务注册的功能,还将介绍 Nacos 服务发现与 RestTemplate 和 FeignClient 两个客户端如何配合使用。 创建命名为nacos-service-consumer的 Maven 工程。 在pom.xml中添加依赖。 org.springframework.boot spring-boot-starter-parent 2.1.4.RELEASE com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery 2.1.1.RELEASE org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-openfeign org.springframework.cloud spring-cloud-dependencies Greenwich.SR1 pom import org.springframework.boot spring-boot-maven-plugin 在src\main\java下创建 Packagecom.aliware.edas。 在 Packagecom.aliware.edas中配置 RestTemplate 和 FeignClient。 在 Packagecom.aliware.edas 中创建一个接口类EchoService,添加@FeignClient注解,并配置对应的 HTTP URL 地址及 HTTP 方法。 package com.aliware.edas; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @FeignClient(name = "service-provider") public interface EchoService { @RequestMapping(value = "/echo/{str}", method = RequestMethod.GET) String echo(@PathVariable("str") String str); } 在 Packagecom.aliware.edas 中创建启动类ConsumerApplication并添加相关配置。 使用@EnableDiscoveryClient注解启用服务注册与发现。 使用@EnableFeignClients注解激活 FeignClient。 添加@LoadBalanced注解将 RestTemplate 与服务发现集成。 package com.aliware.edas; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; @SpringBootApplication @EnableDiscoveryClient @EnableFeignClients public class ConsumerApplication { @LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); } public static void main(String[] args) { SpringApplication.run(ConsumerApplication.class, args); } } 在 Packagecom.aliware.edas 中创建类TestController以演示和验证服务发现功能。 package com.aliware.edas; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; @RestController public class TestController { @Autowired private RestTemplate restTemplate; @Autowired private EchoService echoService; @RequestMapping(value = "/echo-rest/{str}", method = RequestMethod.GET) public String rest(@PathVariable String str) { return restTemplate.getForObject("http://service-provider/echo/" + str, String.class); } @RequestMapping(value = "/echo-feign/{str}", method = RequestMethod.GET) public String feign(@PathVariable String str) { return echoService.echo(str); } } 在 src\main\resources 路径下创建文件 application.properties,在 application.properties 中添加如下配置,指定 Nacos Server 的地址。 其中 127.0.0.1:8848 为 Nacos Server 的 IP 地址。如果您的 Nacos Server 部署在其他设备,则需要修改成对应的地址。如果有其它需求,可以参考配置项参考在application.properties 文件中增加配置。 spring.application.name=service-consumer server.port=18082 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 验证结果。 执行nacos-service-consumer 中 ConsumerApplication 的 main 函数,启动应用。 登录本地启动的 Nacos Server 控制台 http://127.0.0.1:8848/nacos(本地 Nacos 控制台的默认用户名和密码同为 nacos)。 在左侧导航栏中选择服务管理 > 服务列表,可以看到服务列表中已经包含了service-consumer,且在详情中可以查询该服务的详情。 本地测试 在本地测试消费者对提供者的服务调用结果。 Linux/Unix/Mac 系统:运行以下命令。 curl http://127.0.0.1:18082/echo-rest/rest-rest curl http://127.0.0.1:18082/echo-feign/feign-rest Windows系统:在浏览器中输入 http://127.0.0.1:18082/echo-rest/rest-rest 和 http://127.0.0.1:18082/echo-feign/feign-rest。 将应用部署到 SAE 在本地完成应用的开发和测试后,便可将应用打包并部署到 SAE。详细步骤请参见部署应用概述。 注意 SAE 暂不支持创建空应用,因此第一次部署需在控制台完成。 如果使用 JAR 包部署,在应用部署配置时选择应用运行环境为标准 Java 应用运行环境。 如果使用 WAR 包部署,在应用部署配置时应用运行环境为apache-tomcat-XXX。 当您将应用部署到 SAE 时,SAE 服务注册中心会以更高优先级去设置 Nacos Server 服务端地址和服务端口,以及 namespace、access-key、secret-key、context-path 信息。您无需进行任何额外的配置,原有的配置内容可以选择保留或删除。 说明 使用自建 Nacos 时请确保 SAE 的网络与自建 Nacos 的网络互通。 使用自建 Nacos 为服务注册中心,在部署应用时建议使用镜像方式或者 JAR 包方式,并配置启动参数-Dnacos.use.endpoint.parsing.rule=false和-Dnacos.use.cloud.namespace.parsing=false。 如采用镜像方式,请将-Dnacos.use.endpoint.parsing.rule=false和-Dnacos.use.cloud.namespace.parsing=false配置在镜像文件中。 如果 JAR 包方式,请在部署时启动命令中设置。SAE自建Nacos部署应用之启动命令 如何制作镜像,具体请参见制作应用容器 Docker 镜像。 结果验证 为部署到 SAE 的应用绑定 SLB,具体操作请见绑定公网 SLB。 在浏览器输入配置好的公网访问地址,并在应用首页发起调用请求。 登录 SAE 控制台,进入消费者应用详情页面,在左侧导航栏选择应用监控 > 应用总览,查看服务调用数据总览。 如果能够监测到调用数据,则说明服务调用成功。 配置项参考 配置项 Key 默认值 说明 服务端地址 spring.cloud.nacos.discovery.server-addr 无 Nacos Server 启动监听的 IP 地址和端口。 服务名 spring.cloud.nacos.discovery.service ${spring.application.name} 给当前的服务命名。 网卡名 spring.cloud.nacos.discovery.network-interface 无 当 IP 未配置时,注册的 IP 为此网卡所对应的 IP 地址。如果此项也未配置,则默认取第一块网卡的地址。 注册的 IP 地址 spring.cloud.nacos.discovery.ip 无 优先级最高 注册的端口 spring.cloud.nacos.discovery.port -1 默认情况下不用配置,系统会自动探测。 命名空间 spring.cloud.nacos.discovery.namespace 无 常用场景之一是不同环境的注册的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等。 Metadata spring.cloud.nacos.discovery.metadata 无 使用 Map 格式配置,用户可以根据自己的需要自定义一些和服务相关的元数据信息。 集群 spring.cloud.nacos.discovery.cluster-name DEFAULT 配置成 Nacos 集群名称。 接入点 spring.cloud.nacos.discovery.enpoint UTF-8 地域的某个服务的入口域名,通过此域名可以动态地拿到服务端地址,此配置在部署到 EDAS 时无需填写。 是否集成 Ribbon ribbon.nacos.enabled true 一般不需要修改 更多关于 Spring Cloud Alibaba Nacos Discovery 的信息请参见开源版本的 Spring Cloud Alibaba Nacos Discovery 文档。 常见问题 示例中使用的 Spring Cloud 版本为 Greenwich,对应的 Spring Cloud Alibaba 版本为 2.1.1.RELEASE。Spring Cloud Finchley 对应的 Spring Cloud Alibaba 版本为 2.0.1.RELEASE,Spring Cloud Edgware 对应的 Spring Cloud Alibaba 版本为 1.5.1.RELEASE。 说明 Spring Cloud Edgware 版本的生命周期已结束,不推荐使用这个版本开发应用。 更多信息 更多关于 Spring Cloud Alibaba Nacos Discovery 的信息,请参见 Spring Cloud Alibaba Nacos Discovery。 如果您在本地开发了依赖 Eureka、Consul、ZooKeeper 等组件实现的服务注册与发现的 Spring Cloud 应用,那么修改该应用的依赖配置并部署至 SAE 的相关操作请参见将 Spring Cloud 应用托管到 SAE。 在SAE部署完成后,您可以对应用进行更新、扩缩容、启停、删除应用等生命周期管理操作,具体操作方式请参见管理应用生命周期。 在SAE部署完成后,您可以对应用进行自动弹性伸缩、SLB绑定和批量启停等提升应用性能的操作,具体操作方式请参见如下文档。 绑定SLB 配置弹性伸缩 一键启停应用 配置管理 变更实例规格
1934890530796658 2020-03-27 11:56:03 0 浏览量 回答数 0

回答

事件请求场景 定制图片 网店店家进行商品图片维护时,需要根据商品陈列位置,将图片动态切割成不同尺寸,或者打上不同水印。当店家把图片上传到对象存储 OSS上,会通过函数计算上定制的trigger来触发函数计算。根据计算规则,生成不同尺寸的图片,满足在线商品陈列需求,整个过程无需再搭建额外服务器,也无需网站美工干预。 物联网中的低频请求 物联网行业中,物联网设备传输数据量小,且往往是以固定时间间隔进行数据传输,因此经常涉及低频请求场景。例如:物联网应用程序每分钟仅运行一次,每次运行 50ms,这意味着CPU的使用率仅为 0.1%/小时,或者说有 1000 个相同的应用可以共享计算资源。而Serverless架构下,用户可以购买每分钟 100ms 的资源来满足计算需求,既能有效解决效率问题,也能降低使用成本。 定制事件 用户注册时发邮件验证邮箱地址,同样可以通过定制的事件来触发后续的注册流程,而无需再配置额外的应用无服务器来处理后续的请求。 固定时间触发 事件触发固定时间触发,例如在夜间或者服务空闲时间来处理繁忙时候的交易数据,或者运行批量数据,来生成数据报表,通过Serverless方式,不用再额外购买利用率并不高的处理资源。 流量突发场景 弹性扩展应对突发流量 移动互联网应用经常会面对突发流量场景。例如:移动应用的通常流量情况是 QPS 20,但每隔 5 分钟会有一个持续 10s 的 QPS 200 流量(10 倍于通常流量)。传统架构下,企业必须扩展 QPS 200 的硬件能力来应对业务高峰,即使高峰时间仅占整个运行时间的4%。 在Serverless架构下,您可以利用弹性扩展特性,快速构建新的计算能力来满足当前需求,当业务高峰后,资源能够自动释放,有效节省成本。 转码和流量扩容 视频直播某次专场活动,由于无法预估会有多少点播的观众视频接入,把转码和流量扩容这部分内容通过Function来处理,无需考虑并发和流量扩容。 处理大数据场景 由于安全审计问题,您需要从OSS(多个地域)过去一年的数据(1 个小时一个文件)中找出特定关键字访问的日志,同时做聚合运算(计算出总值)。如果使用阿里云函数计算,您将高峰期每 2 小时的访问日志,或者低谷期每 4 小时的访问日志交给一个计算函数处理,并将处理结果存到RDS中。使用一个函数分派数据给另一个函数,使其执行成千上万个相同的实例。 这样会同时运行近千个计算函数(24 x 365 / 10),在不到一分钟的时间内完成整个工作。同样的事情交给ECS+计算脚本来做计算,单单为这些instance配置网络就让人头疼(不同地域无法走内网下载OSS文件):instance的数量可能已经超出了子网中剩余IP地址的数量(比如,您的VPC使用了24位掩码)。 下面结合阿里云的函数计算产品来讲解各个应用场景中地架构以及如何解决场景中的痛点。阿里云的函数计算是基于Serverless这种架构实现的一个全托管产品,用户只需要上传核心代码到函数计算,就可以通过事件源或者SDK&API来运行代码。函数计算会准备好运行环境,并根据请求峰值来动态扩容运行环境。函数计算是按照执行时间来计费,请求处理完成后,计费停止,对于有业务请求有明显高峰和低谷的应用来说,相对节省成本。
剑曼红尘 2020-03-23 15:07:05 0 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT