處理 Open Cloud 資料儲存請求

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

在發送請求到 Open Cloud 資料儲存 API 及處理其回應時,有多個考量因素。

HTTP 標頭

像所有 Open Cloud 端點一樣,使用 API 金鑰驗證的資料儲存請求必須包含 x-api-key 標頭。欲了解更多資訊,請參見 管理 API 金鑰

  • 不正確或缺失的 API 金鑰將導致 401 錯誤。
  • 有效的 API 金鑰但缺少正確的權限將導致 403 錯誤。

如果請求包含主體,例如創建或更新請求,則必須包含 Content-Type: application/jsonContent-Length 標頭。大多數客戶端會自動包含這些標頭。

分頁

資料儲存通常包含許多條目,這意味著您的代碼,特別是在調用 列出資料儲存條目 時,必須處理最大結果數和頁數。欲了解更多資訊,請參見 分頁

篩選器

如果您在資料儲存條目的名稱中使用前綴,您可能希望篩選您的 GET 請求,如下所示:


def list_entries(universe, data_store, filter):
list_path = f'universes/{universe}/data-stores/{data_store}/entries'
url = base_url + list_path
return requests.get(url, params={'filter': f'id.startsWith("global/{filter}")'}, headers={apiHeaderKey: apiKey})

篩選語法非常有限。請參見參考文檔中可用的 標準有序 資料儲存的篩選器。

允許缺失標誌

標準和有序資料儲存的 PATCH(更新)方法具有 allow_missing 參數。如果設置為 true,則此參數允許您創建已不存在的條目,而不是拋出錯誤。除非您有充分理由,否則請將此參數保留為其默認值 false;更新從未創建的條目通常代表編程邏輯中的錯誤。

範圍

許多請求需要您指定範圍,即使是默認值 global。這些範圍不同於權限範圍,讓您能夠細分和組織資料儲存中的條目。

然而,我們強烈建議使用前綴,而不是創建非默認範圍。欲了解更多資訊,請參見 列舉和前綴

Content-MD5

Open Cloud v1 API 在某些請求中支持可選的 base64 編碼 MD5 校驗和,這可以捕捉數據完整性問題。許多語言都有內置函數來計算 content-md5 標頭的值。以下示例使用 Python:


$ echo "750" | python -c "import base64, hashlib; print(str(base64.b64encode(hashlib.md5(bytes(input(), encoding='utf8')).digest()), encoding='utf8'))"
sTf90fedVsft8zZf6nUg8g==

如果您在生成有效的 content-md5 值時遇到問題,您可能需要在計算校驗和之前將請求主體編碼為 UTF-8。

此頁面