Referência dos arquivos de configuração para o AWS SDK para .NET - AWS SDK para .NET (V3)

A versão 4 (V4) do AWS SDK para .NET foi lançada!

Para começar a usar a nova versão do SDK, consulte o Guia do desenvolvedor AWS SDK para .NET (V4), especialmente o tópico sobre migração para a versão 4.

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Referência dos arquivos de configuração para o AWS SDK para .NET

nota

As informações neste tópico são específicas para projetos baseados no .NET Framework. Os arquivos App.config e Web.config não estão presentes por padrão em projetos baseados no .NET Core.

Use um arquivo App.config ou Web.config de projeto .NET para especificar as configurações da AWS, como credenciais da AWS, opções de registro em log, endpoints de serviço da AWS e regiões da AWS, bem como algumas configurações dos serviços da AWS, como Amazon DynamoDB, Amazon EC2 e Amazon S3. As informações a seguir descrevem como formatar de forma apropriada um arquivo App.config ou Web.config para especificar esses tipos de configurações.

nota

Embora seja possível continuar a usar o elemento <appSettings> em um arquivo App.config ou Web.config para especificar as configurações da AWS, recomendamos o uso dos elementos <configSections> e <aws> conforme descrito posteriormente neste tópico. Para obter mais informações sobre o elemento <appSettings>, consulte os exemplos do elemento <appSettings> em Configuração do seu aplicativo AWS SDK para .NET.

nota

Embora seja possível continuar a usar as propriedades a seguir da classe AWSConfigs em um arquivo de código para especificar as configurações da AWS, estas propriedades são obsoletas e podem não comportar versões futuras:

  • DynamoDBContextTableNamePrefix

  • EC2UseSignatureVersion4

  • LoggingOptions

  • LogMetrics

  • ResponseLoggingOption

  • S3UseSignatureVersion4

Geralmente, recomendamos que em vez de usar as propriedades da classe AWSConfigs em um arquivo de código para especificar as configurações da AWS, use os elementos <configSections> e <aws> em um arquivo App.config ou Web.config para especificar as configurações da AWS, conforme descrito posteriormente neste tópico. Para obter mais informações sobre as propriedades anteriores, consulte os exemplos de códigos da AWSConfigs em Configuração do seu aplicativo AWS SDK para .NET.

Declarar uma seção de configurações da AWS

Especifique as configurações da AWS em um arquivo App.config ou Web.config a partir do elemento <aws>. Antes de começar a usar o elemento <aws>, é necessário criar um elemento <section> (que é um elemento filho do elemento <configSections>) e definir o seu atributo name como aws e o atributo type como Amazon.AWSSection, AWSSDK.Core, conforme mostrado no seguinte exemplo:

<?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>

O editor do Visual Studio não oferece a conclusão de código automática (IntelliSense) para o elemento <aws> ou para os seus elementos filho.

Para auxiliá-lo na criação de uma versão corretamente formatada <aws>, chame o método Amazon.AWSConfigs.GenerateConfigTemplate. Isso gera como saída uma versão canônica do elemento <aws> como uma string formatada, que pode ser adaptada para as suas necessidades. As seções a seguir descrevem os atributos e os elementos filho do elemento <aws>.

Elementos permitidos

A seguir encontra-se uma lista das relações lógicas entre os elementos permitidos em uma seção de configurações da AWS. Gere a versão mais recente dessa lista chamando o método Amazon.AWSConfigs.GenerateConfigTemplate, que gera como saída uma versão canônica do elemento <aws> como uma string que pode ser adaptada para as suas necessidades.

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

Referência dos elementos

A seguir encontra-se uma lista dos elementos permitidos em uma seção de configurações da AWS. Para cada elemento, são listados os atributos permitidos e os elementos filho.

alias

O elemento <alias> representa um único item em um conjunto de um ou mais mapeamentos from-table até to-table, que especifica uma tabela diferente daquela configurada para um tipo. Esse elemento é mapeado para uma instância da classe Amazon.Util.TableAlias da propriedade Amazon.AWSConfigs.DynamoDBConfig.Context.TableAliases no AWS SDK para .NET. O remapeamento é feito antes de aplicar um prefixo de nome da tabela.

Esse elemento pode incluir os seguintes atributos:

fromTable

A parte from-table do mapeamento from-table até to-table. Esse atributo é mapeado para a propriedade Amazon.Util.TableAlias.FromTable no AWS SDK para .NET.

toTable

A parte to-table do mapeamento from-table até to-table. Esse atributo é mapeado para a propriedade Amazon.Util.TableAlias.ToTable no AWS SDK para .NET.

O pai do elemento <alias> é o elemento <tableAliases>.

O elemento <alias> não contém elementos filho.

Veja a seguir um exemplo do elemento <alias> em uso:

<alias fromTable="Studio" toTable="Studios" />

aws

O elemento <aws> representa o elemento mais superior em uma seção de configurações da AWS. Esse elemento pode incluir os seguintes atributos:

endpointDefinition

O caminho absoluto para um arquivo de configuração personalizado que define as regiões e endpoints da AWS para o uso. Esse atributo é mapeado para a propriedade Amazon.AWSConfigs.EndpointDefinition no AWS SDK para .NET.

profileName

O nome do perfil para as credenciais da AWS armazenadas que serão utilizadas para realizar chamadas de serviços. Esse atributo é mapeado para a propriedade Amazon.AWSConfigs.AWSProfileName no AWS SDK para .NET.

profilesLocation

O caminho absoluto do local do arquivo de credenciais compartilhado com outros SDKs da AWS. Por padrão, o arquivo de credenciais está armazenado no diretório .aws no diretório base do usuário atual. Esse atributo é mapeado para a propriedade Amazon.AWSConfigs.AWSProfilesLocation no AWS SDK para .NET.

region

O ID da região da AWS padrão para clientes que não especificaram explicitamente uma região. Esse atributo é mapeado para a propriedade Amazon.AWSConfigs.AWSRegion no AWS SDK para .NET.

O elemento <aws> não possui elemento pai.

O elemento <aws> pode incluir os seguintes elementos filho:

  • <dynamoDB>

  • <ec2>

  • <logging>

  • <proxy>

  • <s3>

Veja a seguir um exemplo do elemento <aws> em uso:

<aws endpointDefinition="C:\Configs\endpoints.xml" region="us-west-2" profileName="development" profilesLocation="C:\Configs"> <!-- ... --> </aws>

dynamoDB

O elemento <dynamoDB> representa um conjunto de configurações do Amazon DynamoDB. Este elemento pode incluir o atributo conversionSchema, que representa a versão a ser usada para conversão entre objetos .NET e DynamoDB. Os valores permitidos incluem V1 e V2. Esse atributo é mapeado para a classe Amazon.DynamoDBv2.DynamoDBEntryConversion no AWS SDK para .NET. Para obter mais informações, consulte Série DynamoDB – esquemas de conversão.

O pai do elemento <dynamoDB> é o elemento <aws>.

O elemento <dynamoDB> pode incluir o elemento filho <dynamoDBContext>.

Veja a seguir um exemplo do elemento <dynamoDB> em uso:

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

dynamoDBContext

O elemento <dynamoDBContext> representa um conjunto de configurações específicas de contexto do Amazon DynamoDB. Este elemento pode incluir o atributo tableNamePrefix, que representa o prefixo do nome da tabela padrão que o contexto do DynamoDB usará se não for configurado manualmente. Esse atributo é mapeado para a propriedade Amazon.Util.DynamoDBContextConfig.TableNamePrefix da propriedade Amazon.AWSConfigs.DynamoDBConfig.Context.TableNamePrefix no AWS SDK para .NET. Para obter mais informações, consulte Aprimoramentos do DynamoDB SDK.

O pai do elemento <dynamoDBContext> é o elemento <dynamoDB>.

O elemento <dynamoDBContext> pode incluir os seguintes elementos filho:

  • <alias> (uma ou mais instâncias)

  • <map> (uma ou mais instâncias)

Veja a seguir um exemplo do elemento <dynamoDBContext> em uso:

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

ec2

O elemento <ec2> representa um conjunto de configurações do Amazon EC2. Este elemento pode incluir o atributo useSignatureVersion4, que especifica se a assinatura do Signature Version4 será usada para todas as solicitações (verdadeiro) ou se ela não será usada para todas as solicitações (falso, o padrão). Esse atributo é mapeado para a propriedade Amazon.Util.EC2Config.UseSignatureVersion4 da propriedade Amazon.AWSConfigs.EC2Config.UseSignatureVersion4 no AWS SDK para .NET.

O pai do elemento <ec2> é o elemento.

O elemento <ec2> não contém elementos filho.

Veja a seguir um exemplo do elemento <ec2> em uso:

<ec2 useSignatureVersion4="true" />

registro em log

O elemento <logging> representa um conjunto de configurações para o registro de respostas e de métricas de desempenho. Esse elemento pode incluir os seguintes atributos:

logMetrics

Se as métricas de desempenho serão registradas para todos os clientes e configurações (verdadeiro); caso contrário, falso. Esse atributo é mapeado para a propriedade Amazon.Util.LoggingConfig.LogMetrics da propriedade Amazon.AWSConfigs.LoggingConfig.LogMetrics no AWS SDK para .NET.

logMetricsCustomFormatter

O tipo de dados e o nome do conjunto de um formatador personalizado para as métricas de registro. Esse atributo é mapeado para a propriedade Amazon.Util.LoggingConfig.LogMetricsCustomFormatter da propriedade Amazon.AWSConfigs.LoggingConfig.LogMetricsCustomFormatter no AWS SDK para .NET.

logMetricsFormat

O formato em que as métricas de registro são apresentadas (é mapeado para a propriedade Amazon.Util.LoggingConfig.LogMetricsFormat da propriedade Amazon.AWSConfigs.LoggingConfig.LogMetricsFormat no AWS SDK para .NET).

Os valores permitidos incluem:

JSON

Use o formato JSON.

Standard

Use o formato padrão.

logResponses

Quando registrar as respostas de serviços (é mapeado para a propriedade Amazon.Util.LoggingConfig.LogResponses da propriedade Amazon.AWSConfigs.LoggingConfig.LogResponses no AWS SDK para .NET).

Os valores permitidos incluem:

Always

Sempre registrar as respostas de serviços.

Never

Nunca registrar as respostas de serviços.

OnError

Somente registrar as respostas de serviços quando existirem erros.

logTo

Onde registrar (é mapeado para a propriedade LogTo a partir da propriedade Amazon.AWSConfigs.LoggingConfig.LogTo no AWS SDK para .NET).

Os valores permitidos incluem um ou mais entre:

Log4Net

Registrar no log4net.

None

Desativar o registro.

SystemDiagnostics

Registrar no System.Diagnostics.

O pai do elemento <logging> é o elemento <aws>.

O elemento <logging> não contém elementos filho.

Veja a seguir um exemplo do elemento <logging> em uso:

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

mapear

O elemento <map> representa um único item em um conjunto de mapeamentos type-to-table de tipos .NET para tabelas do DynamoDB (é mapeado para uma instância da classe TypeMapping da propriedade Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings no AWS SDK para .NET). Para obter mais informações, consulte Aprimoramentos do DynamoDB SDK.

Esse elemento pode incluir os seguintes atributos:

targetTable

A tabela do DynamoDB a qual o mapeamento se aplica. Esse atributo é mapeado para a propriedade Amazon.Util.TypeMapping.TargetTable no AWS SDK para .NET.

type

O tipo e o nome do conjunto ao qual o mapeamento se aplica. Esse atributo é mapeado para a propriedade Amazon.Util.TypeMapping.Type no AWS SDK para .NET.

O pai do elemento <map> é o elemento <dynamoDBContext>.

O elemento <map> pode incluir uma ou mais instâncias do elemento filho <property>.

Veja a seguir um exemplo do elemento <map> em uso:

<map type="SampleApp.Models.Movie, SampleDLL" targetTable="Movies"> <!-- ... --> </map>

property

O elemento <property> representa uma propriedade do DynamoDB. (Este elemento é mapeado para uma instância da classe Amazon.Util.PropertyConfig do método AddProperty no AWS SDK para .NET) Para obter mais informações, consulte Aprimoramentos do DynamoDB SDK e Atributos do DynamoDB.

Esse elemento pode incluir os seguintes atributos:

attribute

O nome de um atributo da propriedade, como o nome de uma chave de intervalo. Esse atributo é mapeado para a propriedade Amazon.Util.PropertyConfig.Attribute no AWS SDK para .NET.

converter

O tipo de conversor que deve ser usado para esta propriedade. Esse atributo é mapeado para a propriedade Amazon.Util.PropertyConfig.Converter no AWS SDK para .NET.

ignore

Se a propriedade associada deve ser ignorada (verdadeiro); caso contrário, falso. Esse atributo é mapeado para a propriedade Amazon.Util.PropertyConfig.Ignore no AWS SDK para .NET.

name

O nome da propriedade. Esse atributo é mapeado para a propriedade Amazon.Util.PropertyConfig.Name no AWS SDK para .NET.

version

Se essa propriedade deve armazenar o número da versão do item (verdadeiro); caso contrário, falso. Esse atributo é mapeado para a propriedade Amazon.Util.PropertyConfig.Version no AWS SDK para .NET.

O pai do elemento <property> é o elemento <map>.

O elemento <property> não contém elementos filho.

Veja a seguir um exemplo do elemento <property> em uso:

<property name="Rating" converter="SampleApp.Models.RatingConverter, SampleDLL" />

proxy

O elemento <proxy> representa as configurações necessárias de um proxy para o seu uso pelo AWS SDK para .NET. Esse elemento pode incluir os seguintes atributos:

host

O nome do host ou endereço IP do servidor de proxy. Esses atributos são mapeados para a propriedade Amazon.Util.ProxyConfig.Host da propriedade Amazon.AWSConfigs.ProxyConfig.Host no AWS SDK para .NET.

password

A senha para a autenticação com o servidor de proxy. Esses atributos são mapeados para a propriedade Amazon.Util.ProxyConfig.Password da propriedade Amazon.AWSConfigs.ProxyConfig.Password no AWS SDK para .NET.

porta

O número da porta do proxy. Esses atributos são mapeados para a propriedade Amazon.Util.ProxyConfig.Port da propriedade Amazon.AWSConfigs.ProxyConfig.Port no AWS SDK para .NET.

username

O nome de usuário para a autenticação com o servidor de proxy. Esses atributos são mapeados para a propriedade Amazon.Util.ProxyConfig.Username da propriedade Amazon.AWSConfigs.ProxyConfig.Username no AWS SDK para .NET.

O pai do elemento <proxy> é o elemento <aws>.

O elemento <proxy> não contém elementos filho.

Veja a seguir um exemplo do elemento <proxy> em uso:

<proxy host="192.0.2.0" port="1234" username="My-Username-Here" password="My-Password-Here" />

s3

O elemento <s3> representa um conjunto de configurações do Amazon S3. Este elemento pode incluir o atributo useSignatureVersion4, que especifica se a assinatura do Signature Version4 será usada para todas as solicitações (verdadeiro) ou se ela não será usada para todas as solicitações (falso, o padrão). Esse atributo é mapeado para a propriedade Amazon.AWSConfigs.S3Config.UseSignatureVersion4 no AWS SDK para .NET.

O pai do elemento <s3> é o elemento <aws>.

O elemento <s3> não contém elementos filho.

Veja a seguir um exemplo do elemento <s3> em uso:

<s3 useSignatureVersion4="true" />