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.FromTableno 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.ToTableno 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.EndpointDefinitionno 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.AWSProfileNameno 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
.awsno diretório base do usuário atual. Esse atributo é mapeado para a propriedadeAmazon.AWSConfigs.AWSProfilesLocationno 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.AWSRegionno 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.LogMetricsda propriedadeAmazon.AWSConfigs.LoggingConfig.LogMetricsno 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.LogMetricsCustomFormatterda propriedadeAmazon.AWSConfigs.LoggingConfig.LogMetricsCustomFormatterno AWS SDK para .NET. -
logMetricsFormat -
O formato em que as métricas de registro são apresentadas (é mapeado para a propriedade
Amazon.Util.LoggingConfig.LogMetricsFormatda propriedadeAmazon.AWSConfigs.LoggingConfig.LogMetricsFormatno 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.LogResponsesda propriedadeAmazon.AWSConfigs.LoggingConfig.LogResponsesno 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
LogToa partir da propriedadeAmazon.AWSConfigs.LoggingConfig.LogTono 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.TargetTableno 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.Typeno 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
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.Attributeno 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.Converterno 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.Ignoreno AWS SDK para .NET. -
name -
O nome da propriedade. Esse atributo é mapeado para a propriedade
Amazon.Util.PropertyConfig.Nameno 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.Versionno 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.Hostda propriedadeAmazon.AWSConfigs.ProxyConfig.Hostno 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.Passwordda propriedadeAmazon.AWSConfigs.ProxyConfig.Passwordno AWS SDK para .NET. - porta
-
O número da porta do proxy. Esses atributos são mapeados para a propriedade
Amazon.Util.ProxyConfig.Portda propriedadeAmazon.AWSConfigs.ProxyConfig.Portno 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.Usernameda propriedadeAmazon.AWSConfigs.ProxyConfig.Usernameno 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" />