Configurazione di altri parametri dell'applicazione - AWS SDK for .NET

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione di altri parametri dell'applicazione

Nota

Le informazioni in questo argomento sono specifiche per i progetti basati su.NET Framework. I Web.config file App.config and non sono presenti per impostazione predefinita nei progetti basati su.NET Core.

Esistono diversi parametri dell'applicazione che è possibile configurare:

Questi parametri possono essere configurati nel file App.config o Web.config dell'applicazione. Anche se puoi configurarli anche con l'API di AWS SDK for .NET, consigliamo di utilizzare il file .config dell'applicazione. Entrambi gli approcci sono descritti in questo articolo.

Per ulteriori informazioni sull'uso dell'<aws>elemento, come descritto più avanti in questo argomento, vedere Configuration Files Reference for. AWS SDK for .NET

AWSLogging

Configura se e come l'SDK deve registrare gli eventi. Ad esempio, l'approccio consigliato prevede di utilizzare l'elemento <logging>, che è un elemento figlio di <aws>:

<aws> <logging logTo="Log4Net"/> </aws>

In alternativa:

<add key="AWSLogging" value="log4net"/>

I valori possibili sono:

None

Disattiva la registrazione degli eventi . Questa è l'impostazione predefinita.

log4net

Accedi utilizzando log4net.

SystemDiagnostics

Accedi utilizzando la classe System.Diagnostics.

Puoi impostare più valori per l'attributo logTo, separandoli con virgole. L'esempio seguente imposta la registrazione sia di log4net che di System.Diagnostics nel file.config:

<logging logTo="Log4Net, SystemDiagnostics"/>

In alternativa:

<add key="AWSLogging" value="log4net, SystemDiagnostics"/>

In alternativa, utilizzando l'AWS SDK for .NETAPI, combinate i valori dell'LoggingOptionsenumerazione e impostate la proprietà .Logging: AWSConfigs

AWSConfigs.Logging = LoggingOptions.Log4Net | LoggingOptions.SystemDiagnostics;

Le modifiche a questa impostazione vengono applicate solo alle nuove istanze del client AWS.

AWSLogMetrics

Specifica se l'SDK debba registrare i parametri delle prestazioni. Per impostare la configurazione della registrazione dei parametri nel file .config, imposta il valore dell'attributo logMetrics nell'elemento <logging>, che è un elemento figlio dell'elemento <aws>:

<aws> <logging logMetrics="true"/> </aws>

In alternativa, imposta la chiave AWSLogMetrics nella sezione <appSettings>:

<add key="AWSLogMetrics" value="true">

In alternativa, per impostare la registrazione delle metriche con l'API, imposta. AWS SDK for .NET AWSConfigs LogMetricsproprietà:

AWSConfigs.LogMetrics = true;

Questa impostazione configura la proprietà LogMetrics predefinita per tutti i client e le configurazioni. Le modifiche a questa impostazione vengono applicate solo alle nuove istanze del client AWS.

AWSRegion

Configura l'AWSarea predefinita per i client che non hanno specificato esplicitamente una regione. Per impostare la regione nel file .config, l'approccio consigliato prevede di impostare il valore dell'attributo region nell'elemento aws:

<aws region="us-west-2"/>

In alternativa, imposta la chiave AWSRegion nella sezione <appSettings>:

<add key="AWSRegion" value="us-west-2"/>

In alternativa, per impostare la regione con l'AWS SDK for .NETAPI, imposta il. AWSConfigs AWSRegionproprietà:

AWSConfigs.AWSRegion = "us-west-2";

Per ulteriori informazioni sulla creazione di un AWS client per una regione specifica, vedere Selezione AWS della regione. Le modifiche a questa impostazione vengono applicate solo alle nuove istanze del client AWS.

AWSResponseLogging

Configura quando l'SDK deve registrare le risposte di servizio. I valori possibili sono:

Never

Non registrare mai le risposte di servizio. Questa è l'impostazione predefinita.

Always

Registra sempre le risposte di servizio.

OnError

Registra le risposte di servizio solo quando si verifica un errore.

Per impostare la configurazione della registrazione dei servizi nel file .config, l'approccio consigliato prevede di impostare il valore dell'attributo logResponses nell'elemento <logging>, che è un elemento figlio dell'elemento <aws>:

<aws> <logging logResponses="OnError"/> </aws>

In alternativa, imposta la chiave AWSResponseLogging nella sezione <appSettings>:

<add key="AWSResponseLogging" value="OnError"/>

In alternativa, per impostare la registrazione del servizio con l'AWS SDK for .NETAPI, imposta ilAWSConfigs. ResponseLoggingproprietà su uno dei valori dell'ResponseLoggingOptionenumerazione:

AWSConfigs.ResponseLogging = ResponseLoggingOption.OnError;

Le modifiche a questa impostazione vengono applicate immediatamente.

AWS.DynamoDBContext.TableNamePrefix

Configura l'elemento TableNamePrefix predefinito utilizzato da DynamoDBContext se non viene configurato manualmente.

Per impostare il prefisso del nome della tabella nel file .config, l'approccio consigliato prevede di impostare il valore dell'attributo tableNamePrefix nell'elemento <dynamoDBContext>, che è un elemento figlio dell'elemento <dynamoDB>, a sua volta elemento figlio dell'elemento <aws>:

<dynamoDBContext tableNamePrefix="Test-"/>

In alternativa, imposta la chiave AWS.DynamoDBContext.TableNamePrefix nella sezione <appSettings>:

<add key="AWS.DynamoDBContext.TableNamePrefix" value="Test-"/>

In alternativa, per impostare il prefisso del nome della tabella con l'AWS SDK for .NETAPI, imposta la AWSConfigsproprietà.DynamoDB ContextTableNamePrefix:

AWSConfigs.DynamoDBContextTableNamePrefix = "Test-";

Le modifiche a questa impostazione vengono applicate solo alle istanze di recente costruzione di DynamoDBContextConfig e DynamoDBContext.

AWS.S3.UseSignatureVersion4

Configura se il client Amazon S3 deve utilizzare o meno la firma con la versione 4 della firma con le richieste.

Per impostare la firma della versione 4 della firma per Amazon S3 nel .config file, l'approccio consigliato consiste nell'impostare l'useSignatureVersion4attributo dell'<s3>elemento, che è un elemento figlio dell'<aws>elemento:

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

In alternativa, imposta la AWS.S3.UseSignatureVersion4 chiave su true nella <appSettings> sezione:

<add key="AWS.S3.UseSignatureVersion4" value="true"/>

In alternativa, per impostare la firma della versione 4 della firma con l'AWS SDK for .NETAPI, imposta la proprietà AWSConfigs.S3 UseSignatureVersion 4 su: true

AWSConfigs.S3UseSignatureVersion4 = true;

Per impostazione predefinita, questa impostazione è false, ma in alcuni casi o regioni la firma Signature Version 4 può essere utilizzata per impostazione predefinita. Quando l'impostazione è true, la firma Signature Version 4 verrà utilizzata per tutte le richieste. Le modifiche a questa impostazione hanno effetto solo per le nuove istanze client Amazon S3.

AWSEndpointDefinition

Configura se l'SDK debba utilizzare un file di configurazione personalizzato che definisce le regioni e gli endpoint.

Per impostare il file di definizione degli endpoint nel file .config, consigliamo di impostare il valore dell'attributo endpointDefinition nell'elemento <aws>.

<aws endpointDefinition="c:\config\endpoints.json"/>

In alternativa, puoi impostare la AWSEndpointDefinitionchiave nella <appSettings> sezione:

<add key="AWSEndpointDefinition" value="c:\config\endpoints.json"/>

In alternativa, per impostare il file di definizione dell'endpoint con l'AWS SDK for .NETAPI, imposta ilAWSConfigs. EndpointDefinitionproprietà:

AWSConfigs.EndpointDefinition = @"c:\config\endpoints.json";

Se non viene fornito il nome del file, il file di configurazione personalizzato non verrà utilizzato. Le modifiche a questa impostazione vengono applicate solo alle nuove istanze del client AWS. Il file endpoint.json è disponibile da. https://github.com/aws/aws-sdk-net/blob/master/sdk/src/Core/endpoints.json

AWSEndpoint generati dal servizio

Alcuni AWS servizi generano i propri endpoint invece di utilizzare un endpoint regionale. I client per questi servizi utilizzano un URL specifico per il servizio e le tue risorse. Due esempi di questi servizi sono Amazon CloudSearch eAWS IoT. Gli esempi seguenti mostrano come ottenere gli endpoint per questi servizi.

Esempio di Amazon CloudSearch Endpoints

Il CloudSearch client Amazon viene utilizzato per accedere al servizio di CloudSearch configurazione Amazon. Utilizzi il servizio di CloudSearch configurazione Amazon per creare, configurare e gestire i domini di ricerca. Per creare un dominio di ricerca, crea un CreateDomainRequestoggetto e fornisci la DomainName proprietà. Crea un AmazonCloudSearchClientoggetto utilizzando l'oggetto di richiesta. Chiama il metodo CreateDomain. L'CreateDomainResponseoggetto restituito dalla chiamata contiene una DomainStatus proprietà che ha sia l'estremità che DocService l'SearchServiceestremità. Create un AmazonCloudSearchDomainConfigoggetto e utilizzatelo per inizializzare DocService e inizializzare SearchService le istanze della classe. AmazonCloudSearchDomainClient

// 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); }

Esempio di endpoint AWS IoT

Per ottenere l'endpoint perAWS IoT, crea un oggetto AmazonIoTClient e chiama il metodo. DescribeEndPoint L'DescribeEndPointResponseoggetto restituito contiene il. EndpointAddress Create un AmazonIotDataConfigoggetto, impostate la ServiceURL proprietà e utilizzate l'oggetto per creare un'istanza della AmazonIotDataClientclasse.

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"); }