• 关于

    阿里大于 000

    的搜索结果

问题

企业级分布式应用服务 EDAS名词含义是什么?

Ali-TomcatAli-Tomcat 是 EDAS 中的服务运行时必须依赖的一个容器,主要集成了服务的发布、订阅、调用链追踪等一系列的核心功能,无论是开发环境还是运行时,均必须将应用程序发布在该...
猫饭先生 2019-12-01 21:03:04 1084 浏览量 回答数 0

回答

首先“缓存”Cache这个东西是干什么的,我们应该先有些基本的了解。要是不太明白的可以看看网上的解释:http://baike.baidu.com/view/907.htm 简单讲,阿里云OCS提供的功能就是提供对热点数据的高速访问。在使用OCS之前(或者在使用任何一种缓存服务之前),我们都应该明白关于缓存的这么几点: 缓存里的数据不是持久化保存的,也就是说它像是电脑里的内存,而不像硬盘;我们不能指望OCS里的数据一直保存不丢失。如果你真的需要存储持久化的数据,也许你应该出门左转找阿里云OSS(开发存储服务); 缓存里存的应该是“热点”数据。遵循常常出现的“20-80法则”,通常程序应用中都有一定比例的数据常常被请求访问,这就是所谓的热点数据,OCS正是为这种数据设计存在的。假定我们的程序中有100个数据,每次访问这些数据的概率完全是均匀分布的1/100,那么使用缓存的效果就不会太好,因为这其中不存在热点数据。 数据逐出。我们可以决定哪些数据是热点数据被放到缓存当中,但是如果我们的缓存容量不够大,这些热点数据中某些最近较少被用到的数据还是会被“挤出去”,这种行为叫做数据逐出。如果想减少出现这种情况,我们可以购买更高容量的OCS。 -------------------------         在开始使用之前,关于阿里云OCS,我们还需要知道以下这些事: 阿里云OCS仅支持阿里云内网访问,不支持公网访问。也就是说,我们用办公室或者家里的电脑(都属于公网)是无法连上阿里云OCS的。为什么会这样呢?因为缓存服务的根本目标是要提供低延迟的高速访问,而从公网电脑来连接OCS服务器的场景下,公网的网络环境是不可控的,可能出现延迟很高甚至断连接的情况,这使得缓存服务无法保证“高速、低延迟”的基本特性,所以阿里云OCS是不支持公网直接访问的。如果觉得高延迟的情况对于我们的应用也能接受,那么我们应该去选择阿里云其他的产品(比如OSS开放存储服务),而不应该选择OCS缓存服务。 阿里云OCS需要与ECS(阿里云服务器)配合使用,而且只能与本地区节点的ECS连通。这一点与上一条相关。OCS只能从阿里云内网访问,也就是说我们只能从阿里云ECS上才能访问并使用OCS服务。所以我们在官网购买OCS的时候,会看到提示信息说需要至少有一台ECS才能买OCS。另外,阿里云ECS是分地区节点的,比如北京、杭州、青岛等,我们在购买OCS缓存的时候也要选相应的地区节点。北京的ECS只能访问北京的OCS,而不能访问杭州或青岛的OCS。 阿里云OCS是按购买量收费的,而不是按使用量收费。这点需要提醒新同学们注意,在我们购买了OCS缓存之后,计费就已经开始了,即使我们还没有真正使用缓存。也就是说,我们买了1G的OCS缓存后,即使目前使用量为0,系统也会按照1G的标准来计费。所以我们在购买OCS的时候,要选取适合我们业务数据需要的缓存档位。当然了,阿里云OCS也提供在线升降缓存容量的功能。也就是说,如果我们在使用了一段时间之后,发现购买的OCS缓存不够用了(或者缓存使用量太低),我们可以在线的对已有的OCS实例进行升档(或者降档),而OCS缓存服务不会被中断。 阿里云OCS对于存贮的对象大小是有限制的。缓存通常对其内部存储的数据尺寸是有限制的,阿里云OCS也一样。目前OCS支持存储的数据对象的上限是1,000,000Byte。如果要存的值超过这个限制,我们应该考虑把数据压缩,或从逻辑上分成不同键存储的几个值。 ------------------------- 现在我们开始在阿里云官网上购买OCS实例  http://buy.aliyun.com/ocs  首先我们需要已经有了一台阿里云ECS,否则我们无法在这个页面成功购买OCS。购买的第一步,我们先要确定选择买哪个地区的OCS;这个很重要,如上面所说,如果我们的ECS是属于北京,而我们在这里购买了杭州的OCS,那么这两者是无法配合协同工作的。所以,在购买OCS的时候一定要选择应用服务器ECS所在地区的OCS。下一步是要选择OCS缓存容量。我们要购买多大的缓存,这个取决于我们对自身业务应用中热点数据总量大小的判断。如果一时难以准确判断数据量,也不用担心:我们可以先买一个大致容量的OCS(比如1GB),随后在使用过程中,通过OCS控制台提供的监控功能,我们可以了解到目前OCS缓存的使用量等数据,然后可以自主的调整所需的缓存量,购买更大的缓存(比如升到5GB)或者减少已购的缓存量(比如降到512MB),阿里云会根据我们选择的新配置来调整对应的收费。此外在选择缓存容量的时候,要知道不同容量的缓存档位对应着不同的性能配额,具体来说包括两个指标:吞吐量带宽与每秒请求处理数(QPS)。比如以现在的配额标准,1GB的OCS缓存对应5MB/sec的吞吐量带宽和3000次/sec的请求处理峰值。当我们使用OCS的时候,如果数据量传输的带宽超过了5MB/s, 或者每秒的请求数超过了3000次,都会触发性能配额控制机制,导致某些请求无法返回正常结果。在确定了地区和缓存容量之后,我们就可以直接下单购买OCS了。 ------------------------- 在成功购买OCS之后,我们的联系邮箱和手机都会收到OCS创建成功的通知,里面会包括OCS的实例ID和初始密码(关于密码的用处后面会讲到)。我们现在登录OCS控制台, http://ocs.console.aliyun.com/ 就可以看到已经购买到的OCS实例列表。在列表页面上对应OCS实例的后面点击“管理”,就可以进入该OCS实例的详情页,看到更多的详细信息。 ------------------------- 我们现在已经有了一个OCS缓存实例,现在是时候试玩OCS了。要使用OCS就要写一点程序代码,不过不用担心,我们在这里采用“Happy-Path”的方法,从最简单的操作开始,让新上手的菜鸟们能马上就有一个能调用OCS缓存服务的程序。OCS提供缓存服务,它并不要求我们的程序是哪种语言来写的。我们这里先以Java程序为例,写一个最简单的“Hello World”。(其他编程语言的例子,我们随后附上。)第一步,登录你的阿里云ECS服务器,在上面安装Java JDK和你常用的IDE(比如Eclipse)。一定要记得我们之前说过的,只有在阿里云内网的ECS服务器上,才能访问我们的OCS实例。所以,用家里或是公司的电脑执行下面的代码示例是看不到结果的。 Java JDK和Eclipse都很容易从网上找到下载,比如 http://download.eclipse.org/ 或者 http://www.onlinedown.net/soft/32289.htm 第二步,在把Java开发环境准备好了之后,下载第一个代码示例(Sample-Code-1第三步,在Eclipse里面打开刚下载的OcsSample1.java,我们要根据自己的OCS实例信息修改几个地方。        我们每个人买到的OCS实例的ID都是不重复的,其对应的阿里云内网地址也是独一无二的,这些信息都在OCS控制台上显示出来。我们在同自己的OCS实例建立连接的时候,需要根据这些信息修改OcsSample1.java中的对应地方。         public static void main(String[] args) {                                        final String host = "b2fd2f89f49f11e3.m.cnqdalicm9pub001.ocs.aliyuncs.com"; //控制台上的“内网地址”                   final String port ="11211";       //默认端口 11211,不用改                   final String username = "b2fd2f89f49f11e3"; //控制台上的“访问账号”                   final String password = "my_password"; //邮件或短信中提供的“密码”                   …… …… ……       信息修改完毕,我们可以运行自己的程序了。运行main函数,我们会在Eclipse下面的console窗口看到下面这样的结果(请忽略可能出现的红色INFO调试信息): OCS Sample CodeSet操作完成!Get操作: Open Cache Service,  from www.Aliyun.com     OK,搞定!我们已经成功的连接上了阿里云的OCS并且调用缓存服务成功,就这么简单。-------------------------我们已经成功运行了第一个调用阿里云OCS缓存服务的Sample程序OcsSample1.java,现在我们看看这个程序里都做了什么。                                  …… …… ……                            System.out.println("OCS Sample Code");                                                        //向OCS中存一个key为"ocs"的数据,便于后面验证读取数据,                             //这个数据对应的value是字符串 Open Cache Service,  from www.Aliyun.com                            OperationFuture future = cache.set("ocs", 1000," Open Cache Service,  from www.Aliyun.com");                            //向OCS中存若干个数据,随后可以在OCS控制台监控上看到统计信息                            for(int i=0;i<100;i++){                                String key="key-"+i;                                String value="value-"+i;                                 //执行set操作,向缓存中存数据                                cache.set(key, 1000, value);                            }                             System.out.println("Set操作完成!");                             future.get();  //  确保之前(cache.set())操作已经结束                         //执行get操作,从缓存中读数据,读取key为"ocs"的数据                            System.out.println("Get操作:"+cache.get("ocs"));                            …… …… …… 从这些代码中可以看出: 1. 我们在建立与OCS缓存服务器的连接后,先是向缓存中存(set)了一个“key-value”(键值对)形式的数据,这个数据的key是字符串“ocs”,其对应的value也是字符串;2. 接着我们继续向缓存中存(set)了100个其他简单的“key-value”数据。3. 最后我们进行功能验证。根据之前给定的key,从缓存中获取(get)其对应的value:也就是输入字符串“ocs”,缓存给我们返回value对应的字符串。 以上的步骤中,1与3是相对应的,我们只有先向缓存中set了某个数据,后面才能从缓存中get到这个数据。步骤2中程序向缓存set了100个数据,是为了从另一个方面进行验证。我们回到阿里云OCS控制台,打开“实例详情”页,在“实例监控”的部分点击刷新,会看到其中一些监控项的值已经发生了变化(注:监控信息的刷新可能存在数秒的延迟), 其中的“Key的个数”已经变成了101,也就是说我们程序已经成功地向OCS缓存中存放了101个数据。-------------------------在写下一篇技术贴之前,列一些OCS用户在入门时问到的问题,方便其他刚认识OCS的同学:Question:买了1G的OCS,那就相当于这个1G是专门缓存用的,与ECS服务器的内存没关系是吧~Answer:是的,OCS的缓存容量与您ECS的内存容量是没关系的。Question:OCS 外网测试,怎么连接?有没有外网连接地址哦?Answer:OCS是不能从外网访问的。参照上面的文章。Question:我之前那个OCS可以正常使用,但现在换了一个OCS就不行了,怎么回事?Answer:经核实您的主机是属于杭州节点的,而现在这个OCS是青岛节点的,不同地域之间的产品内网不互通。Question:在设置一个value时,如果指定过期时间为0,会永久保留吗?Answer:指定过期时间为0,OCS就认为此数据不根据过期时间发生淘汰;但是,此数据仍有可能基于LRU被其他数据淘汰,或者由内存清理造成丢失 ,因此不能认为这个value会永久保留。 Question:对OCS的访问是否需要负载均衡? Answer:不需要。对访问请求的负载均衡都是在OCS服务器端来进行的,用户直接使用缓存服务即可,不用考虑负载均衡的事情。 Question:OCS是否会主动关闭闲置的连接? 如果会,请问连接闲置多久会被关闭?Answer:OCS不会主动关闭闲置的用户连接。但是用户的环境如果使用了SLB,则需要参考SLB连接关闭时间。Question:如何设置数据在OCS缓存中的过期时间 ?Answer:关于设置缓存数据的过期时间,可以参考Memcached官方说明: https://code.google.com/p/memcached/wiki/NewCommands An expiration time, in seconds. Can be up to 30 days. After 30 days, is treated as a unix timestamp of an exact date. 翻译过来就是:0~2592000表示从当前时刻算起的时间长度(以秒计算,最长2592000即30天);大于2592000表示UNIX时间戳。 此值设置为0表明此数据不会主动过期。------------------------- 回 12楼(村里一把手) 的帖子 谢谢,要让大家用得好才算数。 -------------------------缓存与数据库相结合使用,是常见的一种应用搭配场景。现在我们再看一个例子,是用OCS搭配MySQL数据库使用。Java示例代码在此(这个示例代码中,大部分与前几个例子类似。因为要与数据库结合,所以程序需要依赖一个JDBC的jar包才能运行。支持MySQL的JDBC jar包在此(在程序中添加MySQL数据库的连接信息:     …… …… ……            // JDBC driver name and database URL    static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";    static final String DB_URL = "jdbc:mysql://xxxxxxx.mysql.rds.aliyuncs.com/testdb"; //MySQL数据库URL        //  Database用户名及密码    static final String DB_USER = "xxxxxx";    static final String DB_PASS = "xxxxxx";            我们设想这样一个场景:我们需要从数据库的tableone表中查找区域不属于北京的记录总数,用SQL表示就是:SELECT count(*)  FROM testdb.tableone where region != 'beijing'假定这个表中的数据如下,则这条SQL查询返回的结果就是7:如果这个查询被调用到的频率很高,多个用户反复不断的在数据库中查这个数据,我们就可以把这个查询结果放到OCS缓存中去。看下面的代码片段,我们用for循环模拟用户连续20次在数据库中查询上述SQL语句:              for (int i = 1; i <= 20; i++) {                String sql = "SELECT count(*)  FROM testdb.tableone where region != 'beijing'";                String key ="non-beijing"; //给SQL语句自定义一个key                //在OCS缓存里按key查找               String value =  (String) cache.get(key);                                if (value == null) {                    // 在OCS缓存里没有命中                    // step 1:从My SQL数据库中查询                    //Load MySQL Driver                      Class.forName(JDBC_DRIVER);                     con = DriverManager.getConnection(DB_URL, DB_USER, DB_PASS);                    ps = con.prepareStatement(sql);                    ResultSet result = ps.executeQuery(sql);                    result.next();                                        value=result.getString(1);                    System.out.println("从MySQL中查询数据.  Key= "+key+" Value="+value);                                       // step 2: 把数据库返回的数据作为value存放到OCS缓存中去                    cache.set(key, EXPIRE_TIME, value);                                    } else {                    // 在OCS缓存里命中                    System.out.println("从OCS中读取数据.     Key= "+key+" Value="+value);                }                            }// end of for在这段代码中我们可以看到,我们给这条SQL语句标记了一个key,当有用户要执行这条SQL的时候,我们首先按照key在OCS缓存中查找:如果没有对应的缓存数据,则连接MySQL数据库执行SQL查询,把结果返回给用户,并把这个查询结果存到OCS缓存中去;如果OCS中已经有了对应的缓存数据,则直接把缓存数据返回给用户。运行结果如下: 从MySQL中查询数据.  Key= non-beijing, Value=7从OCS中读取数据.     Key= non-beijing, Value=7从OCS中读取数据.     Key= non-beijing, Value=7从OCS中读取数据.     Key= non-beijing, Value=7…… …… 从结果可以看出,程序第1次是从MySQL数据库当中查询数据,后面的19次都是从OCS缓存中获取key对应的value直接返回。也就是说,OCS降低了程序去连接MySQL数据库执行SQL查询的次数,减轻了对数据库的负载压力。用户对热点数据访问的频率越高,OCS的这种优势就越明显。
唐翰 2019-12-01 23:41:23 0 浏览量 回答数 0

问题

Java-SDK之如何实现上传文件(四)?

上传分片 初始化一个Multipart Upload之后,可以根据指定的Object名和Upload ID来分片(Part)上传数据。每一个上传的Part都有一个标识它的号码——分片号...
青衫无名 2019-12-01 21:39:49 1170 浏览量 回答数 0

阿里云通信

短信服务是阿里云为用户提供的一种通信服务的能力。 支持国内和国际快速发送验证码、短信通知和推广短信。

问题

MaxCompute百问集锦(持续更新20171011)

大数据计算服务(MaxCompute,原名 ODPS)是一种快速、完全托管的 GB/TB/PB 级数据仓库解决方案。MaxCompute 向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效...
隐林 2019-12-01 20:19:23 38430 浏览量 回答数 18

回答

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

问题

什么是函数计算事件处理函数

在创建函数时,您需要指定一个事件处理函数(event handler function),以供函数计算服务执行代码时调用。Node.js 事件处理函数签名为: [back...
boxti 2019-12-01 21:48:44 866 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板