2014-01-18 141 views
0

我熟悉Cloud SQL API(v1beta1)。我試圖更新authorizedNetworks(sql.instances.update),我正在使用API​​瀏覽器。我想我的請求主體除了'settingsVersion'外沒有問題。根據文檔,它應該是:雲SQL API資源管理器,settingsVersion

實例設置的版本。這是更新 方法的必填字段,以確保正確處理併發更新。在更新 期間,請使用此實例的最新settingsVersion值 ,並且不要嘗試更新此值。 來源:https://developers.google.com/cloud-sql/docs/admin-api/v1beta3/instances/update

我還沒有發現任何有用的相關settingsVersion。當我試着使用不同srings而不是接收200和響應,我得到400:

「消息」:「無效的值:預計符號長,得到了‘’(類 的java.lang。字符串)」

如果插入隨機數,我得到412(未滿足前提條件)和:

「消息」: 「條件不符」。

我在哪裏可以獲得versionSettings以及什麼是帶符號的長字符串?

回答

3

您應該對您的實例執行GET操作並獲取當前設置,這些設置將包含當前版本號,您應該使用該值。

這樣做是爲了避免無意的設置覆蓋。

例如,如果兩個人得到其version 1當前實例的狀態,他們都試圖改變不同的東西(例如,一個人想改變tier和其他希望改變pricingPlan)通過做Update操作,如果操作被允許,則發送請求的第二個將撤消第一個的更改。但是,由於每次執行更新操作時都會增加版本號,所以一旦第一個人更新實例,第二個人的請求就會失敗,因爲版本號不再匹配。