Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Configurazione generale utilizzando Aws::SDKOptions in AWS SDK per C++
La Aws::SDKOptionsstruttura contiene le opzioni di configurazione SDK. Aws::SDKOptionssi concentra sulla configurazione generale dell'SDK, mentre la ClientConfigurationstruttura si concentra sulla configurazione della comunicazione con. Servizi AWS
Un'istanza di Aws::SDKOptionsviene passata ai metodi Aws::InitAPIand Aws::ShutdownAPI. La stessa istanza deve essere inviata a entrambi i metodi.
Gli esempi seguenti illustrano alcune delle opzioni disponibili.
-
Attiva l'accesso utilizzando il logger predefinito
Aws::SDKOptions options; options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Info; Aws::InitAPI(options); { // make your SDK calls here. } Aws::ShutdownAPI(options); -
Sostituisci la fabbrica predefinita del client HTTP
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);Nota
httpOptionsrichiede una chiusura (chiamata anche funzione anonima o espressione lambda) anziché una.std::shared_ptrCiascuna delle funzioni di fabbrica dell'SDK funziona in questo modo perché al momento in cui avviene l'allocazione della memoria di fabbrica, il gestore della memoria non è ancora stato installato. Passando una chiusura al metodo, il gestore della memoria verrà chiamato per eseguire l'allocazione della memoria quando è sicuro farlo. Una tecnica semplice per eseguire questa procedura consiste nell'utilizzare un'espressione Lambda. -
Utilizzate un gestore globale
SIGPIPESe create l'SDK per C++ con curl e OpenSSL, dovete specificare un gestore di segnale. Se non utilizzate un gestore di segnali personalizzato, impostatelo su.
installSigPipeHandlertrueAws::SDKOptions options; options.httpOptions.installSigPipeHandler = true; Aws::InitAPI(options); { // make your SDK calls here. } Aws::ShutdownAPI(options);In caso
installSigPipeHandlertrueaffermativo, l'SDK for C++ utilizza un gestoreSIGPIPEche ignora i segnali. Per ulteriori informazioniSIGPIPE, consultate Operation Error Signalssul sito web del sistema operativo GNU. Per ulteriori informazioni sul gestore curl, vedete CURLOPT_NOSIGNAL spiegato sul sito web curl . Le librerie sottostanti di curl e OpenSSL possono inviare
SIGPIPEun segnale per notificare quando il lato remoto chiude una connessione. Questi segnali devono essere gestiti dall'applicazione. Per maggiori informazioni su questa funzionalità curl, consulta libcurl thread safety sul sito web curl. Questo comportamento non è automaticamente integrato nell'SDK perché i gestori di segnale sono globali per ogni applicazione e la libreria è una dipendenza dell'SDK.