

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konfigurasi umum menggunakan `Aws::SDKOptions` di AWS SDK untuk C\$1\$1
<a name="sdkoptions"></a>

[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)Struct berisi opsi konfigurasi SDK. `Aws::SDKOptions`berfokus pada konfigurasi SDK umum, sedangkan [`ClientConfiguration`](client-config.md)struct berfokus pada konfigurasi komunikasi dengan. Layanan AWS

Contoh [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)diteruskan ke [`Aws::ShutdownAPI`metode `Aws::InitAPI` dan](basic-use.md). Contoh yang sama harus dikirim ke kedua metode.

Sampel berikut menunjukkan beberapa opsi yang tersedia.
+ Aktifkan logging menggunakan logger default

  ```
  Aws::SDKOptions options;
  options.loggingOptions.logLevel = Aws::Utils::Logging::LogLevel::Info;
  Aws::InitAPI(options);
  {
      // make your SDK calls here.
  }
  Aws::ShutdownAPI(options);
  ```
+ Ganti pabrik klien HTTP default

  ```
  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);
  ```
**catatan**  
 `httpOptions`mengambil penutupan (juga disebut fungsi anonim atau ekspresi lambda) daripada a`std::shared_ptr`. Setiap fungsi pabrik SDK beroperasi dengan cara ini karena pada saat alokasi memori pabrik terjadi, manajer memori belum diinstal. Dengan melewati penutupan ke metode, manajer memori akan dipanggil untuk melakukan alokasi memori ketika aman untuk melakukannya. Teknik sederhana untuk menyelesaikan prosedur ini adalah dengan menggunakan ekspresi Lambda.
+ Gunakan `SIGPIPE` handler global

  Jika Anda membangun SDK for C\$1\$1 dengan curl dan OpenSSL, Anda harus menentukan handler sinyal. Jika Anda tidak menggunakan handler sinyal kustom Anda sendiri, atur `installSigPipeHandler` ke`true`.

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

  `installSigPipeHandler`Kapan`true`, SDK for C\$1\$1 menggunakan `SIGPIPE` handler yang mengabaikan sinyal. Untuk informasi selengkapnya`SIGPIPE`, lihat [Sinyal Kesalahan Operasi](https://www.gnu.org/software/libc/manual/html_node/Operation-Error-Signals.html) di situs web Sistem Operasi GNU. Untuk informasi lebih lanjut tentang penangan curl, lihat [CURLOPT\$1NOSIGNAL dijelaskan di situs web curl](https://curl.se/libcurl/c/CURLOPT_NOSIGNAL.html).

  Pustaka yang mendasari curl dan OpenSSL dapat mengirim `SIGPIPE` sinyal untuk memberi tahu ketika sisi jarak jauh menutup koneksi. Sinyal ini harus ditangani oleh aplikasi. Untuk informasi selengkapnya fungsionalitas curl ini, lihat [keamanan utas libcurl](https://curl.se/libcurl/c/threadsafe.html) di situs web curl. Perilaku ini tidak secara otomatis bawaan ke SDK karena penangan sinyal bersifat global untuk setiap aplikasi dan pustaka merupakan dependensi untuk SDK. 