2016-08-02 16 views
-1

Wir verwenden das AWS SDK zur Interaktion mit AWS. Zum Beispiel um ec2-Instanzen zu erstellen, zu stoppen und neu zu starten. Der erste Schritt, wenn der Client instanziiert werden soll und dann kann es verwendet werden, aber ich glaube, wenn die Netzwerkverbindung fehlschlägt, nachdem der Client instanziiert wurde, kann diese Instanz nicht länger verwendet werden. Es kann jedoch sein, dass die Instanz gerade wieder eine Verbindung mit AWS herstellt, nachdem die Verbindung wieder aktiviert wurde und dieser Vorgang mehrere Sekunden dauert. Ich frage mich also, ob jemand das erwartete Verhalten dieser Klasse beschreiben kann.Wie behandelt eine Instanz des AmazonEc2Client Netzwerkunterbrechungen?

Antwort

1

Die meisten AWS-SDKs werden Befehle bei Netzwerkstörungen oder Befehlsdrosselung automatisch erneut versuchen. In Fällen jedoch, in denen die SDKs ihre Aktion immer noch nicht ausführen können, schlagen sie fehl und geben einen Fehlercode an Sie zurück. Der zurückgegebene Fehlercode hängt vom tatsächlich aufgetretenen Fehler ab. Sie müssen also mit der Möglichkeit von Fehlern umgehen.

verwenden die verschiedenen Fehlercodes verweisen, die die SDKs zurückkehren können:

http://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html

Ich glaube, wenn die Netzwerkverbindung ausfällt, nachdem der Client instanziiert wird, kann diese Instanz nicht mehr verwendet werden.

Falsch. Wenn eine Verbindung fehlschlägt, gibt der Befehl einen Fehlercode zurück, aber Sie können den Befehl mit demselben Client wiederholen (oder einen anderen Befehl ausgeben).

Allerdings könnte es sein, die Instanz in dem Verfahren ist nach dem Anschluss an AWS wieder verbinden

Die SDK-Clients nicht halten um Verbindungen zu AWS bestehen bleiben. Wenn Sie eine Funktion für das SDK aufrufen, wird nur dann eine Verbindung mit AWS hergestellt, um die angeforderte Aktion auszuführen.

+0

Danke. Habe mir die Dokumentation angeschaut - wäre nützlich, wenn dieser Kommentar zum Verbinden nur zum Ausführen der Aktion da wäre. Wenn du einen Link hast, wäre das toll. – Jeff

+0

Keine Dokumentation, aber Sie können den Quellcode der verschiedenen SDKs auf GitHub sehen, um das Verhalten zu sehen: https://github.com/aws/ –