2013-08-02 5 views
2

내 .net 솔루션에 openstack을 통합했습니다. CloudFilesProvider를 사용하여 컨테이너를 만들고 삭제합니다. C#을 사용하여 컨테이너의 존재를 확인하는 조항이 있습니까?OpenStack - 컨테이너 C# .NET의 가용성 확인

ObjectStore를 가져 와서 ContainerExists 속성을 찾아서 확인할 수 있음을 알고 있습니다. 하지만이 속성을 채우는 방법을 모르겠습니다.

도움이 될 것입니다.

+0

제공된 두 번째 옵션을 사용하여 createContainer를 확인하고 –

답변

3

ObjectStoreIObjectStorageProvider.CreateContainer과 같은 호출에서 반환 할 수있는 값을 정의하는 열거 형입니다. 예를 들어 을 시도하여 ObjectStore을 만들면 확인할 컨테이너가이고 컨테이너가 이미있는 경우 반환 값은 ContainerExists이됩니다. 아쉽게도 ContainerCreated이 호출에 의해 반환 될 수 있습니다. 즉, 컨테이너의 존재 여부를 확인하기 위해 CreateContainer을 사용하는 경우 컨테이너가 "확인"전에 존재하지 않더라도 이후에 해당 컨테이너가 존재합니다.

분명히 깨끗하지는 않지만 한 옵션은 GetContainerMetadata입니다. 컨테이너가 없으면 호출은 ItemNotFoundException이됩니다.

+0

옵션으로 확인하십시오. 따라서 createContainer 메서드가 컨테이너의 존재 여부를 확인할 때만 사용할 수 있습니다. –

+0

아니요, 'GetContainerMetadata'를 사용하여 존재 여부를 확인해야한다고 말하는 것입니다. 메소드가'ItemNotFoundException'을 던지면 컨테이너가 존재하지 않는다. –

0

우연히이 컨테이너를 CDN으로 사용하고 있습니까?

CDN을 삭제할 때 컨테이너에 대해 DisableCDNOnContainer 메서드를 호출해야합니다. 또한 "ListCDNContainers"메서드를 호출하는 경우 "CDNEnabled"속성을 확인하여 을 삭제하고 CDN 컨테이너를 필터링해야합니다.

삭제 된 컨테이너가 ttl이 만료 될 때까지 "중단"하기 때문입니다.