OpenStack — проверка доступности контейнера C# .NET

Я интегрировал openstack в свое решение .net. Я использую CloudFilesProvider для создания и удаления контейнера. Есть ли возможность проверить наличие контейнера с помощью С#.

Я знаю, что это можно проверить, получив ObjectStore и найдя свойство ContainerExists. Но я не уверен, как заполнить это свойство.

Любая помощь будет оценена.


person Prem Singh    schedule 02.08.2013    source источник
comment
Я использовал второй предоставленный вами вариант, проверьте createContainer и проверьте по опции   -  person Liya S    schedule 02.08.2013


Ответы (2)


ObjectStore — это перечисление, определяющее возможные значения, возвращаемые такими вызовами, как IObjectStorageProvider.CreateContainer. Например, вы можете получить ObjectStore, попытавшись создать проверяемый контейнер, и возвращаемое значение будет ContainerExists, если контейнер уже существует. К сожалению, вы всегда можете получить ContainerCreated, возвращенный этим вызовом, т.е. если вы используете CreateContainer для проверки существования контейнера, то даже если контейнер не существовал до «проверки», он будет существовать после.

Хотя это определенно не чисто, одним из вариантов является вызов GetContainerMetadata. Вызов вызовет ItemNotFoundException, если контейнер не существует.

person Sam Harwell    schedule 02.08.2013
comment
Итак, вы говорите, что, как я уже упоминал, метод createContainer доступен только для проверки существования контейнера. - person Prem Singh; 05.08.2013
comment
Нет, я говорю, что вам следует использовать GetContainerMetadata для проверки существования. Если метод выдает ItemNotFoundException, контейнер не существует. - person Sam Harwell; 05.08.2013

Вы случайно не используете этот контейнер в качестве CDN?

При удалении CDN необходимо также вызвать метод DisableCDNonContainer для контейнера. Кроме того, если вы вызываете метод «ListCDNContainers», вы должны отфильтровать удаленные контейнеры CDN, проверив свойство «CDNEnabled».

Это связано с тем, что удаленные контейнеры «зависают» до тех пор, пока не истечет срок их жизни.

person Don Schenck    schedule 02.08.2013