Konfigurieren von anderen Anwendungsparametern - AWS SDK for .NET

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfigurieren von anderen Anwendungsparametern

Anmerkung

Die Informationen in diesem Thema beziehen sich speziell auf Projekte, die auf .NET Framework basieren. Die Web.config Dateien App.config und sind in Projekten, die auf .NET Core basieren, standardmäßig nicht vorhanden.

Es gibt eine Reihe von Anwendungsparametern, die Sie konfigurieren können:

Diese Parameter können in der App.config- oder Web.config-Datei der Anwendung konfiguriert werden. Sie können diese zwar auch mit dem AWS SDK for .NET-API konfigurieren, wir empfehlen Ihnen jedoch, die .config-Datei der Anwendung zu verwenden. Nachstehend werden beide Ansätze beschrieben.

Weitere Informationen zur Verwendung des <aws> Elements, wie später in diesem Thema beschrieben, finden Sie unter Referenz für Konfigurationsdateien. AWS SDK for .NET

AWSLogging

Konfiguriert, wie das SDK Ereignisse protokollieren soll, wenn überhaupt. Der Empfohlene Ansatz besteht zum Beispiel darin, das <logging>-Element zu verwenden, welches ein untergeordnetes Element des <aws>-Elements ist:

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

Alternative Vorgehensweise:

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

Die möglichen Werte sind:

None

Deaktivieren Sie die -Ereignisprotokollierung. Dies ist die Standardeinstellung.

log4net

Protokollieren mithilfe von log4net.

SystemDiagnostics

Protokollieren mithilfe der System.Diagnostics-Klasse.

Sie können mehrere Werte für das logTo-Attribut festlegen. Diese müssen durch Komma getrennt werden. Im folgenden Beispiel werden die Protokollierung von sowohl log4net als auch System.Diagnostics in der .config-Datei festgelegt:

<logging logTo="Log4Net, SystemDiagnostics"/>

Alternative Vorgehensweise:

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

Kombinieren Sie alternativ mithilfe der AWS SDK for .NET API die Werte der LoggingOptionsAufzählung und legen Sie die AWSConfigs.Logging-Eigenschaft fest:

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

Änderungen an dieser Einstellung werden nur für neue AWS-Client-Instances wirksam.

AWSLogMetrics

Gibt an, ob das SDK Leistungsmetriken protokollieren soll oder nicht. Legen Sie zum Einstellen der Konfiguration für die Protokollierung von Metriken in der .config-Datei den logMetrics-Attributwert im <logging>-Element fest, das ein untergeordnetes Element des <aws>-Elements ist:

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

Alternativ legen Sie den AWSLogMetrics-Schlüssel im Abschnitt <appSettings> fest:

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

Um die Protokollierung von Metriken mit der AWS SDK for .NET API einzurichten, legen Sie alternativ den Wert fest. AWSConfigs LogMetricsEigenschaft:

AWSConfigs.LogMetrics = true;

Diese Einstellung konfiguriert die standardmäßige LogMetrics-Eigenschaft für alle Clients/Konfigurationen. Änderungen an dieser Einstellung werden nur für neue AWS-Client-Instances wirksam.

AWSRegion

Konfiguriert die AWS Standardregion für Clients, die nicht explizit eine Region angegeben haben. Zum Einstellen der Region in der .config-Datei besteht der empfohlene Ansatz darin, den region-Attributwert im aws-Element festzulegen:

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

Alternativ legen Sie den AWSRegion-Schlüssel im Abschnitt <appSettings> fest:

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

Um die Region mit der AWS SDK for .NET API festzulegen, legen Sie alternativ den AWSConfigs fest. AWSRegionEigenschaft:

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

Weitere Informationen zum Erstellen eines AWS Kunden für eine bestimmte Region finden Sie unter AWSRegionsauswahl. Änderungen an dieser Einstellung werden nur für neue AWS-Client-Instances wirksam.

AWSResponseLogging

Konfiguriert, wann das SDK Service-Antworten protokollieren soll. Die möglichen Werte sind:

Never

Service-Antworten sollen nie protokolliert werden. Dies ist die Standardeinstellung.

Always

Service-Antworten sollen immer protokolliert werden.

OnError

Service-Antworten sollen nur im Falle eines Fehlers protokolliert werden.

Zum Einstellen der Konfiguration für die Protokollierung von Service-Antworten in der .config-Datei besteht der empfohlene Ansatz darin, den logResponses-Attributwert im <logging>-Element festzulegen, das ein untergeordnetes Element des <aws>-Elements ist:

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

Alternativ legen Sie den AWSResponseLogging-Schlüssel im Abschnitt <appSettings> fest:

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

Um die Serviceprotokollierung mit der AWS SDK for .NET API einzurichten, legen Sie alternativ die fest AWSConfigs. ResponseLoggingEigenschaft auf einen der Werte der ResponseLoggingOptionAufzählung:

AWSConfigs.ResponseLogging = ResponseLoggingOption.OnError;

Änderungen an dieser Einstellung werden sofort wirksam.

AWS.DynamoDBContext.TableNamePrefix

Konfiguriert das standardmäßige TableNamePrefix, das DynamoDBContext verwendet, sofern es nicht manuell konfiguriert wurde.

Zum Einstellen des Tabellennamen-Präfixes in der .config-Datei besteht der empfohlene Ansatz darin, den tableNamePrefix-Attributwert im <dynamoDBContext>-Element festzulegen, das ein untergeordnetes Element des <dynamoDB>-Elements ist, welches selbst ein untergeordnetes Element des <aws>-Elements ist:

<dynamoDBContext tableNamePrefix="Test-"/>

Alternativ legen Sie den AWS.DynamoDBContext.TableNamePrefix-Schlüssel im Abschnitt <appSettings> fest:

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

Um das Tabellennamenpräfix mit der AWS SDK for .NET API festzulegen, legen Sie alternativ die Eigenschaft AWSConfigs.dynamoDB ContextTableNamePrefix fest:

AWSConfigs.DynamoDBContextTableNamePrefix = "Test-";

Änderungen an dieser Einstellung werden nur für neu erstellte Instances von DynamoDBContextConfig und DynamoDBContext wirksam.

AWS.S3.UseSignatureVersion4

Konfiguriert, ob der Amazon S3 S3-Client die Signaturversion 4 verwenden soll, um Anfragen zu signieren.

Um die Signaturversion 4-Signatur für Amazon S3 in der .config Datei festzulegen, wird empfohlen, das useSignatureVersion4 Attribut des <s3> Elements festzulegen, das ein untergeordnetes <aws> Element des Elements ist:

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

Alternativ können Sie den AWS.S3.UseSignatureVersion4 Schlüssel true im <appSettings> Abschnitt auf setzen:

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

Um die Signatur der Version 4 mit der AWS SDK for .NET API zu signieren, setzen Sie alternativ die Eigenschaft AWSConfigs.S3 UseSignatureVersion 4 auftrue:

AWSConfigs.S3UseSignatureVersion4 = true;

Standardmäßig ist diese Einstellung false, Signatur Version 4 kann jedoch in einigen Fällen oder bei einigen Regionen standardmäßig verwendet werden. Wenn die Einstellung true ist, wird bei allen Anfragen Signatur Version 4 verwendet. Änderungen an dieser Einstellung werden nur für neue Amazon S3 S3-Client-Instances wirksam.

AWSEndpointDefinition

Konfiguriert, ob das SDK eine benutzerdefinierte Konfigurationsdatei, die die Regionen und Endpunkte definiert, verwenden soll.

Zum Festlegen der Endpunktdefinitionsdatei in der .config-Datei empfehlen wir, den endpointDefinition-Attributwert im <aws>-Element festzulegen.

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

Alternativ können Sie den AWSEndpointDefinitionSchlüssel im folgenden <appSettings> Abschnitt festlegen:

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

Um die Endpunktdefinitionsdatei mit der AWS SDK for .NET API festzulegen, legen Sie alternativ den fest AWSConfigs. EndpointDefinitionEigenschaft:

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

Wenn kein Dateiname angegeben wird, wird keine benutzerdefinierte Konfigurationsdatei verwendet. Änderungen an dieser Einstellung werden nur für neue AWS-Client-Instances wirksam. Die Datei endpoint.json ist verfügbar unter. https://github.com/aws/aws-sdk-net/blob/master/sdk/src/Core/endpoints.json

AWSVom Dienst generierte Endpunkte

Einige AWS Dienste generieren ihre eigenen Endpunkte, anstatt einen regionalen Endpunkt zu nutzen. Clients für diese Services verwenden eine für diesen Service und Ihre Ressourcen spezifische Service-URL. Zwei Beispiele für diese Dienste sind Amazon CloudSearch undAWS IoT. In den folgenden Beispielen wird gezeigt, wie Sie die Endpunkte für diese Services abrufen können.

Beispiel für Amazon CloudSearch Endpoints

Der CloudSearch Amazon-Client wird für den Zugriff auf den CloudSearch Amazon-Konfigurationsservice verwendet. Sie verwenden den CloudSearch Amazon-Konfigurationsservice, um Such-Domains zu erstellen, zu konfigurieren und zu verwalten. Um eine Such-Domain zu erstellen, erstellen Sie ein CreateDomainRequestObjekt und stellen Sie die DomainName Eigenschaft bereit. Erstellen Sie ein AmazonCloudSearchClientObjekt mithilfe des Anforderungsobjekts. Rufen Sie die CreateDomain-Methode auf. Das vom Aufruf zurückgegebene CreateDomainResponseObjekt enthält eine DomainStatus Eigenschaft, die DocService sowohl den als auch den SearchService Endpunkt hat. Erstellen Sie ein AmazonCloudSearchDomainConfigObjekt und verwenden Sie es, um SearchService Instanzen der DocService AmazonCloudSearchDomainClientKlasse zu initialisieren.

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

Beispiel für AWS IoT-Endpunkte

Um den Endpunkt für zu ermittelnAWS IoT, erstellen Sie ein AmazonIoTClient-Objekt und rufen Sie die Methode auf DescribeEndPoint. Das zurückgegebene DescribeEndPointResponseObjekt enthält dieEndpointAddress. Erstellen Sie ein AmazonIotDataConfigObjekt, legen Sie die ServiceURL Eigenschaft fest und verwenden Sie das Objekt, um die Klasse zu instanziieren 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"); }