Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration générale à Aws::SDKOptions l'aide du AWS SDK pour C++
La Aws::SDKOptionsstructure contient les options de configuration du SDK. Aws::SDKOptionsse concentre sur la configuration générale du SDK, tandis que la ClientConfigurationstructure se concentre sur la configuration de la communication avec. Services AWS
Une instance de Aws::SDKOptionsest transmise aux Aws::ShutdownAPIméthodes Aws::InitAPI et. La même instance doit être envoyée aux deux méthodes.
Les exemples suivants présentent certaines des options disponibles.
-
Activer la connexion à l'aide de l'enregistreur par défaut
Aws::SDKOptions options; options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Info; Aws::InitAPI(options); { // make your SDK calls here. } Aws::ShutdownAPI(options); -
Remplacer la fabrique de clients HTTP par défaut
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);Note
httpOptionsprend une fermeture (également appelée fonction anonyme ou expression lambda) plutôt qu'unestd::shared_ptr. Chacune des fonctions d'usine du SDK fonctionne de cette manière car, au moment de l'allocation de mémoire d'usine, le gestionnaire de mémoire n'était pas encore installé. En mettant fin à la méthode, le gestionnaire de mémoire sera appelé pour effectuer l'allocation de mémoire lorsqu'il sera possible de le faire en toute sécurité. Une technique simple pour réaliser cette procédure consiste à utiliser une expression Lambda. -
Utiliser un
SIGPIPEgestionnaire globalSi vous créez le SDK pour C++ avec curl et OpenSSL, vous devez spécifier un gestionnaire de signal. Si vous n'utilisez pas votre propre gestionnaire de signaux personnalisé, réglez-le sur
installSigPipeHandler.trueAws::SDKOptions options; options.httpOptions.installSigPipeHandler = true; Aws::InitAPI(options); { // make your SDK calls here. } Aws::ShutdownAPI(options);Dans
installSigPipeHandlerce castrue, le SDK pour C++ utilise un gestionnaire quiSIGPIPEignore les signaux. Pour plus d'informationsSIGPIPE, voir Signaux d'erreur d'opérationsur le site Web du système d'exploitation GNU. Pour plus d'informations sur le gestionnaire de curl, voir CURLOPT_NOSIGNAL expliqué sur le site Web de curl . Les bibliothèques sous-jacentes de curl et OpenSSL peuvent envoyer
SIGPIPEun signal pour avertir lorsque la partie distante ferme une connexion. Ces signaux doivent être traités par l'application. Pour plus d'informations sur cette fonctionnalité curl, consultez la section relative à la sécurité des threads libcurlsur le site Web de curl. Ce comportement n'est pas automatiquement intégré au SDK car les gestionnaires de signaux sont globaux pour chaque application et la bibliothèque est une dépendance du SDK.