IBM Cloud Docs
IBM Cloudant 的服务更改和废弃

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 除去复制器端点代理支持

详细信息

已除去复制器端点代理支持。 设置了 proxysource_proxytarget_proxy 字段的复制作业将因错误而失败。