Google Cloud MBS的文檔指出,可以通過在字符串「[public]」或「[private]」前加上實體的KindName前綴來控制對存儲實體的訪問, 「 (或無)。使用Google Cloud/Android Mobile後端入門名稱訪問範圍
https://cloud.google.com/developers/articles/mobile-backend-starter-api-reference#acfce
然而試圖CloudEntities插入數據存儲區使用與[公共]或[私人]啓動導致異常/錯誤KindNames,具體而言,是KindName是無效的。
這是既爲後端在打開和在安全模式下運行(使用谷歌登錄憑證來導出_owner字段)
例如的情況下在這裏我使用KindName「[public] TestDB」失敗,而「TestDB」不會拋出任何異常。
04-22 19:57:54.132:E/AndroidRuntime(4690):進程:com.example.package,PID:4690
04-22 19:57:54.132:E/AndroidRuntime( 4690):java.lang.IllegalArgumentException:Illegal kind name:[public] TestDB
04-22 19:57:54.132:E/AndroidRuntime(4690):at com.google.cloud.backend.core.CloudEntity。 (CloudEntity.java:86)
04-22 19:57:54.132:E/AndroidRuntime(4690):at com.example.package.CloudUtil.convertUpdatesToCEList(CloudUtil.java:252)
04-22 19:57:54.132:E/AndroidRuntime(4690):在com.example.package.CloudUtil.checkSync(CloudUtil.java:199)
的代碼的相關部分editted /壓縮爲簡潔是:
CloudBackendMessaging cbm=_cloudfrag.getCloudBackend();
List<CloudEntity> entries=new ArrayList<CloudEntity>();
while (...) {
CloudEntity ce=new CloudEntity(_CLOUD_DB_KIND);
ce.put("fieldname", devID);
entries.add(ce);
}
_countActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
cbm.updateAll(entries, handler);
}
});
如果處理程序是回調_cloudfrag是從示例代碼CloudBackendFragment。
對於一次或多次實體列表,我同樣使用插入和更新的效果。
我只能認爲我誤解了文檔 - 但似乎相當明確,KindNames可以從[public] [private]等開始?