翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 の機能強化
この要素は次の属性を含むことができます:
-
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" />