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

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

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

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

2 ответа

Решение

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

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

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

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

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

Другие вопросы по тегам