

のバージョン 4 (V4) AWS SDK for .NET がリリースされました。

重要な変更とアプリケーションの移行については、[「移行トピック](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)」を参照してください。

 [https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/net-dg-v4.html)

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

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

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

## 開いて .NET Framework のコンテンツを表示する
<a name="w2aac11c29c11b5b1"></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/v4/apidocs/items/Amazon/TAWSConfigs.html](https://docs.aws.amazon.com/sdkfornet/v4/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 つ以上のテーブル間マッピングのコレクションに含まれる、タイプに対して設定されているものとは異なるテーブルを指定する単一の項目を表します この要素は、 AWS SDK for .NETの `Amazon.AWSConfigs.DynamoDBConfig.Context.TableAliases` プロパティから `Amazon.Util.TableAlias` クラスのインスタンスにマッピングされます。テーブル名のプレフィックスを適用する前に再マッピングが行われます。

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

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

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

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

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

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

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

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

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

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

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

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

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

`<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 です。この属性は、 AWS SDK for .NETの `Amazon.DynamoDBv2.DynamoDBEntryConversion` クラスにマッピングされます。詳細については、「[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 コンテキストが使用するデフォルトのプレフィックスを表します。この属性は、 AWS SDK for .NETの `Amazon.AWSConfigs.DynamoDBConfig.Context.TableNamePrefix` プロパティから `Amazon.Util.DynamoDBContextConfig.TableNamePrefix` プロパティにマッピングされます。詳細については、「[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、デフォルト) を指定します。この属性は、 AWS SDK for .NETの `Amazon.AWSConfigs.EC2Config.UseSignatureVersion4` プロパティから `Amazon.Util.EC2Config.UseSignatureVersion4` プロパティにマッピングされます。

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

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

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

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

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

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

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

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

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

** `logResponses` **  
サービス応答をいつログに記録するかを示します ( AWS SDK for .NETの `Amazon.AWSConfigs.LoggingConfig.LogResponses` プロパティから `Amazon.Util.LoggingConfig.LogResponses` プロパティにマッピングされます)。  
使用できる値は次のとおりです。    
** `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 つの項目を表します ( AWS SDK for .NETの `Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings` プロパティから `TypeMapping` クラスのインスタンスにマッピングされます)。詳細については、「[Enhancements to the DynamoDB SDK](http://blogs.aws.amazon.com/net/post/Tx2C4MHH2H0SA5W/Enhancements-to-the-DynamoDB-SDK)」を参照してください。

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

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

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

`<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 のプロパティを表します。（この要素は、 の `AddProperty`メソッドから Amazon.Util.PropertyConfig クラスのインスタンスにマッピングされます AWS SDK for .NET）。詳細については、[DynamoDB SDK および DynamoDB 属性の機能強化](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` **  
範囲キーの名前など、プロパティの属性の名前です。この属性は、 AWS SDK for .NETの `Amazon.Util.PropertyConfig.Attribute` プロパティにマッピングされます。

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

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

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

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

`<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 アドレスです この属性は、 AWS SDK for .NETの `Amazon.AWSConfigs.ProxyConfig.Host` プロパティから `Amazon.Util.ProxyConfig.Host` プロパティにマッピングされます。

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

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

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

`<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、デフォルト) を指定します。この属性は、 AWS SDK for .NETの `Amazon.AWSConfigs.S3Config.UseSignatureVersion4` プロパティにマッピングされます。

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

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

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

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