

 AWS SDK untuk .NET V3 telah memasuki mode pemeliharaan.

Kami menyarankan Anda bermigrasi ke [AWS SDK untuk .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Untuk detail dan informasi tambahan tentang cara bermigrasi, silakan lihat [pengumuman mode pemeliharaan](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/) kami.

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

# Konfigurasi lanjutan untuk AWS SDK untuk .NET proyek Anda
<a name="net-dg-advanced-config"></a>

Topik di bagian ini berisi informasi tentang tugas dan metode konfigurasi tambahan yang mungkin menarik bagi Anda.

**Topics**
+ [AWSSDK.Ekstensi. NETCore.Setup dan IConfiguration](net-dg-config-netcore.md)
+ [Mengkonfigurasi Parameter Aplikasi Lainnya](net-dg-config-other.md)
+ [Referensi File Konfigurasi untuk AWS SDK untuk .NET](net-dg-config-ref.md)

# Menggunakan AWSSDK .Extensions. NETCore.Setup dan antarmuka IConfiguration
<a name="net-dg-config-netcore"></a>

(Topik ini sebelumnya berjudul, “Configuring the AWS SDK untuk .NET with .NET Core”)

Salah satu perubahan terbesar dalam .NET Core adalah penghapusan dan standar `ConfigurationManager` `app.config` dan `web.config` file yang digunakan dengan aplikasi.NET Framework dan ASP.NET.

Konfigurasi dalam.NET Core didasarkan pada pasangan nilai kunci yang ditetapkan oleh penyedia konfigurasi. Penyedia konfigurasi membaca data konfigurasi menjadi pasangan nilai kunci dari berbagai sumber konfigurasi, termasuk argumen baris perintah, file direktori, variabel lingkungan, dan file pengaturan.

**catatan**  
Untuk informasi lebih lanjut, lihat [Konfigurasi di ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration).

Untuk membuatnya mudah untuk menggunakan AWS SDK untuk .NET dengan .NET Core, Anda dapat menggunakan [AWSSDK.Extensions. NETCore.Setup](https://www.nuget.org/packages/AWSSDK.Extensions.NETCore.Setup/) NuGet paket. Seperti banyak pustaka .NET Core, ia menambahkan metode ekstensi ke `IConfiguration` antarmuka untuk membuat AWS konfigurasi mulus.

Kode sumber untuk paket ini aktif GitHub di[https://github.com/aws/aws-sdk-net/tree/aws-sdk-net-v3.7/extensions/src/AWSSDK.Extensions.NETCore.Setup](https://github.com/aws/aws-sdk-net/tree/aws-sdk-net-v3.7/extensions/src/AWSSDK.Extensions.NETCore.Setup).

## Menggunakan AWSSDK .Extensions. NETCore.Pengaturan
<a name="net-core-configuration-builder"></a>

Misalkan Anda membuat aplikasi ASP.NET Core Model-View-Controller (MVC), yang dapat dicapai dengan template **Aplikasi Web ASP.NET Core** di Visual Studio atau dengan berjalan `dotnet new mvc ...` di .NET Core CLI. Ketika Anda membuat aplikasi seperti itu, konstruktor untuk `Startup.cs` menangani konfigurasi dengan membaca di berbagai sumber input dari penyedia konfigurasi seperti`appsettings.json`.

```
public Startup(IConfiguration configuration)
{
    Configuration = configuration;
}
```

Untuk menggunakan `Configuration` objek untuk mendapatkan *AWS*opsi, pertama-tama tambahkan `AWSSDK.Extensions.NETCore.Setup` NuGet paket. Kemudian, tambahkan opsi Anda ke file konfigurasi seperti yang dijelaskan selanjutnya.

Perhatikan bahwa salah satu file yang ditambahkan ke proyek Anda adalah`appsettings.Development.json`. Ini sesuai dengan satu `EnvironmentName` set untuk **Pengembangan**. Selama pengembangan, Anda menempatkan konfigurasi Anda dalam file ini, yang hanya dibaca selama pengujian lokal. Saat Anda menerapkan instans Amazon EC2 yang `EnvironmentName` telah disetel **ke** Production, file ini akan diabaikan dan AWS SDK untuk .NET akan kembali ke kredensi IAM dan Wilayah yang dikonfigurasi untuk instans Amazon EC2.

Pengaturan konfigurasi berikut menunjukkan contoh nilai yang dapat Anda tambahkan dalam `appsettings.Development.json` file dalam proyek Anda untuk menyediakan AWS pengaturan.

```
{
  "AWS": {
    "Profile": "local-test-profile",
    "Region": "us-west-2"
  },
  "SupportEmail": "TechSupport@example.com"
}
```

Untuk mengakses pengaturan dalam file *CSHTHTML*, gunakan direktif. `Configuration`

```
@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration

<h1>Contact</h1>

<p>
    <strong>Support:</strong> <a href='mailto:@Configuration["SupportEmail"]'>@Configuration["SupportEmail"]</a><br />
</p>
```

Untuk mengakses AWS opsi yang ditetapkan dalam file dari kode, panggil metode `GetAWSOptions` ekstensi yang ditambahkan ke`IConfiguration`.

Untuk membangun klien layanan dari opsi ini, hubungi`CreateServiceClient`. Contoh berikut menunjukkan cara membuat klien layanan Amazon S3. (Pastikan untuk menambahkan [AWSSDK NuGet paket.S3](https://www.nuget.org/packages/AWSSDK.S3) ke proyek Anda.)

```
var options = Configuration.GetAWSOptions();
IAmazonS3 client = options.CreateServiceClient<IAmazonS3>();
```

*Anda juga dapat membuat beberapa klien layanan dengan pengaturan yang tidak kompatibel dengan menggunakan beberapa entri dalam `appsettings.Development.json` file, seperti yang ditunjukkan dalam contoh berikut di mana konfigurasi untuk `service1` menyertakan `us-west-2` Wilayah dan konfigurasi untuk `service2` menyertakan URL titik akhir khusus.*

```
{
  "service1": {
    "Profile": "default",
    "Region": "us-west-2"
  },
  "service2": {
    "Profile": "default",
    "ServiceURL": "URL"
  }
}
```

Anda kemudian bisa mendapatkan opsi untuk layanan tertentu dengan menggunakan entri dalam file JSON. Misalnya, untuk mendapatkan pengaturan untuk `service1` gunakan yang berikut ini.

```
var options = Configuration.GetAWSOptions("service1");
```

### Nilai yang diizinkan dalam file pengaturan aplikasi
<a name="net-core-appsettings-values"></a>

Nilai konfigurasi aplikasi berikut dapat diatur dalam `appsettings.Development.json` file. Nama bidang harus menggunakan casing yang ditampilkan. Untuk detail tentang pengaturan ini, lihat `[AWS.Runtime.ClientConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Runtime/TClientConfig.html)` kelas.
+ Region
+ Profil
+ ProfilesLocation
+ SignatureVersion
+ RegionEndpoint
+ UseHttp
+ ServiceURL
+ AuthenticationRegion
+ AuthenticationServiceName
+ MaxErrorRetry
+ LogResponse
+ BufferSize
+ ProgressUpdateInterval
+ ResignRetries
+ AllowAutoRedirect
+ LogMetrics
+ DisableLogging
+ UseDualstackEndpoint

## Injeksi ketergantungan ASP.NET Core
<a name="net-core-dependency-injection"></a>

*AWSSDK.Extensions. NETCore NuGet Paket .Setup* juga terintegrasi dengan sistem injeksi ketergantungan baru di ASP.NET Core. `ConfigureServices`Metode di `Startup` kelas aplikasi Anda adalah di mana layanan MVC ditambahkan. Jika aplikasi menggunakan Entity Framework, ini juga tempat yang diinisialisasi.

```
public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();
}
```

**catatan**  
Latar belakang injeksi ketergantungan di.NET Core tersedia di [situs dokumentasi.NET Core](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/dependency-injection).

`AWSSDK.Extensions.NETCore.Setup` NuGet Paket menambahkan metode ekstensi baru `IServiceCollection` yang dapat Anda gunakan untuk menambahkan AWS layanan ke injeksi ketergantungan. Kode berikut menunjukkan cara menambahkan AWS opsi yang dibaca `IConfiguration` untuk menambahkan Amazon S3 dan DynamoDB ke daftar layanan. (Pastikan untuk menambahkan [AWSSDKDBv2 NuGet paket.S3](https://www.nuget.org/packages/AWSSDK.S3) dan [AWSSDK.Dynamo](https://www.nuget.org/packages/AWSSDK.DynamoDBv2) ke proyek Anda.)

```
public void ConfigureServices(IServiceCollection services)
{
    // Add framework services.
    services.AddMvc();

    services.AddDefaultAWSOptions(Configuration.GetAWSOptions());
    services.AddAWSService<IAmazonS3>();
    services.AddAWSService<IAmazonDynamoDB>();
}
```

Sekarang, jika pengontrol MVC Anda menggunakan salah satu `IAmazonS3` atau `IAmazonDynamoDB` sebagai parameter dalam konstruktornya, sistem injeksi ketergantungan melewati layanan tersebut.

```
public class HomeController : Controller
{
    IAmazonS3 S3Client { get; set; }

    public HomeController(IAmazonS3 s3Client)
    {
        this.S3Client = s3Client;
    }

    ...

}
```

# Mengkonfigurasi Parameter Aplikasi Lainnya
<a name="net-dg-config-other"></a>

**catatan**  
Informasi dalam topik ini khusus untuk proyek berdasarkan .NET Framework. `Web.config`File `App.config` dan tidak ada secara default dalam proyek berdasarkan .NET Core.

## Terbuka untuk melihat konten.NET Framework
<a name="w2aab9c31b9b5b1"></a>

Ada sejumlah parameter aplikasi yang dapat Anda konfigurasikan:
+  `AWSLogging` 
+  `AWSLogMetrics` 
+  `AWSRegion` 
+  `AWSResponseLogging` 
+  `AWS.DynamoDBContext.TableNamePrefix` 
+  `AWS.S3.UseSignatureVersion4` 
+  `AWSEndpointDefinition` 
+  [AWS Titik Akhir yang Dihasilkan Layanan](#config-setting-service-generated-awsendpointdefinition) 

Parameter ini dapat dikonfigurasi dalam aplikasi `App.config` atau `Web.config` file. Meskipun Anda juga dapat mengonfigurasinya dengan AWS SDK untuk .NET API, kami sarankan Anda menggunakan `.config` file aplikasi. Kedua pendekatan tersebut dijelaskan di sini.

Untuk informasi selengkapnya tentang penggunaan `<aws>` elemen seperti yang dijelaskan nanti dalam topik ini, lihat [Referensi File Konfigurasi untuk AWS SDK untuk .NET](net-dg-config-ref.md).

### AWSLogging
<a name="config-setting-awslogging"></a>

Mengonfigurasi bagaimana SDK harus mencatat peristiwa, jika ada. Misalnya, pendekatan yang disarankan adalah dengan menggunakan `<logging>` elemen, yang merupakan elemen anak dari `<aws>` elemen:

```
<aws>
  <logging logTo="Log4Net"/>
</aws>
```

Atau:

```
<add key="AWSLogging" value="log4net"/>
```

Nilai yang mungkin adalah:

** `None` **  
Matikan pencatatan peristiwa. Ini adalah opsi default.

** `log4net` **  
Log menggunakan log4net.

** `SystemDiagnostics` **  
Log menggunakan `System.Diagnostics` kelas.

Anda dapat mengatur beberapa nilai untuk `logTo` atribut, dipisahkan dengan koma. Contoh berikut menetapkan keduanya `log4net` dan `System.Diagnostics` masuk ke dalam `.config` file:

```
<logging logTo="Log4Net, SystemDiagnostics"/>
```

Atau:

```
<add key="AWSLogging" value="log4net, SystemDiagnostics"/>
```

[Atau, dengan menggunakan AWS SDK untuk .NET API, gabungkan nilai [LoggingOptions](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TLoggingOptions.html)enumerasi dan setel properti .Logging: AWSConfigs](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)

```
AWSConfigs.Logging = LoggingOptions.Log4Net | LoggingOptions.SystemDiagnostics;
```

Perubahan pada setelan ini hanya berlaku untuk instance AWS klien baru.

### AWSLogMetrik
<a name="config-setting-awslogmetrics"></a>

Menentukan apakah SDK harus mencatat metrik kinerja atau tidak. Untuk mengatur konfigurasi logging metrik dalam `.config` file, atur nilai `logMetrics` atribut dalam `<logging>` elemen, yang merupakan elemen anak dari `<aws>` elemen:

```
<aws>
  <logging logMetrics="true"/>
</aws>
```

Atau, atur `AWSLogMetrics` kunci di `<appSettings>` bagian:

```
<add key="AWSLogMetrics" value="true">
```

[Atau, untuk menyetel pencatatan metrik dengan AWS SDK untuk .NET API, setel file. AWSConfigs LogMetrics](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)properti:

```
AWSConfigs.LogMetrics = true;
```

Pengaturan ini mengkonfigurasi `LogMetrics` properti default untuk semua klien/konfigurasi. Perubahan pada setelan ini hanya berlaku untuk instance AWS klien baru.

### AWSRegion
<a name="config-setting-awsregion"></a>

Mengkonfigurasi AWS wilayah default untuk klien yang belum secara eksplisit menentukan wilayah. Untuk mengatur wilayah dalam `.config` file, pendekatan yang disarankan adalah mengatur nilai `region` atribut dalam `aws` elemen:

```
<aws region="us-west-2"/>
```

Atau, atur *AWSRegion*kunci di `<appSettings>` bagian:

```
<add key="AWSRegion" value="us-west-2"/>
```

Atau, untuk menyetel wilayah dengan AWS SDK untuk .NET API, atur [AWSConfigs. AWSRegion](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)properti:

```
AWSConfigs.AWSRegion = "us-west-2";
```

Untuk informasi selengkapnya tentang membuat AWS klien untuk wilayah tertentu, lihat [Pemilihan AWS Wilayah](net-dg-region-selection.md). Perubahan pada setelan ini hanya berlaku untuk instance AWS klien baru.

### AWSResponsePenebangan
<a name="config-setting-awsresponselogging"></a>

Mengkonfigurasi kapan SDK harus mencatat respons layanan. Nilai yang mungkin adalah:

** `Never` **  
Jangan pernah mencatat tanggapan layanan. Ini adalah opsi default.

** `Always` **  
Selalu log tanggapan layanan.

** `OnError` **  
Hanya log tanggapan layanan ketika terjadi kesalahan.

Untuk mengatur konfigurasi pencatatan layanan dalam `.config` file, pendekatan yang disarankan adalah mengatur nilai `logResponses` atribut dalam `<logging>` elemen, yang merupakan elemen anak dari `<aws>` elemen:

```
<aws>
  <logging logResponses="OnError"/>
</aws>
```

Atau, setel kunci *AWSResponseLogging* di `<appSettings>` bagian:

```
<add key="AWSResponseLogging" value="OnError"/>
```

Atau, untuk mengatur pencatatan layanan dengan AWS SDK untuk .NET API, setel file [AWSConfigs. ResponseLogging](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)properti ke salah satu nilai [ResponseLoggingOption](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TResponseLoggingOption.html)pencacahan:

```
AWSConfigs.ResponseLogging = ResponseLoggingOption.OnError;
```

Perubahan pada pengaturan ini segera berlaku.

### `AWS.DynamoDBContext.TableNamePrefix`
<a name="config-setting-aws-dynamodbcontext-tablenameprefix"></a>

Mengkonfigurasi default `TableNamePrefix` yang `DynamoDBContext` akan digunakan jika tidak dikonfigurasi secara manual.

Untuk mengatur awalan nama tabel dalam `.config` file, pendekatan yang disarankan adalah mengatur nilai `tableNamePrefix` atribut dalam `<dynamoDBContext>` elemen, yang merupakan elemen anak dari `<dynamoDB>` elemen, yang merupakan elemen anak dari `<aws>` elemen:

```
<dynamoDBContext tableNamePrefix="Test-"/>
```

Atau, atur `AWS.DynamoDBContext.TableNamePrefix` kunci di `<appSettings>` bagian:

```
<add key="AWS.DynamoDBContext.TableNamePrefix" value="Test-"/>
```

Atau, untuk mengatur awalan nama tabel dengan AWS SDK untuk .NET API, setel properti [AWSConfigs.Dynamo DBContext TableNamePrefix](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html):

```
AWSConfigs.DynamoDBContextTableNamePrefix = "Test-";
```

Perubahan pada pengaturan ini hanya akan berlaku dalam contoh yang baru dibangun dari `DynamoDBContextConfig` dan`DynamoDBContext`.

### `AWS.S3.UseSignatureVersion4`
<a name="config-setting-aws-s3-usesignatureversion4"></a>

Mengkonfigurasi apakah klien Amazon S3 harus menggunakan tanda tangan versi 4 penandatanganan dengan permintaan atau tidak.

Untuk mengatur tanda tangan versi 4 penandatanganan untuk Amazon S3 dalam `.config` file, pendekatan yang disarankan adalah mengatur `useSignatureVersion4` atribut `<s3>` elemen, yang merupakan elemen turunan dari elemen: `<aws>`

```
<aws>
  <s3 useSignatureVersion4="true"/>
</aws>
```

Atau, atur `AWS.S3.UseSignatureVersion4` kuncinya `true` di `<appSettings>` bagian:

```
<add key="AWS.S3.UseSignatureVersion4" value="true"/>
```

Atau, untuk menyetel tanda tangan penandatanganan versi 4 dengan AWS SDK untuk .NET API, setel [AWSConfigsproperti.S3 UseSignatureVersion 4](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) ke: `true`

```
AWSConfigs.S3UseSignatureVersion4 = true;
```

Secara default, pengaturan ini`false`, tetapi versi tanda tangan 4 dapat digunakan secara default dalam beberapa kasus atau dengan beberapa wilayah. Saat pengaturannya`true`, tanda tangan versi 4 akan digunakan untuk semua permintaan. Perubahan pada setelan ini hanya berlaku untuk instans klien Amazon S3 baru.

### AWSEndpointDefinisi
<a name="config-setting-awsendpointdefinition"></a>

Mengonfigurasi apakah SDK harus menggunakan file konfigurasi khusus yang mendefinisikan wilayah dan titik akhir.

Untuk mengatur file definisi titik akhir dalam `.config` file, kami sarankan untuk mengatur nilai `endpointDefinition` atribut dalam `<aws>` elemen.

```
<aws endpointDefinition="c:\config\endpoints.json"/>
```

Atau, Anda dapat mengatur kunci *AWSEndpointDefinisi* di `<appSettings>` bagian:

```
<add key="AWSEndpointDefinition" value="c:\config\endpoints.json"/>
```

[Atau, untuk menyetel file definisi titik akhir dengan AWS SDK untuk .NET API, setel file. AWSConfigs EndpointDefinition](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)properti:

```
AWSConfigs.EndpointDefinition = @"c:\config\endpoints.json";
```

Jika tidak ada nama file yang disediakan, maka file konfigurasi khusus tidak akan digunakan. Perubahan pada setelan ini hanya berlaku untuk instance AWS klien baru. File endpoint.json tersedia dari file. [https://github.com/aws/aws-sdk-net/blob/aws-sdk-net-v3.7/sdk/src/Core/endpoints.json](https://github.com/aws/aws-sdk-net/blob/aws-sdk-net-v3.7/sdk/src/Core/endpoints.json)

### AWS Titik Akhir yang Dihasilkan Layanan
<a name="config-setting-service-generated-awsendpointdefinition"></a>

Beberapa AWS layanan menghasilkan titik akhir mereka sendiri alih-alih menggunakan titik akhir wilayah. Klien untuk layanan ini menggunakan URL layanan yang khusus untuk layanan itu dan sumber daya Anda. Dua contoh layanan ini adalah Amazon CloudSearch dan AWS IoT. Contoh berikut menunjukkan bagaimana Anda dapat memperoleh titik akhir untuk layanan tersebut.

#### Contoh CloudSearch Titik Akhir Amazon
<a name="cs-endpoints-example"></a>

 CloudSearch Klien Amazon digunakan untuk mengakses layanan CloudSearch konfigurasi Amazon. Anda menggunakan layanan CloudSearch konfigurasi Amazon untuk membuat, mengonfigurasi, dan mengelola domain penelusuran. Untuk membuat domain pencarian, buat [CreateDomainRequest](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/TCreateDomainRequest.html)objek dan berikan `DomainName` properti. Buat [AmazonCloudSearchClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/TCloudSearchClient.html)objek dengan menggunakan objek permintaan. Panggil metode [CreateDomain](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/MCloudSearchCreateDomainCreateDomainRequest.html). [CreateDomainResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearch/TCreateDomainResponse.html)Objek yang dikembalikan dari panggilan berisi `DomainStatus` properti yang memiliki titik akhir `DocService` dan `SearchService` titik akhir. Buat [AmazonCloudSearchDomainConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearchDomain/TCloudSearchDomainConfig.html)objek dan gunakan untuk menginisialisasi `DocService` dan `SearchService` contoh kelas. [AmazonCloudSearchDomainClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/CloudSearchDomain/TCloudSearchDomainClient.html)

```
// Create domain and retrieve DocService and SearchService endpoints
DomainStatus domainStatus;
using (var searchClient = new AmazonCloudSearchClient())
{
    var request = new CreateDomainRequest
    {
        DomainName = "testdomain"
    };
    domainStatus = searchClient.CreateDomain(request).DomainStatus;
    Console.WriteLine(domainStatus.DomainName + " created");
}

// Test the DocService endpoint
var docServiceConfig = new AmazonCloudSearchDomainConfig
{
    ServiceURL = "https://" + domainStatus.DocService.Endpoint
};
using (var domainDocService = new AmazonCloudSearchDomainClient(docServiceConfig))
{
    Console.WriteLine("Amazon CloudSearchDomain DocService client instantiated using the DocService endpoint");
    Console.WriteLine("DocService endpoint = " + domainStatus.DocService.Endpoint);

    using (var docStream = new FileStream(@"C:\doc_source\XMLFile4.xml", FileMode.Open))
    {
        var upload = new UploadDocumentsRequest
        {
            ContentType = ContentType.ApplicationXml,
            Documents = docStream
        };
        domainDocService.UploadDocuments(upload);
    }
}

// Test the SearchService endpoint
var searchServiceConfig = new AmazonCloudSearchDomainConfig
{
    ServiceURL = "https://" + domainStatus.SearchService.Endpoint
};
using (var domainSearchService = new AmazonCloudSearchDomainClient(searchServiceConfig))
{
    Console.WriteLine("Amazon CloudSearchDomain SearchService client instantiated using the SearchService endpoint");
    Console.WriteLine("SearchService endpoint = " + domainStatus.SearchService.Endpoint);

    var searchReq = new SearchRequest
    {
        Query = "Gambardella",
        Sort = "_score desc",
        QueryParser = QueryParser.Simple
    };
    var searchResp = domainSearchService.Search(searchReq);
}
```

#### AWS IoT Contoh Titik Akhir
<a name="iotlong-endpoints-example"></a>

Untuk mendapatkan titik akhir untuk AWS IoT, buat [AmazonIoTClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IoT/TIoTClient.html)objek dan panggil [DescribeEndPoint](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IoT/MIoTDescribeEndpointDescribeEndpointRequest.html)metode. [DescribeEndPointResponse](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IoT/TDescribeEndpointResponse.html)Objek yang dikembalikan berisi file`EndpointAddress`. Buat [AmazonIotDataConfig](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IotData/TIotDataConfig.html)objek, atur `ServiceURL` properti, dan gunakan objek untuk membuat instance kelas. [AmazonIotDataClient](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/IotData/TIotDataClient.html)

```
string iotEndpointAddress;
using (var iotClient = new AmazonIoTClient())
{
    var endPointResponse = iotClient.DescribeEndpoint();
    iotEndpointAddress = endPointResponse.EndpointAddress;
}

var ioTdocServiceConfig = new AmazonIotDataConfig
{
    ServiceURL = "https://" + iotEndpointAddress
};
using (var dataClient = new AmazonIotDataClient(ioTdocServiceConfig))
{
    Console.WriteLine("AWS IoTData client instantiated using the endpoint from the IotClient");
}
```

# Referensi File Konfigurasi untuk AWS SDK untuk .NET
<a name="net-dg-config-ref"></a>

**catatan**  
Informasi dalam topik ini khusus untuk proyek berdasarkan .NET Framework. `Web.config`File `App.config` dan tidak ada secara default dalam proyek berdasarkan .NET Core.

## Terbuka untuk melihat konten.NET Framework
<a name="w2aab9c31c11b5b1"></a>

Anda dapat menggunakan proyek `App.config` atau `Web.config` file .NET untuk menentukan AWS pengaturan, seperti AWS kredensional, opsi logging, titik akhir AWS layanan, dan AWS wilayah, serta beberapa pengaturan untuk AWS layanan, seperti Amazon DynamoDB, Amazon, dan Amazon S3. EC2 Informasi berikut menjelaskan cara memformat `Web.config` file `App.config` atau dengan benar untuk menentukan jenis pengaturan ini.

**catatan**  
Meskipun Anda dapat terus menggunakan `<appSettings>` elemen dalam `Web.config` file `App.config` atau untuk menentukan AWS pengaturan, kami sarankan Anda menggunakan `<aws>` elemen `<configSections>` dan seperti yang dijelaskan nanti dalam topik ini. Untuk informasi selengkapnya tentang `<appSettings>` elemen, lihat contoh `<appSettings>` elemen dalam [Mengkonfigurasi AWS SDK untuk .NET Aplikasi Anda](net-dg-config.md).

**catatan**  
Meskipun Anda dapat terus menggunakan properti [https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html)kelas berikut dalam file kode untuk menentukan AWS pengaturan, properti berikut tidak digunakan lagi dan mungkin tidak didukung dalam rilis mendatang:  
 `DynamoDBContextTableNamePrefix` 
 `EC2UseSignatureVersion4` 
 `LoggingOptions` 
 `LogMetrics` 
 `ResponseLoggingOption` 
 `S3UseSignatureVersion4` 
Secara umum, kami menyarankan bahwa alih-alih menggunakan properti `AWSConfigs` kelas dalam file kode untuk menentukan AWS pengaturan, Anda harus menggunakan `<aws>` elemen `<configSections>` dan dalam `Web.config` file `App.config` atau untuk menentukan AWS pengaturan, seperti yang dijelaskan nanti dalam topik ini. Untuk informasi selengkapnya tentang properti sebelumnya, lihat contoh `AWSConfigs` kode di [Mengonfigurasi](net-dg-config.md) Aplikasi Anda. AWS SDK untuk .NET 

**Topics**
+ [Mendeklarasikan Bagian AWS Pengaturan](#net-dg-config-ref-declaring)
+ [Elemen yang Diizinkan](#net-dg-config-ref-elements)
+ [Referensi Elemen](#net-dg-config-ref-elements-ref)

### Mendeklarasikan Bagian AWS Pengaturan
<a name="net-dg-config-ref-declaring"></a>

Anda menentukan AWS pengaturan dalam `Web.config` file `App.config` atau dari dalam `<aws>` elemen. Sebelum Anda dapat mulai menggunakan `<aws>` elemen, Anda harus membuat `<section>` elemen (yang merupakan elemen anak dari `<configSections>` elemen) dan mengatur `name` atributnya ke `aws` dan `type` atributnya`Amazon.AWSSection, AWSSDK.Core`, seperti yang ditunjukkan pada contoh berikut:

```
<?xml version="1.0"?>
<configuration>
  ...
  <configSections>
    <section name="aws" type="Amazon.AWSSection, AWSSDK.Core"/>
  </configSections>
  <aws>
    <!-- Add your desired AWS settings declarations here. -->
  </aws>
  ...
</configuration>
```

Visual Studio Editor tidak menyediakan penyelesaian kode otomatis (IntelliSense) untuk `<aws>` elemen atau elemen turunannya.

Untuk membantu Anda membuat versi `<aws>` elemen yang diformat dengan benar, panggil `Amazon.AWSConfigs.GenerateConfigTemplate` metode ini. Ini menghasilkan versi kanonik `<aws>` elemen sebagai string yang dicetak cantik, yang dapat Anda sesuaikan dengan kebutuhan Anda. Bagian berikut menjelaskan atribut `<aws>` elemen dan elemen anak.

### Elemen yang Diizinkan
<a name="net-dg-config-ref-elements"></a>

Berikut ini adalah daftar hubungan logis antara elemen yang diizinkan di bagian AWS pengaturan. Anda dapat menghasilkan versi terbaru dari daftar ini dengan memanggil `Amazon.AWSConfigs.GenerateConfigTemplate` metode, yang menghasilkan versi kanonik `<aws>` elemen sebagai string yang dapat Anda sesuaikan dengan kebutuhan Anda.

```
<aws
  endpointDefinition="string value"
  region="string value"
  profileName="string value"
  profilesLocation="string value">
  <logging
    logTo="None, Log4Net, SystemDiagnostics"
    logResponses="Never | OnError | Always"
    logMetrics="true | false"
    logMetricsFormat="Standard | JSON"
    logMetricsCustomFormatter="NameSpace.Class, Assembly" />
  <dynamoDB
    conversionSchema="V1 | V2">
    <dynamoDBContext
      tableNamePrefix="string value">
      <tableAliases>
        <alias
          fromTable="string value"
          toTable="string value" />
      </tableAliases>
      <map
        type="NameSpace.Class, Assembly"
        targetTable="string value">
        <property
          name="string value"
          attribute="string value"
          ignore="true | false"
          version="true | false"
          converter="NameSpace.Class, Assembly" />
      </map>
    </dynamoDBContext>
  </dynamoDB>
  <s3
    useSignatureVersion4="true | false" />
  <ec2
    useSignatureVersion4="true | false" />
  <proxy
    host="string value"
    port="1234"
    username="string value"
    password="string value" />
</aws>
```

### Referensi Elemen
<a name="net-dg-config-ref-elements-ref"></a>

Berikut ini adalah daftar elemen yang diizinkan di bagian AWS pengaturan. Untuk setiap elemen, atribut yang diizinkan dan elemen induk-anak terdaftar.

**Topics**
+ [alias](#net-dg-config-ref-elements-alias)
+ [`aws`](#net-dg-config-ref-elements-aws)
+ [dynamoDB](#net-dg-config-ref-elements-dynamodb)
+ [dinamo DBContext](#net-dg-config-ref-elements-ddbcontext)
+ [ec2](#net-dg-config-ref-elements-ec2)
+ [pencatatan log](#net-dg-config-ref-elements-logging)
+ [map](#net-dg-config-ref-elements-map)
+ [properti](#net-dg-config-ref-elements-property)
+ [proxy](#net-dg-config-ref-elements-proxy)
+ [s3](#net-dg-config-ref-elements-s3)

#### alias
<a name="net-dg-config-ref-elements-alias"></a>

`<alias>`Elemen mewakili satu item dalam koleksi satu atau lebih pemetaan dari-tabel ke tabel yang menentukan tabel yang berbeda dari yang dikonfigurasi untuk tipe. Elemen ini memetakan ke instance `Amazon.Util.TableAlias` kelas dari `Amazon.AWSConfigs.DynamoDBConfig.Context.TableAliases` properti di AWS SDK untuk .NET. Pemetaan ulang dilakukan sebelum menerapkan awalan nama tabel.

Elemen ini dapat mencakup atribut berikut:

** `fromTable` **  
Bagian dari tabel dari pemetaan dari tabel ke tabel ke tabel. Atribut ini memetakan ke `Amazon.Util.TableAlias.FromTable` properti di AWS SDK untuk .NET.

** `toTable` **  
Bagian to-table dari pemetaan dari-tabel ke tabel ke tabel. Atribut ini memetakan ke `Amazon.Util.TableAlias.ToTable` properti di AWS SDK untuk .NET.

Induk `<alias>` elemen adalah `<tableAliases>` elemen.

`<alias>`Elemen tidak mengandung elemen anak.

Berikut ini adalah contoh `<alias>` elemen yang digunakan:

```
<alias
  fromTable="Studio"
  toTable="Studios" />
```

#### `aws`
<a name="net-dg-config-ref-elements-aws"></a>

`<aws>`Elemen mewakili elemen paling atas di bagian AWS pengaturan. Elemen ini dapat mencakup atribut berikut:

** `endpointDefinition` **  
Jalur absolut ke file konfigurasi khusus yang mendefinisikan AWS wilayah dan titik akhir yang akan digunakan. Atribut ini memetakan ke `Amazon.AWSConfigs.EndpointDefinition` properti di AWS SDK untuk .NET.

** `profileName` **  
Nama profil untuk AWS kredensi tersimpan yang akan digunakan untuk melakukan panggilan layanan. Atribut ini memetakan ke `Amazon.AWSConfigs.AWSProfileName` properti di AWS SDK untuk .NET.

** `profilesLocation` **  
Jalur absolut ke lokasi file kredensial yang dibagikan dengan yang lain. AWS SDKs Secara default, file kredensial disimpan dalam `.aws` direktori di direktori home pengguna saat ini. Atribut ini memetakan ke `Amazon.AWSConfigs.AWSProfilesLocation` properti di AWS SDK untuk .NET.

** `region` **  
ID AWS wilayah default untuk klien yang belum secara eksplisit menentukan wilayah. Atribut ini memetakan ke `Amazon.AWSConfigs.AWSRegion` properti di AWS SDK untuk .NET.

`<aws>`Elemen tidak memiliki elemen induk.

`<aws>`Elemen dapat mencakup elemen anak berikut:
+  `<dynamoDB>` 
+  `<ec2>` 
+  `<logging>` 
+  `<proxy>` 
+  `<s3>` 

Berikut ini adalah contoh `<aws>` elemen yang digunakan:

```
<aws
  endpointDefinition="C:\Configs\endpoints.xml"
  region="us-west-2"
  profileName="development"
  profilesLocation="C:\Configs">
  <!-- ... -->
</aws>
```

#### dynamoDB
<a name="net-dg-config-ref-elements-dynamodb"></a>

`<dynamoDB>`Elemen mewakili kumpulan pengaturan untuk Amazon DynamoDB. Elemen ini dapat menyertakan atribut *ConversionSchema*, yang mewakili versi yang akan digunakan untuk mengkonversi antara objek .NET dan DynamoDB. Nilai yang diizinkan termasuk V1 dan V2. Atribut ini memetakan ke `Amazon.DynamoDBv2.DynamoDBEntryConversion` kelas di AWS SDK untuk .NET. Untuk informasi selengkapnya, lihat [Seri DynamoDB - Skema](http://blogs.aws.amazon.com/net/post/Tx2TCOGWG7ARUH5/DynamoDB-Series-Conversion-Schemas) Konversi.

Induk `<dynamoDB>` elemen adalah `<aws>` elemen.

`<dynamoDB>`Elemen dapat mencakup elemen `<dynamoDBContext>` anak.

Berikut ini adalah contoh `<dynamoDB>` elemen yang digunakan:

```
<dynamoDB
  conversionSchema="V2">
  <!-- ... -->
</dynamoDB>
```

#### dinamo DBContext
<a name="net-dg-config-ref-elements-ddbcontext"></a>

`<dynamoDBContext>`Elemen mewakili kumpulan pengaturan khusus konteks Amazon DynamoDB. Elemen ini dapat menyertakan *tableNamePrefix*atribut, yang mewakili awalan nama tabel default konteks DynamoDB akan digunakan jika tidak dikonfigurasi secara manual. Atribut ini memetakan ke `Amazon.Util.DynamoDBContextConfig.TableNamePrefix` `Amazon.AWSConfigs.DynamoDBConfig.Context.TableNamePrefix` properti dari properti di AWS SDK untuk .NET. Untuk informasi selengkapnya, lihat [Penyempurnaan pada DynamoDB](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK) SDK.

Induk `<dynamoDBContext>` elemen adalah `<dynamoDB>` elemen.

`<dynamoDBContext>`Elemen dapat mencakup elemen anak berikut:
+  `<alias>`(satu atau lebih contoh)
+  `<map>`(satu atau lebih contoh)

Berikut ini adalah contoh `<dynamoDBContext>` elemen yang digunakan:

```
<dynamoDBContext
  tableNamePrefix="Test-">
  <!-- ... -->
</dynamoDBContext>
```

#### ec2
<a name="net-dg-config-ref-elements-ec2"></a>

`<ec2>`Elemen mewakili kumpulan EC2 pengaturan Amazon. Elemen ini dapat mencakup atribut *useSignatureVersion4*, yang menentukan apakah tanda tangan versi 4 penandatanganan akan digunakan untuk semua permintaan (true) atau apakah tanda tangan versi 4 penandatanganan tidak akan digunakan untuk semua permintaan (false, default). Atribut ini memetakan ke `Amazon.Util.EC2Config.UseSignatureVersion4` `Amazon.AWSConfigs.EC2Config.UseSignatureVersion4` properti dari properti di AWS SDK untuk .NET.

Induk `<ec2>` elemen adalah elemen.

`<ec2>`Elemen tidak mengandung elemen anak.

Berikut ini adalah contoh `<ec2>` elemen yang digunakan:

```
<ec2
  useSignatureVersion4="true" />
```

#### pencatatan log
<a name="net-dg-config-ref-elements-logging"></a>

`<logging>`Elemen mewakili kumpulan pengaturan untuk pencatatan respons dan pencatatan metrik kinerja. Elemen ini dapat mencakup atribut berikut:

** `logMetrics` **  
Apakah metrik kinerja akan dicatat untuk semua klien dan konfigurasi (true); jika tidak, false. Atribut ini memetakan ke `Amazon.Util.LoggingConfig.LogMetrics` `Amazon.AWSConfigs.LoggingConfig.LogMetrics` properti dari properti di AWS SDK untuk .NET.

** `logMetricsCustomFormatter` **  
Jenis data dan nama rakitan formatter kustom untuk metrik logging. Atribut ini memetakan ke `Amazon.Util.LoggingConfig.LogMetricsCustomFormatter` `Amazon.AWSConfigs.LoggingConfig.LogMetricsCustomFormatter` properti dari properti di AWS SDK untuk .NET.

** `logMetricsFormat` **  
Format di mana metrik logging disajikan (peta ke `Amazon.Util.LoggingConfig.LogMetricsFormat` properti dari `Amazon.AWSConfigs.LoggingConfig.LogMetricsFormat` properti di AWS SDK untuk .NET).  
Nilai yang diizinkan meliputi:    
** `JSON` **  
Gunakan format JSON.  
** `Standard` **  
Gunakan format default.

** `logResponses` **  
Kapan harus mencatat tanggapan layanan (peta ke `Amazon.Util.LoggingConfig.LogResponses` properti dari `Amazon.AWSConfigs.LoggingConfig.LogResponses` properti di AWS SDK untuk .NET).  
Nilai yang diizinkan meliputi:    
** `Always` **  
Selalu log tanggapan layanan.  
** `Never` **  
Jangan pernah mencatat tanggapan layanan.  
** `OnError` **  
Hanya log tanggapan layanan ketika ada kesalahan.

** `logTo` **  
Tempat masuk (peta ke `LogTo` properti dari `Amazon.AWSConfigs.LoggingConfig.LogTo` properti di AWS SDK untuk .NET).  
Nilai yang diizinkan mencakup satu atau lebih dari:    
** `Log4Net` **  
Masuk ke log4net.  
** `None` **  
Nonaktifkan logging.  
** `SystemDiagnostics` **  
Masuk ke System.Diagnostics.

Induk `<logging>` elemen adalah `<aws>` elemen.

`<logging>`Elemen tidak mengandung elemen anak.

Berikut ini adalah contoh `<logging>` elemen yang digunakan:

```
<logging
  logTo="SystemDiagnostics"
  logResponses="OnError"
  logMetrics="true"
  logMetricsFormat="JSON"
  logMetricsCustomFormatter="MyLib.Util.MyMetricsFormatter, MyLib" />
```

#### map
<a name="net-dg-config-ref-elements-map"></a>

`<map>`Elemen mewakili satu item dalam koleksi type-to-table pemetaan dari tipe.NET ke tabel DynamoDB (peta ke instance `TypeMapping` kelas dari properti di). `Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings` AWS SDK untuk .NET Untuk informasi selengkapnya, lihat [Penyempurnaan pada DynamoDB](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK) SDK.

Elemen ini dapat mencakup atribut berikut:

** `targetTable` **  
Tabel DynamoDB tempat pemetaan berlaku. Atribut ini memetakan ke `Amazon.Util.TypeMapping.TargetTable` properti di AWS SDK untuk .NET.

** `type` **  
Jenis dan nama perakitan yang diterapkan pemetaan. Atribut ini memetakan ke `Amazon.Util.TypeMapping.Type` properti di AWS SDK untuk .NET.

Induk `<map>` elemen adalah `<dynamoDBContext>` elemen.

`<map>`Elemen dapat mencakup satu atau lebih contoh elemen `<property>` anak.

Berikut ini adalah contoh `<map>` elemen yang digunakan:

```
<map
  type="SampleApp.Models.Movie, SampleDLL"
  targetTable="Movies">
  <!-- ... -->
</map>
```

#### properti
<a name="net-dg-config-ref-elements-property"></a>

`<property>`Elemen merupakan properti DynamoDB. (Elemen ini memetakan ke instance Amazon.Util. PropertyConfig [class dari `AddProperty` metode dalam AWS SDK untuk .NET) Untuk informasi selengkapnya, lihat [Penyempurnaan ke DynamoDB SDK dan DynamoDB Attribut](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK).](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DeclarativeTagsList.html)

Elemen ini dapat mencakup atribut berikut:

** `attribute` **  
Nama atribut untuk properti, seperti nama kunci rentang. Atribut ini memetakan ke `Amazon.Util.PropertyConfig.Attribute` properti di AWS SDK untuk .NET.

** `converter` **  
Jenis konverter yang harus digunakan untuk properti ini. Atribut ini memetakan ke `Amazon.Util.PropertyConfig.Converter` properti di AWS SDK untuk .NET.

** `ignore` **  
Apakah properti terkait harus diabaikan (true); jika tidak, false. Atribut ini memetakan ke `Amazon.Util.PropertyConfig.Ignore` properti di AWS SDK untuk .NET.

** `name` **  
Nama properti. Atribut ini memetakan ke `Amazon.Util.PropertyConfig.Name` properti di AWS SDK untuk .NET.

** `version` **  
Apakah properti ini harus menyimpan nomor versi item (true); jika tidak, false. Atribut ini memetakan ke `Amazon.Util.PropertyConfig.Version` properti di AWS SDK untuk .NET.

Induk `<property>` elemen adalah `<map>` elemen.

`<property>`Elemen tidak mengandung elemen anak.

Berikut ini adalah contoh `<property>` elemen yang digunakan:

```
<property
  name="Rating"
  converter="SampleApp.Models.RatingConverter, SampleDLL" />
```

#### proxy
<a name="net-dg-config-ref-elements-proxy"></a>

`<proxy>`Elemen mewakili pengaturan untuk mengkonfigurasi proxy AWS SDK untuk .NET untuk digunakan. Elemen ini dapat mencakup atribut berikut:

**host**  
Nama host atau alamat IP dari server proxy. Atribut ini memetakan ke `Amazon.Util.ProxyConfig.Host` `Amazon.AWSConfigs.ProxyConfig.Host` properti dari properti di AWS SDK untuk .NET.

**password**  
Kata sandi untuk mengautentikasi dengan server proxy. Atribut ini memetakan ke `Amazon.Util.ProxyConfig.Password` `Amazon.AWSConfigs.ProxyConfig.Password` properti dari properti di AWS SDK untuk .NET.

**port**  
Nomor port proxy. Atribut ini memetakan ke `Amazon.Util.ProxyConfig.Port` `Amazon.AWSConfigs.ProxyConfig.Port` properti dari properti di AWS SDK untuk .NET.

**nama pengguna**  
Nama pengguna untuk mengautentikasi dengan server proxy. Atribut ini memetakan ke `Amazon.Util.ProxyConfig.Username` `Amazon.AWSConfigs.ProxyConfig.Username` properti dari properti di AWS SDK untuk .NET.

Induk `<proxy>` elemen adalah `<aws>` elemen.

`<proxy>`Elemen tidak mengandung elemen anak.

Berikut ini adalah contoh `<proxy>` elemen yang digunakan:

```
<proxy
  host="192.0.2.0"
  port="1234"
  username="My-Username-Here"
  password="My-Password-Here" />
```

#### s3
<a name="net-dg-config-ref-elements-s3"></a>

`<s3>`Elemen mewakili kumpulan pengaturan Amazon S3. Elemen ini dapat mencakup atribut *useSignatureVersion4*, yang menentukan apakah tanda tangan versi 4 penandatanganan akan digunakan untuk semua permintaan (true) atau apakah tanda tangan versi 4 penandatanganan tidak akan digunakan untuk semua permintaan (false, default). Atribut ini memetakan ke `Amazon.AWSConfigs.S3Config.UseSignatureVersion4` properti di AWS SDK untuk .NET.

Induk `<s3>` elemen adalah `<aws>` elemen.

`<s3>`Elemen tidak mengandung elemen anak.

Berikut ini adalah contoh `<s3>` elemen yang digunakan:

```
<s3 useSignatureVersion4="true" />
```