提交屬性批次處理

提交屬性批次處理。

提交一批屬性操作。 將執行所有操作或未執行所有操作。

要求

方法 要求 URI
POST /Names/{nameId}/$/GetProperties/$/SubmitBatch?api-version=6.0&timeout={timeout}

參數

名稱 類型 必要 Location
nameId 字串 Path
api-version 字串 查詢
timeout 整數 (int64) 查詢
PropertyBatchDescriptionList 屬性批次處理描述清單 body

nameId

類型: 字串
必需: 是

服務結構名稱,沒有"結構:"URI 方案。


api-version

類型: 字串
必需: 是
預設值6.0

API 的版本。 此參數是必需的,其值必須為"6.0"。

服務結構 REST API 版本基於引入或更改 API 的執行階段版本。 服務結構運行時支援多個版本的 API。 這是 API 支援的最新版本。 如果傳遞了較低的 API 版本,則返回的回應可能與本規範中記錄的回應不同。

此外,運行時接受任何版本高於當前受支援的版本,以連接到運行時的當前版本。 因此,如果最新的 API 版本為 6.0,但如果運行時為 6.1,為了更輕鬆地編寫用戶端,運行時將接受該 API 的版本 6.1。 但是,API 的行為將按文檔記錄的 6.0 版本進行。


timeout

類型: 整數 (int64)
必需: 否
預設值60
包含最大值4294967295
包含最小 :1

伺服器超時,用於在幾秒鐘內執行操作。 此超時指定用戶端願意等待請求的操作完成的時間持續時間。 此參數的預設值為 60 秒。


PropertyBatchDescriptionList

類型屬性批次處理描述清單
必需: 是

描述要提交的屬性批次處理操作。

回應

HTTP 狀態碼 描述 回應結構描述
200 (確定) 成功的回應意味著屬性批次處理成功。
成功財產巴奇資訊
409 (衝突) 409 回應意味著其中一個屬性批次處理操作失敗,並包含有關失敗的詳細資訊。 沒有執行任何操作。
失敗屬性巴奇資訊
所有其他狀態碼 詳細的錯誤回應。
結構錯誤

範例

屬性批次處理操作

此示例演示如何提交屬性批次處理。 此批次處理確保屬性存在,檢查該屬性是否具有預期的序號,並且僅在以前的條件成功時編輯該屬性。 然後,它執行 get 操作以獲取屬性的當前資訊。 如果所有操作都成功,則批次處理以事務方式提交,並且使用 200 狀態碼返回成功回應。 如果批次處理失敗,則返回具有 409 狀態碼的失敗回應。 下面的失敗回應顯示批次處理失敗,因為屬性沒有預期的序號。

要求

POST http://localhost:19080/Names/samples/apps/$/GetProperties/$/SubmitBatch?api-version=6.0
body
{
  "Operations": [
    {
      "Kind": "CheckExists",
      "PropertyName": "PersistentQueueAppData",
      "Exits": true
    },
    {
      "Kind": "CheckSequence",
      "PropertyName": "PersistentQueueAppData",
      "SequenceNumber": "12"
    },
    {
      "Kind": "Put",
      "PropertyName": "PersistentQueueAppData",
      "Value": {
        "Kind": "Binary",
        "Data": [
          "1",
          "2",
          "3",
          "4",
          "5"
        ]
      },
      "CustomTypeId": "InitializationData"
    },
    {
      "Kind": "Get",
      "PropertyName": "PersistentQueueAppData",
      "IncludeValue": false
    }
  ]
}

200 回應

body
{
  "Kind": "Successful",
  "Properties": {
    "3": {
      "Name": "PersistentQueueAppData",
      "Metadata": {
        "TypeId": "Binary",
        "CustomTypeId": "InitializationData",
        "Parent": "fabric:/samples/apps",
        "SizeInBytes": "5",
        "LastModifiedUtcTimestamp": "2017-07-17T05:01:19.049Z",
        "SequenceNumber": "13"
      }
    }
  }
}

409 回應

body
{
  "Kind": "Failed",
  "ErrorMessage": "FABRIC_E_PROPERTY_CHECK_FAILED",
  "OperationIndex": "1"
}