Как удалить вещи и политики aws iot?

Здравствуйте, я хочу удалить вещи и политики, созданные в AWS IoT.

При удалении я получил эту ошибку =>

Действие завершилось неудачно, поскольку введенные данные недействительны. Невозможно удалить. Вещь Arduino по-прежнему привязана к одному или нескольким принципам

При удалении сертификата я получил эту ошибку => Действие не удалось, потому что ресурс конфликтует с предварительным условием действия. Перед удалением политики сертификатов необходимо отсоединить

При удалении политики я получил эту ошибку => Не удалось удалить политику. Политику нельзя удалить, так как политика привязана к одному или нескольким участникам (name = policyyun)

может кто-нибудь помочь? Спасибо.


person Abhijeet Kulkarni    schedule 15.03.2016    source источник
comment
Если вы хотите удалить политику, вы должны сначала изменить версию политики на версию по умолчанию (версия 1), а затем вы можете удалить ее. Если вы хотите удалить объекты или сертификаты, вы можете легко удалить их сейчас, не отсоединяя их. На самом деле с отключением новой консоли все будет происходить в фоновом режиме. Дополнительную информацию можно найти здесь. приветствует Кейван   -  person Keivan    schedule 04.05.2018


Ответы (2)


Вы должны отсоединить вещи, сертификаты и политики перед их удалением.

В консоли AWS выберите сертификат. Затем на левой панели во вкладке «Подробности» отметьте элемент, который вы хотите удалить, и «отсоедините» его с помощью красной кнопки.

введите описание изображения здесь

После этого вы сможете удалить вещь. То же самое нужно сделать и с политиками.

person Alexis N-o    schedule 22.03.2016
comment
Я пытаюсь сделать это программно. Можно ли получить сертификат ARN от Вещи, чтобы я мог использовать DetachPrincipalPolicy и DetachThingPrincipal? - person Michael Scheper; 19.07.2017

Я предполагаю, что вещь создана и прикреплена к сертификату вместе с политикой. Ниже приведен порядок действий при очистке объекта. Это предотвратит исключение DeleteConflictException из-за ассоциаций.

  1. DetachPolicy - отсоединить политику от сертификата.
  2. DetachThingPrincipal - отсоединить сертификат от Thing.
  3. UpdateCertificate установить в НЕАКТИВНО (или установить ForceDelete=true в # 4).
  4. DeleteCertificate
  5. DeletePolicy
  6. DeleteThing

Примечание. Вы можете получить массив участников (сертификатов ARN), связанных с объектом, с помощью ListThingPrincipals.

p.s. Полужирным шрифтом выделены API в большинстве пакетов SDK AWS IOT.

person Jey    schedule 28.11.2017
comment
ForceDelete=true работает? В моем случае (boto3) мне нужно выполнить все шаги, чтобы удалить сертификат. 1. DetachPolicy. 2. DetachThingPrincipal. 3. UpdateCertificate (для установки НЕАКТИВНЫМ) - person machin; 29.01.2021