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".
Это связано с тем, что удаленные контейнеры "зависают" до истечения срока их действия.