Der Ausdruck "fast sofort" wird in den IAM-FAQ fünfmal verwendet und ist natürlich etwas subjektiv.
Da AWS ein global verteiltes System ist, müssen sich Ihre Änderungen verbreiten, und das gesamte System scheint so konzipiert zu sein, dass Verfügbarkeit und Partitionstoleranz im Gegensatz zu sofortiger Konsistenz bevorzugt werden .
Ich weiß nicht, ob Sie darüber nachgedacht haben, aber es liegt völlig im Rahmen der Möglichkeiten, dass Sie in Schritt 4 Ihres Ablaufs tatsächlich eine Folge von Bestanden, Nichtbestehen, Bestanden, Bestanden, Nicht Bestanden, Nicht Bestanden, Nicht Bestanden scheitern ... weil weder ein Bucket noch ein Objekt in einem Bucket tatsächlich eine einzelne Sache an einem einzigen Ort sind, wie das gemischte Konsistenzmodell verschiedener Aktionen in S3 zeigt, bei dem neue Objekte sofort konsistent sind, während Überschreibungen und Löschungen schließlich erfolgen konsistent ... Das Konzept einer Richtlinie, die "Auswirkungen" auf den Bucket oder ein Objekt hatte oder nicht, ist also kein völlig aussagekräftiges Konzept, da die Anwendung der Richtlinie selbst mit ziemlicher Sicherheit ein verteiltes Ereignis ist.
Um eine solche Anwendung von Richtlinien zu bestätigen, müsste AWS die Möglichkeit offenlegen, (zumindest indirekt) jede Entität abzufragen, die über eine replizierte Kopie dieser Richtlinie verfügt, um festzustellen, ob sie die aktuelle Version hat oder nicht ... was möglicherweise unpraktisch wäre oder gelinde gesagt unhandlich in einem System wie S3, das über 2 Billionen Objekte hinausgewachsen ist und Spitzenlasten von mehr als 1,1 Millionen Anfragen pro Sekunde bedient .
Offizielle AWS-Antworten auf diesen Forumsbeitrag enthalten weitere Informationen:
Während Änderungen, die Sie an IAM-Entitäten vornehmen, sofort in den IAM-APIs angezeigt werden, kann es einige Zeit dauern, bis die Informationen global wiedergegeben werden. In den meisten Fällen werden von Ihnen vorgenommene Änderungen in weniger als einer Minute angezeigt. Netzwerkbedingungen können manchmal die Verzögerung erhöhen, und einige Dienste können bestimmte Informationen ohne Anmeldeinformationen zwischenspeichern, die einige Zeit in Anspruch nehmen und ersetzt werden.
Die begleitende Antwort auf die Frage, was in der Zwischenzeit zu tun ist, lautete "Versuchen Sie es erneut".
Wir empfehlen eine Wiederholungsschleife nach einer leichten anfänglichen Verzögerung, da sich Ihre Änderungen in den meisten Fällen recht schnell widerspiegeln. Wenn Sie schlafen, wartet Ihr Code in den meisten Fällen viel zu lange und möglicherweise nicht lange genug für die seltenen Ausnahmen.
Wir überwachen aktiv die Leistung des Replikationssystems. Aber wie bei S3 garantieren wir nur eine eventuelle Konsistenz, keine bestimmte Obergrenze.