Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Allgemeine Konfiguration unter Verwendung Aws::SDKOptions von AWS SDK für C++
Die Aws::SDKOptionsStruktur enthält SDK-Konfigurationsoptionen. Aws::SDKOptionskonzentriert sich auf die allgemeine SDK-Konfiguration, wohingegen sich die ClientConfigurationStruktur auf die Konfiguration der Kommunikation mit konzentriert AWS-Services.
Eine Instanz von Aws::SDKOptionswird an die Aws::ShutdownAPIMethoden Aws::InitAPI und übergeben. Dieselbe Instanz sollte an beide Methoden gesendet werden.
Die folgenden Beispiele veranschaulichen einige der verfügbaren Optionen.
-
Schalten Sie die Protokollierung mit dem Standard-Logger ein
Aws::SDKOptions options; options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Info; Aws::InitAPI(options); { // make your SDK calls here. } Aws::ShutdownAPI(options); -
Überschreiben Sie die standardmäßige HTTP-Client-Factory
Aws::SDKOptions options; options.httpOptions.httpClientFactory_create_fn = [](){ return Aws::MakeShared<MyCustomHttpClientFactory>( "ALLOC_TAG", arg1); }; Aws::InitAPI(options); { // make your SDK calls here. } Aws::ShutdownAPI(options);Anmerkung
httpOptionsverwendet eine Closure (auch als anonyme Funktion oder Lambda-Ausdruck bezeichnet) statt einerstd::shared_ptr. Jede der SDK-Factory-Funktionen funktioniert auf diese Weise, da der Speichermanager zu dem Zeitpunkt, zu dem die werkseitige Speicherzuweisung erfolgt, noch nicht installiert war. Wenn der Methode ein Closure übergeben wird, wird der Speichermanager aufgerufen, um die Speicherzuweisung vorzunehmen, wenn dies sicher ist. Eine einfache Methode, um dieses Verfahren durchzuführen, ist die Verwendung eines Lambda-Ausdrucks. -
Verwenden Sie einen globalen Handler
SIGPIPEWenn Sie das SDK for C++ mit curl und OpenSSL erstellen, müssen Sie einen Signal-Handler angeben. Wenn Sie keinen eigenen benutzerdefinierten Signal-Handler verwenden, setzen Sie
installSigPipeHandlerihn auf.trueAws::SDKOptions options; options.httpOptions.installSigPipeHandler = true; Aws::InitAPI(options); { // make your SDK calls here. } Aws::ShutdownAPI(options);Wenn
installSigPipeHandlerjatrue, verwendet das SDK for C++ einen Handler, derSIGPIPESignale ignoriert. Weitere Informationen dazu finden Sie unter Operations Error Signalsauf der Website des GNU-Betriebssystems. SIGPIPEWeitere Informationen zum curl-Handler finden Sie unter CURLOPT_NOSIGNAL, das auf der curl-Websiteerklärt wird. Die zugrunde liegenden Bibliotheken von curl und OpenSSL können ein
SIGPIPESignal senden, um zu benachrichtigen, wenn die Remote-Seite eine Verbindung schließt. Diese Signale müssen von der Anwendung verarbeitet werden. Weitere Informationen zu dieser Curl-Funktionalität finden Sie unter libcurl thread safetyauf der curl-Website. Dieses Verhalten ist nicht automatisch in das SDK integriert, da Signalhandler für jede Anwendung global sind und die Bibliothek eine Abhängigkeit vom SDK ist.