IBM Cloudant 的服务更改和废弃
您可以在此处查看 IBM® Cloudant® for IBM Cloud® 的不推荐使用项。
IBM Cloudant 从2025年3月 开始,实例将限制为200个dbs 1st
从3月 3rd 开始,新的 Cloudant 实例将在该实例内创建的数据库数量上受到限制。
- 每个 Cloudant 标准实例在任何时候最多只能有200个数据库。
- 每个 Cloudant Lite实例在任何时候最多只能有20个数据库。
- 该限制不适用于在2025年3月 3rd 之前创建的任何 Cloudant 实例。 这些情况将继续不受限制。
一旦达到限制,任何创建额外数据库的尝试都会收到一封 HTTP 403
回复。 Cloudant 实例的当前数据库数量可通过 /_api/v2/user/current/databases
API调用获取,允许的数据库数量可从 /_api/v2/user/capacity/databases
端点获取。
如果一个应用程序总共需要超过200个数据库,那么它应该被配置为在多个 Cloudant 实例中存储数据,或者您可以联系支持人员,根据具体情况批准例外。
IBM Cloudant升级JavaScript引擎
详细信息
设计文档中使用的JavaScript引擎正在升级,以支持 更新的语言功能,并优化索引构建速度。 但是 有些JavaScript语言功能已被弃用,有些则会改变它们的 行为:
RegExp.$1...$9
正则表达式功能已被弃用。$1
...... "$9
属性将返回 "undefined
。 例如:
上一个结果
> v="abc"
"abc"
> v.match(/(b)/)
["b", "b"]
> RegExp.$1
"b"
新用途:
> v="abc"
"abc"
> RegExp.$1
undefined
Date.prototype.toString()
的结果不包括时区名称,只有偏移量。 例如:
上一个结果
> (new Date()).toString();
"Thu Sep 05 2024 17:04:03 GMT-0400 (EDT)"
新结果
> (new Date()).toString();
"Thu Sep 05 2024 17:03:23 GMT-0400"
-
for each (var x in ...)
经验已被弃用 -
E4X(ECMAScript for XML)已被弃用
上一个结果
> var xml = <root><x></x></root>
> xml.(x)
<root>
<x/>
</root>
新结果
> var xml = <root><x></x></root>
typein:1:11 SyntaxError: expected expression, got '<':
Date.prototype.toLocaleFormat()
函数已删除。
上一个结果
> d = new Date("Dec 1, 2015 3:22:46 PM")
(new Date(1449001366000))
> d.toLocaleFormat("%Y-%m-%d")
"2015-12-01"
新结果
> d = new Date("Dec 1, 2015 3:22:46 PM")
(new Date(1449001366000))
> d.toLocaleFormat("%Y-%m-%d")
typein:2:3 TypeError: d.toLocaleFormat is not a function
Date.prototype.toLocaleString()
曾忽略本地字符串,新版本将返回正确的格式:
上一个结果
> (new Date("2019-01-15T19:32:52.915Z")).toLocaleString('en-US')
"Tue Jan 15 14:32:52 2019"
新结果
> (new Date("2019-01-15T19:32:52.915Z")).toLocaleString('en-US')
"01/15/2019, 02:32:52 PM"
-
过去,"
function(){...}
表达式后面的无效表达式会被 会被忽略,但今后会出现语法错误。 例如,设计 视图函数将开始返回 "compilation_error
结果为 "400 HTTP
。 -
对象键顺序已更改:
上一个结果
> r={}; ["Xyz", "abc", 1].forEach(function(v) {r[v]=v;}); Object.keys(r)
["Xyz", "abc", "1"]
新结果
> r={}; ["Xyz", "abc", 1].forEach(function(v) {r[v]=v;}); Object.keys(r)
["1", "Xyz", "abc"]
String.prototype.match(undefined)
过去返回'null
,现在将返回'[""]
上一个结果
> "abc".match(undefined)
null
新成果
> "abc".match(undefined)
[""]
更多详情,请参阅 Cloudant博客)。
IBM Cloudant 废弃 _show
,_list
,_update
和 _rewrite
函数
详细信息
请注意,不推荐使用以下 Cloudant 功能部件:
- show functions-用于在从数据库请求单个文档时修改响应的格式。
- list 函数-类似于 show 函数,但应用于 MapReduce 视图的输出。
- 重写函数-用于在 CouchApps中体现路由逻辑。
- 更新函数-用于在数据库中执行业务逻辑,例如向所有文档写入添加时间戳记。
这四个功能在 Apache CouchDB 中已不推荐使用,并且已安排从 Apache CouchDB 4.0中的代码中除去。 这些功能都不是在 Cloudant SDK 中建模的。
虽然这些功能已被弃用,但仍不会从服务中删除。{ :important}
我们可能会在未来完全移除这些功能,但会让它们暂时保持可操作状态,让客户有时间修改其应用程序。 作为不推荐使用的功能部件,它们不会显示在我们的文档中,不建议使用这些功能部件,我们的支持团队也不会支持这些功能部件。
可以在 Cloudant 博客 此处找到这些函数的替代方法。
IBM Cloudant 除去复制器端点代理支持
详细信息
已除去复制器端点代理支持。 设置了 proxy
,source_proxy
或 target_proxy
字段的复制作业将因错误而失败。