

 AWS SDK for .NET V3 がメンテナンスモードになりました。

[AWS SDK for .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html) に移行することをお勧めします。移行方法の詳細と情報については、[メンテナンスモードのお知らせ](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/)を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS SDK for .NET の設定ファイルリファレンス
<a name="net-dg-config-ref"></a>

**注記**  
このトピックの情報は、.NET Framework に基づくプロジェクトに固有のものです。.NET Core に基づくプロジェクトでは、デフォルトでは `App.config` および `Web.config` ファイルは存在しません。

## 開いて .NET Framework のコンテンツを表示する
<a name="w2aab9c31c11b5b1"></a>

.NET プロジェクトの `App.config` ファイルまたは `Web.config` ファイルを使用すると、AWS の認証情報、ログオプション、AWS サービスエンドポイント、AWS リージョンなどの AWS の設定や、Amazon DynamoDB、Amazon EC2、Amazon S3 などの AWS サービスの一部の設定を指定できます。以下では、適切な形式の `App.config` ファイルまたは `Web.config` ファイルを使用してこれらの設定を指定する方法について説明します。

**注記**  
`App.config` ファイルまたは `Web.config` ファイルの `<appSettings>` 要素を引き続き使用して AWS の設定を指定することもできますが、このトピックで後ほど説明するように `<configSections>` 要素および `<aws>` 要素を使用することをお勧めします `<appSettings>` エレメントの詳細については、「[AWS SDK for .NET アプリケーションの設定](net-dg-config.md)」の `<appSettings>` エレメントの例を参照してください。

**注記**  
以下の [https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html](https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Amazon/TAWSConfigs.html) クラスプロパティをコードファイルで使用して AWS の設定を指定することはできますが、以下のプロパティは非推奨であり、将来のリリースではサポートされなくなる可能性があります。  
 `DynamoDBContextTableNamePrefix` 
 `EC2UseSignatureVersion4` 
 `LoggingOptions` 
 `LogMetrics` 
 `ResponseLoggingOption` 
 `S3UseSignatureVersion4` 
一般に、このトピックでこれから説明するように、コードファイルで `AWSConfigs` クラスのプロパティを使用して AWS の設定を指定するのではなく、`App.config` ファイルまたは `Web.config` ファイルの `<configSections>` 要素および `<aws>` 要素を使用して AWS の設定を指定することをお勧めします。上記のプロパティの詳細については、「[AWS SDK for .NET アプリケーションの設定](net-dg-config.md)」の `AWSConfigs` コード例を参照してください。

**Topics**
+ [

### AWS 設定セクションの宣言
](#net-dg-config-ref-declaring)
+ [

### 使用できる要素
](#net-dg-config-ref-elements)
+ [

### 要素のリファレンス
](#net-dg-config-ref-elements-ref)

### AWS 設定セクションの宣言
<a name="net-dg-config-ref-declaring"></a>

AWS の設定は、`App.config` または `Web.config` ファイルの `<aws>` 要素内で指定します。`<aws>` 要素の使用を始める前に、次の例で示すように `<section>` 要素 (`<configSections>` 要素の子要素) を作成し、その `name` 属性を `aws` に、`type` 属性を `Amazon.AWSSection, AWSSDK.Core` に設定する必要があります。

```
<?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 のエディタでは、`<aws>` 要素またはその子要素の自動コード補完機能（IntelliSense）は提供されていません。

`<aws>` 要素を正しくフォーマットするには、`Amazon.AWSConfigs.GenerateConfigTemplate` メソッドを呼び出してください。このメソッドは `<aws>` 要素の正規バージョンを適切な文字列として出力するので、それを利用できます。以下のセクションでは、`<aws>` 要素の属性と子要素について説明します。

### 使用できる要素
<a name="net-dg-config-ref-elements"></a>

AWS 設定セクションで使用できる要素の間の論理的な関係を次に示します。このリストの最新バージョンは `Amazon.AWSConfigs.GenerateConfigTemplate` メソッドを呼び出すことによって生成できます。このメソッドは、`<aws>` 要素の正規バージョンをそのまま使用できる文字列として出力します。

```
<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>
```

### 要素のリファレンス
<a name="net-dg-config-ref-elements-ref"></a>

AWS 設定セクションで使用できる要素のリストを次に示します。各要素について、使用できる属性と親子要素が示されています。

**Topics**
+ [

#### alias
](#net-dg-config-ref-elements-alias)
+ [

#### `aws`
](#net-dg-config-ref-elements-aws)
+ [

#### dynamoDB
](#net-dg-config-ref-elements-dynamodb)
+ [

#### dynamoDBContext
](#net-dg-config-ref-elements-ddbcontext)
+ [

#### Ec2
](#net-dg-config-ref-elements-ec2)
+ [

#### ログ記録
](#net-dg-config-ref-elements-logging)
+ [

#### マップ
](#net-dg-config-ref-elements-map)
+ [

#### property
](#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>` 要素は、1 つ以上のテーブル間マッピングのコレクションに含まれる、タイプに対して設定されているものとは異なるテーブルを指定する単一の項目を表します この要素は、`Amazon.Util.TableAlias` の `Amazon.AWSConfigs.DynamoDBConfig.Context.TableAliases` プロパティから AWS SDK for .NET クラスのインスタンスにマッピングされます。テーブル名のプレフィックスを適用する前に再マッピングが行われます。

この要素は次の属性を含むことができます:

** `fromTable` **  
マップ元テーブルからマップ先テーブルへのマッピングのマップ元テーブル部分です。この属性は、`Amazon.Util.TableAlias.FromTable` の AWS SDK for .NET プロパティにマッピングされます。

** `toTable` **  
マップ元テーブルからマップ先テーブルへのマッピングのマップ先テーブル部分です この属性は、`Amazon.Util.TableAlias.ToTable` の AWS SDK for .NET プロパティにマッピングされます。

`<alias>` 要素の親は、`<tableAliases>` 要素です。

`<alias>` 要素には子要素は含まれません。

次に `<alias>` 要素の使用例を示します。

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

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

`<aws>` 要素は、AWS 設定セクションの最上位要素を表します。この要素は次の属性を含むことができます:

** `endpointDefinition` **  
使用する AWS のリージョンとエンドポイントを定義するカスタム設定ファイルの絶対パスです。この属性は、`Amazon.AWSConfigs.EndpointDefinition` の AWS SDK for .NET プロパティにマッピングされます。

** `profileName` **  
サービスの呼び出しに使用される、保存された AWS 認証情報のプロファイル名です。この属性は、`Amazon.AWSConfigs.AWSProfileName` の AWS SDK for .NET プロパティにマッピングされます。

** `profilesLocation` **  
他の AWS SDK に共有される認証情報ファイルの場所の絶対パスです。デフォルトでは、認証情報ファイルは現在のユーザーのホームディレクトリにある `.aws` ディレクトリに格納されます。この属性は、`Amazon.AWSConfigs.AWSProfilesLocation` の AWS SDK for .NET プロパティにマッピングされます。

** `region` **  
明示的にリージョンを指定していないクライアントで使用されるデフォルトの AWS リージョン ID です。この属性は、`Amazon.AWSConfigs.AWSRegion` の AWS SDK for .NET プロパティにマッピングされます。

`<aws>` 要素に親要素はありません。

`<aws>` 要素は次の子要素を含むことができます。
+  `<dynamoDB>` 
+  `<ec2>` 
+  `<logging>` 
+  `<proxy>` 
+  `<s3>` 

次に `<aws>` 要素の使用例を示します。

```
<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>` 要素は、Amazon DynamoDB の設定のコレクションを表します。この要素は、*conversionSchema* 属性を含むことができます。この属性は、.NET と DynamoDB オブジェクトの間の変換に使用するバージョンを表します。使用できる値は、V1 および V2 です。この属性は、`Amazon.DynamoDBv2.DynamoDBEntryConversion` の AWS SDK for .NET クラスにマッピングされます。詳細については、「[DynamoDB Series - Conversion Schemas](http://blogs.aws.amazon.com/net/post/Tx2TCOGWG7ARUH5/DynamoDB-Series-Conversion-Schemas)」を参照してください。

`<dynamoDB>` 要素の親は、`<aws>` 要素です。

`<dynamoDB>` 要素は、`<dynamoDBContext>` 子要素を含むことができます。

次に `<dynamoDB>` 要素の使用例を示します。

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

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

`<dynamoDBContext>` 要素は、Amazon DynamoDB コンテキスト固有の設定のコレクションを表します。この要素は *tableNamePrefix* 属性を含むことができます。この属性は、テーブル名プレフィックスが手動で設定されていない場合に DynamoDB コンテキストが使用するデフォルトのプレフィックスを表します。この属性は、`Amazon.Util.DynamoDBContextConfig.TableNamePrefix` の `Amazon.AWSConfigs.DynamoDBConfig.Context.TableNamePrefix` プロパティから AWS SDK for .NET プロパティにマッピングされます。詳細については、「[Enhancements to the DynamoDB SDK](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK)」を参照してください。

`<dynamoDBContext>` 要素の親は、`<dynamoDB>` 要素です。

`<dynamoDBContext>` 要素は次の子要素を含むことができます。
+  `<alias>` (1 つまたは複数のインスタンス)
+  `<map>` (1 つまたは複数のインスタンス)

次に `<dynamoDBContext>` 要素の使用例を示します。

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

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

`<ec2>` 要素は、Amazon EC2 の設定のコレクションを表します。この要素は、*useSignatureVersion4* 属性を含むことができます。この属性は、署名バージョン 4 の署名をすべての要求に対して使用すること (true)、または署名バージョン 4 の署名をすべての要求に対して使用しないこと (false、デフォルト) を指定します。この属性は、`Amazon.Util.EC2Config.UseSignatureVersion4` の `Amazon.AWSConfigs.EC2Config.UseSignatureVersion4` プロパティから AWS SDK for .NET プロパティにマッピングされます。

`<ec2>` 要素の親は、要素です。

`<ec2>` 要素には子要素は含まれません。

次に `<ec2>` 要素の使用例を示します。

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

#### ログ記録
<a name="net-dg-config-ref-elements-logging"></a>

`<logging>` 要素は、応答ログおよびパフォーマンスメトリクスログの設定のコレクションを表します。この要素は次の属性を含むことができます:

** `logMetrics` **  
パフォーマンスメトリクスをすべてのクライアントおよび設定に対して記録するか (true)、または記録しないか (false) を示します。この属性は、`Amazon.Util.LoggingConfig.LogMetrics` の `Amazon.AWSConfigs.LoggingConfig.LogMetrics` プロパティから AWS SDK for .NET プロパティにマッピングされます。

** `logMetricsCustomFormatter` **  
ログ記録メトリクスのカスタムフォーマッターのデータ型およびアセンブリ名です この属性は、`Amazon.Util.LoggingConfig.LogMetricsCustomFormatter` の `Amazon.AWSConfigs.LoggingConfig.LogMetricsCustomFormatter` プロパティから AWS SDK for .NET プロパティにマッピングされます。

** `logMetricsFormat` **  
ログ記録メトリクスを示す形式です (`Amazon.Util.LoggingConfig.LogMetricsFormat` の `Amazon.AWSConfigs.LoggingConfig.LogMetricsFormat` プロパティから AWS SDK for .NET プロパティにマッピングされます)。  
使用できる値は次のとおりです。    
** `JSON` **  
JSON 形式を使用します。  
** `Standard` **  
デフォルトの形式を使用します。

** `logResponses` **  
サービス応答をいつログに記録するかを示します (`Amazon.Util.LoggingConfig.LogResponses` の `Amazon.AWSConfigs.LoggingConfig.LogResponses` プロパティから AWS SDK for .NET プロパティにマッピングされます)。  
使用できる値は次のとおりです。    
** `Always` **  
常にサービス応答を記録します。  
** `Never` **  
サービス応答を記録しません。  
** `OnError` **  
エラーがあるときにのみサービス応答を記録します。

** `logTo` **  
ログを記録する場所を示します (`LogTo` の `Amazon.AWSConfigs.LoggingConfig.LogTo` プロパティから AWS SDK for .NET プロパティにマッピングされます)。  
使用できる値は次のとおりです。    
** `Log4Net` **  
log4net にログを記録します。  
** `None` **  
ログを無効にします。  
** `SystemDiagnostics` **  
System.Diagnostics にログを記録します。

`<logging>` 要素の親は、`<aws>` 要素です。

`<logging>` 要素には子要素は含まれません。

次に `<logging>` 要素の使用例を示します。

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

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

`<map>` 要素は、.NET の型から DynamoDB のテーブルへのマッピングのコレクション内の 1 つの項目を表します (`TypeMapping` の `Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings` プロパティから AWS SDK for .NET クラスのインスタンスにマッピングされます)。詳細については、「[Enhancements to the DynamoDB SDK](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK)」を参照してください。

この要素は次の属性を含むことができます:

** `targetTable` **  
マッピングが適用される DynamoDB のテーブルです。この属性は、`Amazon.Util.TypeMapping.TargetTable` の AWS SDK for .NET プロパティにマッピングされます。

** `type` **  
マッピングが適用される型とアセンブリ名です この属性は、`Amazon.Util.TypeMapping.Type` の AWS SDK for .NET プロパティにマッピングされます。

`<map>` 要素の親は、`<dynamoDBContext>` 要素です。

`<map>` 要素は、`<property>` 子要素の 1 つまたは複数のインスタンスを含むことができます。

次に `<map>` 要素の使用例を示します。

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

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

`<property>` 要素は DynamoDB のプロパティを表します。(この要素は、AWS SDK for .NET の `AddProperty` メソッドから Amazon.Util.PropertyConfig クラスのインスタンスにマッピングされます) 詳細については、「[DynamoDB SDK の機能強化](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK)」および「[DynamoDB の属性](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DeclarativeTagsList.html)」を参照してください。

この要素は次の属性を含むことができます:

** `attribute` **  
範囲キーの名前など、プロパティの属性の名前です。この属性は、`Amazon.Util.PropertyConfig.Attribute` の AWS SDK for .NET プロパティにマッピングされます。

** `converter` **  
このプロパティに使用する必要があるコンバーターの種類です この属性は、`Amazon.Util.PropertyConfig.Converter` の AWS SDK for .NET プロパティにマッピングされます。

** `ignore` **  
関連付けられているプロパティを無視する必要があるか (true)、またはないか (false) を示します。この属性は、`Amazon.Util.PropertyConfig.Ignore` の AWS SDK for .NET プロパティにマッピングされます。

** `name` **  
プロパティの名前。この属性は、`Amazon.Util.PropertyConfig.Name` の AWS SDK for .NET プロパティにマッピングされます。

** `version` **  
このプロパティが項目のバージョン番号を格納する必要があるか (true)、またはないか (false) を示します。この属性は、`Amazon.Util.PropertyConfig.Version` の AWS SDK for .NET プロパティにマッピングされます。

`<property>` 要素の親は、`<map>` 要素です。

`<property>` 要素には子要素は含まれません。

次に `<property>` 要素の使用例を示します。

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

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

`<proxy>` 要素は、AWS SDK for .NET で使用するプロキシの設定を表します。この要素は次の属性を含むことができます:

**ホスト**  
プロキシサーバーのホスト名または IP アドレスです この属性は、`Amazon.Util.ProxyConfig.Host` の `Amazon.AWSConfigs.ProxyConfig.Host` プロパティから AWS SDK for .NET プロパティにマッピングされます。

**password**  
プロキシサーバーで認証するためのパスワードです。この属性は、`Amazon.Util.ProxyConfig.Password` の `Amazon.AWSConfigs.ProxyConfig.Password` プロパティから AWS SDK for .NET プロパティにマッピングされます。

**ポート**  
プロキシのポート番号です。この属性は、`Amazon.Util.ProxyConfig.Port` の `Amazon.AWSConfigs.ProxyConfig.Port` プロパティから AWS SDK for .NET プロパティにマッピングされます。

**username**  
プロキシサーバーで認証するユーザー名です。この属性は、`Amazon.Util.ProxyConfig.Username` の `Amazon.AWSConfigs.ProxyConfig.Username` プロパティから AWS SDK for .NET プロパティにマッピングされます。

`<proxy>` 要素の親は、`<aws>` 要素です。

`<proxy>` 要素には子要素は含まれません。

次に `<proxy>` 要素の使用例を示します。

```
<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>` 要素は、Amazon S3 の設定のコレクションを表します。この要素は、*useSignatureVersion4* 属性を含むことができます。この属性は、署名バージョン 4 の署名をすべての要求に対して使用すること (true)、または署名バージョン 4 の署名をすべての要求に対して使用しないこと (false、デフォルト) を指定します。この属性は、`Amazon.AWSConfigs.S3Config.UseSignatureVersion4` の AWS SDK for .NET プロパティにマッピングされます。

`<s3>` 要素の親は、`<aws>` 要素です。

`<s3>` 要素には子要素は含まれません。

次に `<s3>` 要素の使用例を示します。

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