

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\$1\$1
<a name="sdkoptions"></a>

Die [https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-core/html/struct_aws_1_1_s_d_k_options.html](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-core/html/struct_aws_1_1_s_d_k_options.html)Struktur enthält SDK-Konfigurationsoptionen. `Aws::SDKOptions`konzentriert sich auf die allgemeine SDK-Konfiguration, wohingegen sich die [`ClientConfiguration`](client-config.md)Struktur auf die Konfiguration der Kommunikation mit konzentriert AWS-Services.

Eine Instanz von [https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-core/html/struct_aws_1_1_s_d_k_options.html](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-core/html/struct_aws_1_1_s_d_k_options.html)wird an die [`Aws::ShutdownAPI`Methoden `Aws::InitAPI` und](basic-use.md) ü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**  
 `httpOptions`verwendet eine Closure (auch als anonyme Funktion oder Lambda-Ausdruck bezeichnet) statt einer`std::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 `SIGPIPE`

  Wenn Sie das SDK for C\$1\$1 mit curl und OpenSSL erstellen, müssen Sie einen Signal-Handler angeben. Wenn Sie keinen eigenen benutzerdefinierten Signal-Handler verwenden, setzen Sie `installSigPipeHandler` ihn auf. `true`

  ```
  Aws::SDKOptions options;
  options.httpOptions.installSigPipeHandler = true; 
  Aws::InitAPI(options);
  {
      // make your SDK calls here.
  }
  Aws::ShutdownAPI(options);
  ```

  Wenn `installSigPipeHandler` ja`true`, verwendet das SDK for C\$1\$1 einen Handler, der `SIGPIPE` Signale ignoriert. Weitere Informationen dazu finden Sie unter [Operations Error Signals](https://www.gnu.org/software/libc/manual/html_node/Operation-Error-Signals.html) auf der Website des GNU-Betriebssystems. `SIGPIPE` Weitere Informationen zum curl-Handler finden Sie unter [CURLOPT\$1NOSIGNAL, das auf der curl-Website](https://curl.se/libcurl/c/CURLOPT_NOSIGNAL.html) erklärt wird.

  Die zugrunde liegenden Bibliotheken von curl und OpenSSL können ein `SIGPIPE` Signal 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 safety](https://curl.se/libcurl/c/threadsafe.html) auf 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. 