동시성 제어
참고 항목
Cloud 파트너 포털 API는 파트너 센터와 통합되었으며, 계속 파트너 센터에서 작동합니다. 전환에는 작은 변경 내용이 도입됩니다. 파트너 센터로 전환한 후에도 코드가 계속 작동하도록 Cloud 파트너 포털 API 참조에 나열된 변경 내용을 검토합니다. CPP API는 파트너 센터로 전환하기 전에 이미 통합된 기존 제품에만 사용해야 합니다. 새 제품은 파트너 센터 제출 API를 사용해야 합니다.
Cloud 파트너 포털 게시 API에 대한 모든 호출은 사용할 동시성 제어 전략을 명시적으로 지정해야 합니다. If-Match 헤더를 제공하지 않으면 HTTP 400 오류 응답이 발생합니다. 동시성 제어를 위한 두 가지 전략을 제공합니다.
- 낙관적 - 업데이트를 수행하는 클라이언트는 데이터를 마지막으로 읽은 이후 데이터가 변경되었는지 확인합니다.
- 마지막 하나는 우선 합니다. 클라이언트는 마지막 읽기 시간 이후 다른 애플리케이션이 데이터를 수정했는지 여부에 관계없이 데이터를 직접 업데이트합니다.
낙관적 동시성 워크플로
리소스가 예기치 않게 편집되지 않도록 보장하려면 다음 워크플로를 통해 낙관적 동시성 전략을 사용하는 것이 좋습니다.
- API를 사용하여 엔터티를 검색합니다. 응답에는 응답 시에 현재 저장되어 있는 엔터티 버전을 식별하는 ETag 값이 포함됩니다.
- 업데이트 시에는 필수 If-Match 요청 헤더에 이와 동일한 ETag 값을 포함합니다.
- API는 요청에서 받은 ETag 값을 원자성 트랜잭션에 있는 엔터티의 현재 ETag 값과 비교합니다.
- ETag 값이 다른 경우 API는 HTTP 응답을 반환합니다
412 Precondition Failed
. 이 오류는 클라이언트가 엔터티를 마지막으로 검색한 이후 다른 프로세스가 엔터티를 업데이트했거나 요청에 지정된 ETag 값이 올바르지 않음을 나타냅니다. - ETag 값이 동일하거나 If-Match 헤더에 와일드카드 별표 문자()
*
가 포함된 경우 API는 요청된 작업을 수행합니다. 또한 API 작업은 엔터티의 저장된 ETag 값을 업데이트합니다.
- ETag 값이 다른 경우 API는 HTTP 응답을 반환합니다
참고 항목
If-Match 헤더에서 와일드카드 문자(*)를 지정하면 마지막 1승 동시성 전략을 사용하여 API가 생성됩니다. 이 경우 ETag 비교가 발생하지 않으며 리소스가 검사 없이 업데이트됩니다.