如何更新 AWS IoT 中的事物证书?

How to update a thing certificate in AWS IoT?

假设我知道事物名称和具有相同值的属性,如何更新 AWS IoT 中现有事物的证书? IE。该事物具有名称 "foo" 和属性 "id=foo".

根据有限的文档,我假设我做了类似的事情:

任何人都可以确认正确、最简洁的方法吗?

我欢迎更好的解决方案,但这对我有用:

  1. 再次调用 RegisterThing(相同的 ThingName,相同的策略,不同的证书)。这似乎给我的东西附加了一个新证书。
  2. 已调用 ListThingPrincipals,过滤 ThingName。结果将是表示与事物关联的证书的 ARN 列表,格式为 arn:aws:iot:<region>:<account id>:cert/<cert id>.
  3. 遍历列表,去掉证书 ID 并调用 DescribeCertificate,将证书 ID 作为参数。
  4. 将结果(包括证书的 PEM 格式)与新证书进行比较。如果不匹配,则这是以前的证书之一。因此,调用 UpdateCertificate 并将该证书标记为 INACTIVE.