Share via


Submit 속성 일괄 처리

속성 일괄 처리를 제출합니다.

속성 작업의 일괄 처리를 제출합니다. 작업의 전부 또는 없음이 커밋됩니다.

요청

메서드 요청 URI
POST /Names/{nameId}/$/GetProperties/$/SubmitBatch?api-version=6.0&timeout={timeout}

매개 변수

속성 형식 필수 위치
nameId 문자열 경로
api-version 문자열 쿼리
timeout 정수(int64) 아니요 쿼리
PropertyBatchDescriptionList PropertyBatchDescriptionList yes 본문

nameId

형식: 문자열
필수: 예

‘fabric:’ URI 체계가 없는 Service Fabric 이름입니다.


api-version

형식: 문자열
필수: 예
기본: 6.0

API 버전입니다. 이 매개 변수는 필수이며 해당 값은 '6.0'이어야 합니다.

Service Fabric REST API 버전은 API가 도입되었거나 변경된 런타임 버전을 기반으로 합니다. Service Fabric 런타임은 둘 이상의 API 버전을 지원합니다. 지원되는 최신 버전의 API입니다. 더 낮은 API 버전이 전달되면 반환된 응답이 이 사양에 설명된 응답과 다를 수 있습니다.

또한 런타임은 현재 버전의 런타임까지 지원되는 최신 버전보다 높은 모든 버전을 허용합니다. 따라서 최신 API 버전이 6.0이지만 런타임이 6.1인 경우 클라이언트를 더 쉽게 작성하기 위해 런타임은 해당 API에 대해 버전 6.1을 수락합니다. 그러나 API의 동작은 문서화된 6.0 버전에 따라 다릅니다.


timeout

형식: 정수(int64)
필수: 아니요
기본: 60
InclusiveMaximum: 4294967295
InclusiveMinimum: 1

작업을 수행하기 위한 서버 제한 시간(초)입니다. 이 시간 제한은 요청된 작업이 완료될 때까지 클라이언트가 기다릴 시간을 지정합니다. 이 매개 변수의 기본값은 60초입니다.


PropertyBatchDescriptionList

형식: PropertyBatchDescriptionList
필수: 예

제출할 속성 일괄 처리 작업에 대해 설명합니다.

응답

HTTP 상태 코드 설명 응답 스키마
200(확인) 성공적인 응답은 속성 일괄 처리가 성공했음을 의미합니다.
SuccessfulPropertyBatchInfo
409(충돌) 409 응답은 속성 일괄 처리 작업 중 하나가 실패했음을 의미하며 실패에 대한 자세한 정보를 포함합니다. 어떤 작업도 커밋되지 않았습니다.
FailedPropertyBatchInfo
다른 모든 상태 코드 자세한 오류 응답입니다.
FabricError

예제

속성 일괄 처리 작업

이 예제에서는 속성 일괄 처리를 제출하는 방법을 보여줍니다. 이 일괄 처리는 속성이 있는지 확인하고, 속성에 예상 시퀀스 번호가 있는지 확인하고, 이전 조건이 성공한 경우에만 속성을 편집합니다. 그런 다음 가져오기 작업을 수행하여 속성의 현재 정보를 가져옵니다. 모든 작업이 성공하면 일괄 처리가 트랜잭션 방식으로 커밋되고 200개의 상태 코드와 함께 성공 응답이 반환됩니다. 일괄 처리가 실패하면 실패한 응답이 409 상태 코드와 함께 반환됩니다. 아래의 실패한 응답은 속성에 예상 시퀀스 번호가 없기 때문에 일괄 처리 실패를 보여줍니다.

요청

POST http://localhost:19080/Names/samples/apps/$/GetProperties/$/SubmitBatch?api-version=6.0
본문
{
  "Operations": [
    {
      "Kind": "CheckExists",
      "PropertyName": "PersistentQueueAppData",
      "Exists": 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 응답

본문
{
  "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 응답

본문
{
  "Kind": "Failed",
  "ErrorMessage": "FABRIC_E_PROPERTY_CHECK_FAILED",
  "OperationIndex": "1"
}