翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
他のアプリケーションパラメータの設定
注記
このトピックの情報は、.NET Framework に基づくプロジェクトに固有のものです。.NET Core に基づくプロジェクトでは、デフォルトでは App.config
および Web.config
ファイルは存在しません。
設定可能なアプリケーションパラメータは多数あります。
これらのパラメータは、アプリケーションの App.config
ファイルまたは Web.config
ファイルで設定できます。これらは AWS SDK for .NET API でも設定できますが、アプリケーションの .config
ファイルを使用することをお勧めします。ここでは、両方のアプローチについて説明します。
このトピックで後ほど説明する <aws>
エレメントの使用方法の詳細については、「AWS SDK for .NET の設定ファイルリファレンス」を参照してください。
AWSLogging
SDK でイベントを記録する方法を設定します。例えば、推奨される方法としては <aws>
要素の子要素である <logging>
要素の使用があります。
<aws> <logging logTo="Log4Net"/> </aws>
または:
<add key="AWSLogging" value="log4net"/>
指定できる値は以下のとおりです。
-
None
-
イベントのログ記録を無効にします。これがデフォルトのトランスコードプリセットです。
-
log4net
-
log4net を使用してログを記録します。
-
SystemDiagnostics
-
System.Diagnostics
クラスを使用してログを記録します。
コンマで区切ることで、logTo
属性に複数の値を設定できます。次の例では、.config
ファイルを使用して log4net
ログと System.Diagnostics
ログの両方を設定します。
<logging logTo="Log4Net, SystemDiagnostics"/>
または:
<add key="AWSLogging" value="log4net, SystemDiagnostics"/>
または AWS SDK for .NET API を使用して、LoggingOptions 列挙の値を組み合わせて、AWSConfigs.Logging プロパティを設定します。
AWSConfigs.Logging = LoggingOptions.Log4Net | LoggingOptions.SystemDiagnostics;
この設定の変更は新しい AWS クライアントインスタンスに対してのみ有効です。
AWSLogMetrics
SDK でパフォーマンスメトリクスを記録するかどうかを指定します。.config
ファイルでメトリクスのログを設定するには、<logging>
要素の logMetrics
属性値を設定します。これは、<aws>
要素の子要素です。
<aws> <logging logMetrics="true"/> </aws>
または、<appSettings>
セクションで AWSLogMetrics
キーを設定します。
<add key="AWSLogMetrics" value="true">
または、AWS SDK for .NET API を使用してメトリクスのログ記録を設定するには、AWSConfigs.LogMetrics プロパティを設定します。
AWSConfigs.LogMetrics = true;
この設定では、すべてのクライアント/設定のデフォルトの LogMetrics
プロパティを設定します。この設定の変更は新しい AWS クライアントインスタンスに対してのみ有効です。
AWSRegion
明示的にリージョンを指定していないクライアントのデフォルト AWS リージョンを設定します。.config
ファイルでリージョンを設定する推奨される方法は、aws
要素の region
属性値を設定することです。
<aws region="us-west-2"/>
または、<appSettings>
セクションで AWSRegion キーを設定します。
<add key="AWSRegion" value="us-west-2"/>
または、AWS SDK for .NET API を使用してリージョンを設定するには、AWSConfigs.AWSRegion プロパティを設定します。
AWSConfigs.AWSRegion = "us-west-2";
特定のリージョン用の AWS クライアントを作成する方法の詳細については、「AWS リージョンの選択」を参照してください。この設定の変更は新しい AWS クライアントインスタンスに対してのみ有効です。
AWSResponseLogging
SDK がサービス応答を記録するタイミングを設定します。指定できる値は以下のとおりです。
-
Never
-
サービス応答を記録しません。これがデフォルトのトランスコードプリセットです。
-
Always
-
常にサービス応答を記録します。
-
OnError
-
エラーが発生したときのみサービス応答を記録します。
.config
ファイルでサービス ログを設定する推奨される方法は、<logging>
要素の logResponses
属性値を設定することです。これは、<aws>
要素の子要素です。
<aws> <logging logResponses="OnError"/> </aws>
または、<appSettings>
セクションで AWSResponseLogging キーを設定します。
<add key="AWSResponseLogging" value="OnError"/>
または、AWS SDK for .NET API を使用してサービスのログ記録を設定するには、AWSConfigs.ResponseLogging プロパティを ResponseLoggingOption 列挙のいずれかの値に設定します。
AWSConfigs.ResponseLogging = ResponseLoggingOption.OnError;
この設定に対する変更はすぐに反映されます。
AWS.DynamoDBContext.TableNamePrefix
手動で設定しなかった場合に DynamoDBContext
で使用されるデフォルトの TableNamePrefix
を設定します。
.config
ファイルでテーブル名プレフィックスを設定する際の推奨される方法は、<dynamoDBContext>
要素の tableNamePrefix
属性値を設定することです。この要素は <dynamoDB>
要素の子要素であり、これ自体は <aws>
要素の子要素です。
<dynamoDBContext tableNamePrefix="Test-"/>
または、<appSettings>
セクションで AWS.DynamoDBContext.TableNamePrefix
キーを設定します。
<add key="AWS.DynamoDBContext.TableNamePrefix" value="Test-"/>
または、AWS SDK for .NET API を使用してテーブル名プレフィックスを設定するには、AWSConfigs.DynamoDBContextTableNamePrefix プロパティを設定します。
AWSConfigs.DynamoDBContextTableNamePrefix = "Test-";
この設定への変更は、DynamoDBContextConfig
および DynamoDBContext
の新しく構築されたインスタンスのみに有効です。
AWS.S3.UseSignatureVersion4
Amazon S3 クライアントがリクエストへの署名で署名バージョン 4 を使用するかどうかを設定します。
Amazon S3 の署名バージョン 4 での署名を .config
ファイルで設定する際に推奨される方法は、<s3>
要素の useSignatureVersion4
属性を設定することです。これは、<aws>
要素の子要素です。
<aws> <s3 useSignatureVersion4="true"/> </aws>
または、AWS.S3.UseSignatureVersion4
セクションで true
キーを <appSettings>
に設定します。
<add key="AWS.S3.UseSignatureVersion4" value="true"/>
または、AWS SDK for .NET API を使用して署名バージョン 4 の署名を設定するには、AWSConfigs.S3UseSignatureVersion4 プロパティを true
に設定します。
AWSConfigs.S3UseSignatureVersion4 = true;
デフォルトでは、この設定は false
ですが、一部のケースまたは一部のリージョンではデフォルトで署名バージョン 4 が使用される場合があります。設定が true
の場合、すべてのリクエストに署名バージョン 4 が使用されます。この設定の変更は新しい Amazon S3 クライアントインスタンスに対してのみ有効です。
AWSEndpointDefinition
SDK がリージョンとエンドポイントを定義するカスタム設定ファイルを使用するかどうかを設定します。
.config
ファイルでエンドポイント定義ファイルを設定するには、<aws>
要素の endpointDefinition
属性値を設定することをお勧めします。
<aws endpointDefinition="c:\config\endpoints.json"/>
または、<appSettings>
セクションで AWSEndpointDefinition キーを設定できます。
<add key="AWSEndpointDefinition" value="c:\config\endpoints.json"/>
または、AWS SDK for .NET API を使用してエンドポイント定義ファイルを設定するには、AWSConfigs.EndpointDefinition プロパティを設定します。
AWSConfigs.EndpointDefinition = @"c:\config\endpoints.json";
ファイル名が指定されていない場合、カスタム設定ファイルは使用されません。この設定の変更は新しい AWS クライアントインスタンスに対してのみ有効です。endpoint.json ファイルは、https://github.com/aws/aws-sdk-net/blob/master/sdk/src/Core/endpoints.json
AWS のサービスによって生成されたエンドポイント
一部の AWS サービスはリージョンのエンドポイントを使用する代わりに、独自のエンドポイントを生成します。これらのサービスのクライアントは、そのサービスおよびリソースに固有のサービス URL を使用します。これらのサービスの例を 2 つ挙げると、Amazon CloudSearch と AWS IoT があります。次の例は、これらのサービスのエンドポイントを取得する方法を示しています。
Amazon CloudSearch エンドポイントの例
Amazon CloudSearch クライアントは、Amazon CloudSearch 設定サービスにアクセスするために使用されます。Amazon CloudSearch 設定サービスを使用して、検索ドメインを作成、設定、管理します。検索ドメインを作成するには、CreateDomainRequest オブジェクトを作成し、DomainName
プロパティを指定します。リクエストオブジェクトを使用して AmazonCloudSearchClient オブジェクトを作成します。CreateDomain メソッドを呼び出します。呼び出しから返される CreateDomainResponse オブジェクトには、DocService
および SearchService
エンドポイントの両方を持つ DomainStatus
プロパティが含まれます。AmazonCloudSearchDomainConfig オブジェクトを作成し、それを使用して AmazonCloudSearchDomainClient クラスの DocService
および SearchService
インスタンスを初期化します。
// 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 エンドポイントの例
AWS IoT のエンドポイントを取得するには、AmazonIoTClient オブジェクトを作成し、DescribeEndPoint メソッドを呼び出します。返される DescribeEndPointResponse オブジェクトには、EndpointAddress
が含まれます。AmazonIotDataConfig オブジェクトを作成し、ServiceURL
プロパティを設定します。次に、このオブジェクトを使用して AmazonIotDataClient クラスをインスタンス化します。
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"); }