0

我正在熟悉 Cloud SQL API (v1beta1)。我正在尝试更新 authorizedNetworks (sql.instances.update) 并且我正在使用 API 资源管理器。我认为除了“settingsVersion”之外,我的请求正文还可以。根据文档,它应该是:

实例设置的版本。这是更新方法的必填字段,以确保正确处理并发更新。在更新期间,请为此实例使用最新的 settingsVersion 值,并且不要尝试更新此值。来源:https ://developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/update

我没有发现任何与 settingsVersion 相关的有用信息。当我尝试使用不同的 srings 时,我没有收到 200 和响应,而是得到 400 并且:

“消息”:“无效值:预期有符号长,得到''(类 java.lang.String)”

如果插入随机数,我会得到 412(前提条件失败)并且:

"message": "条件不匹配。"

我在哪里获得 versionSettings 以及什么是有符号的长字符串?

4

1 回答 1

4

您应该对您的实例执行 GET 操作并获取当前设置,这些设置将包含当前版本号,您应该使用该值。

这样做是为了避免无意的设置覆盖。

例如,如果两个人获得当前实例状态为 version 1,并且他们都尝试通过执行操作来更改不同的内容(例如,一个想更改 the tier,另一个想更改pricingPlanUpdate,则第二个发送如果允许该操作,该请求将撤消第一个更改。但是,由于每次执行更新操作都会增加版本号,所以一旦第一个人更新实例,第二个人的请求就会失败,因为版本号不再匹配。

于 2014-01-19T01:22:31.357 回答