서버에서 오브젝트 삭제

API 애플리케이션은 아카이브된 오브젝트를 삭제하거나 백업된 오브젝트를 비활성하는 호출을 작성할 수 있습니다. 아카이브된 오브젝트 삭제는 관리자가 노드를 등록할 때 제공된 노드 권한에 따라 다릅니다. 관리자는 노드가 아카이브된 오브젝트를 삭제할 수 있도록 지정할 수 있습니다.

dsmDeleteObj 함수 호출을 사용하여 아카이브된 오브젝트를 삭제하고 백업 오브젝트를 끄십시오. 이 delType을 사용하면 서버에서 백업 오브젝트가 제거됩니다. 이는 objID를 기반으로 하며 서버 데이터베이스에서 오브젝트를 삭제합니다. 오브젝트 소유자만 오브젝트를 삭제할 수 있습니다. 오브젝트의 모든 버전(활성 또는 비활성)을 삭제할 수 있습니다. 서버는 버전을 조정합니다. 오브젝트의 활성 버전을 삭제하면 첫 번째 비활성 버전이 활성 버전으로 됩니다. 오브젝트의 비활성 버전을 삭제하면 모든 이전 버전이 앞으로 이동합니다. 노드는 backDel 권한을 사용하여 등록해야 합니다.

아카이브된 오브젝트는 시스템이 다음 오브젝트 만료 주기를 수행할 때 스토리지에서 삭제 표시됩니다. 서버에서 아카이브된 오브젝트를 삭제한 후에는 해당 오브젝트를 검색할 수 없습니다.

서버에서 백업 오브젝트를 비활성화하면 오브젝트가 활성 상태에서 비활성 상태로 이동합니다. 이러한 상태에는 지정되는 관리 클래스를 기반으로 하는 연관된 다른 보존 정책이 있습니다.

dsmSendObj 호출과 유사하게 dsmDeleteObj 에 대한 호출은 트랜잭션의 경계 내에서 전송됩니다. 그림 1 의 상태 다이어그램은 dsmDeleteObj 에 대한 호출 앞에 dsmBeginTxn 에 대한 호출이 오고 그 뒤에 dsmEndTxn에 대한 호출이 오는 방법을 표시합니다.