AWS SDK for .NET の設定ファイルリファレンス - AWS SDK for .NET

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

AWS SDK for .NET の設定ファイルリファレンス

注記

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

.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 アプリケーションの設定」の <appSettings> エレメントの例を参照してください。

注記

以下の AWSConfigs クラスプロパティをコードファイルで使用して AWS の設定を指定することはできますが、以下のプロパティは非推奨であり、将来のリリースではサポートされなくなる可能性があります。

  • DynamoDBContextTableNamePrefix

  • EC2UseSignatureVersion4

  • LoggingOptions

  • LogMetrics

  • ResponseLoggingOption

  • S3UseSignatureVersion4

一般に、このトピックでこれから説明するように、コードファイルで AWSConfigs クラスのプロパティを使用して AWS の設定を指定するのではなく、App.config ファイルまたは Web.config ファイルの <configSections> 要素および <aws> 要素を使用して AWS の設定を指定することをお勧めします。上記のプロパティの詳細については、「AWS SDK for .NET アプリケーションの設定」の AWSConfigs コード例を参照してください。

AWS 設定セクションの宣言

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> 要素の属性と子要素について説明します。

使用できる要素

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>

要素のリファレンス

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

alias

<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

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

endpointDefinition

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

profileName

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

profilesLocation

他の AWS SDK に共有される認証情報ファイルの場所の絶対パスです。デフォルトでは、認証情報ファイルは現在のユーザーのホームディレクトリにある .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

<dynamoDB> 要素は、Amazon DynamoDB の設定のコレクションを表します。この要素は、conversionSchema 属性を含むことができます。この属性は、.NET と DynamoDB オブジェクトの間の変換に使用するバージョンを表します。使用できる値は、V1 および V2 です。この属性は、AWS SDK for .NET の Amazon.DynamoDBv2.DynamoDBEntryConversion クラスにマッピングされます。詳細については、「DynamoDB Series - Conversion Schemas」を参照してください。

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

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

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

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

dynamoDBContext

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

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

<dynamoDBContext> 要素は次の子要素を含むことができます。

  • <alias> (1 つまたは複数のインスタンス)

  • <map> (1 つまたは複数のインスタンス)

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

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

Ec2

<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" />

ログ記録

<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

ログを記録する場所を示します (AWS SDK for .NET の Amazon.AWSConfigs.LoggingConfig.LogTo プロパティから LogTo プロパティにマッピングされます)。

使用できる値は次のとおりです。

Log4Net

log4net にログを記録します。

None

ログを無効にします。

SystemDiagnostics

System.Diagnostics にログを記録します。

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

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

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

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

map

<map> 要素は、.NET の型から DynamoDB のテーブルへのマッピングのコレクション内の 1 つの項目を表します (AWS SDK for .NET の Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings プロパティから TypeMapping クラスのインスタンスにマッピングされます)。詳細については、「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

<property> 要素は DynamoDB のプロパティを表します。(この要素は、AWS SDK for .NET の AddProperty メソッドから Amazon.Util.PropertyConfig クラスのインスタンスにマッピングされます) 詳細については、「DynamoDB SDK の機能強化」および「DynamoDB の属性」を参照してください。

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

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

<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

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

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

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

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

<s3 useSignatureVersion4="true" />