Referencia de los archivos de configuración para el AWS SDK para .NET - AWS SDK para .NET (V3)

¡Se AWS SDK para .NET ha publicado la versión 4 (V4) del!

Para empezar a usar la nueva versión del SDK, consulte la Guía para desarrolladores de AWS SDK para .NET (versión 4), especialmente el tema Migración a la versión 4.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Referencia de los archivos de configuración para el AWS SDK para .NET

nota

La información de este tema es específica de proyectos basados en .NET Framework. Los archivos App.config y Web.config no están presentes de forma predeterminada en proyectos basados en .NET Core.

Puede usar un archivo App.config o Web.config del proyecto de .NET para especificar la configuración de AWS, como credenciales de AWS, opciones de registro, puntos de conexión de servicio de AWS y regiones de AWS, así como algunos ajustes de servicios de AWS, como Amazon DynamoDB, Amazon EC2 y Amazon S3. En la siguiente información se describe cómo dar formato correctamente a un archivo App.config o Web.config para especificar estos tipos de configuración.

nota

Aunque puede continuar usando el elemento <appSettings> en un archivo App.config o Web.config para especificar la configuración de AWS, recomendamos usar los elementos <configSections> y <aws>, como se describe posteriormente en este tema. Para obtener más información sobre el elemento <appSettings>, consulte los ejemplos del elemento <appSettings> en Configuración de la aplicación de AWS SDK para .NET.

nota

Aunque puede continuar usando las siguientes propiedades de la clase AWSConfigs en un archivo de código para especificar la configuración de AWS, las siguientes propiedades están en desuso y es posible que no se admitan en versiones futuras:

  • DynamoDBContextTableNamePrefix

  • EC2UseSignatureVersion4

  • LoggingOptions

  • LogMetrics

  • ResponseLoggingOption

  • S3UseSignatureVersion4

En general, recomendamos que, en lugar de usar propiedades de la clase AWSConfigs en un archivo de código para especificar la configuración de AWS, debe usar los elementos <configSections> y <aws> en un archivo App.config o Web.config para especificar la configuración de AWS, como se describe posteriormente en este tema. Para obtener más información sobre las propiedades anteriores, consulte los ejemplos de código de AWSConfigs en Configuración de la aplicación de AWS SDK para .NET.

Declaración de una sección de configuración de AWS

La configuración de AWS se especifica en un archivo App.config o Web.config desde el elemento <aws>. Antes de que pueda empezar a usar el elemento <aws>, debe crear un elemento <section> (que es un elemento secundario del elemento <configSections>) y establecer su atributo name en aws y su atributo type en Amazon.AWSSection, AWSSDK.Core, como se muestra en el siguiente ejemplo:

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

El editor de Visual Studio no proporciona relleno de código automático (IntelliSense) para el elemento <aws> o sus elementos secundarios.

Para ayudarle a crear una versión con formato correcto del elemento <aws>, llame al método Amazon.AWSConfigs.GenerateConfigTemplate. De este modo se devuelve una versión canónica del elemento <aws> como una cadena bien escrita, que puede adaptar a sus necesidades. En las siguientes secciones se describen los atributos y elementos secundarios del elemento <aws>.

Elementos permitidos

A continuación se muestra una lista de las relaciones lógicas entre los elementos permitidos en una sección de configuración de AWS. Puede generar la versión más reciente de esta lista llamando al método Amazon.AWSConfigs.GenerateConfigTemplate, que devuelve una versión canónica del elemento <aws> como una cadena que puede adaptar a sus necesidades.

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

Referencia de elementos

A continuación se muestra una lista de los elementos permitidos en una sección de configuración de AWS. Para cada elemento, se listan sus atributos y elementos principales y secundarios permitidos.

alias

El elemento <alias> representa un solo elemento de una colección de uno o varios mapeos a la tabla y desde la tabla que especifica una tabla distinta de una configurada para un tipo. Este elemento se asigna a una instancia de la clase Amazon.Util.TableAlias a partir de la propiedad Amazon.AWSConfigs.DynamoDBConfig.Context.TableAliases en el AWS SDK para .NET. La reasignación se lleva a cabo antes de la aplicación de un prefijo de nombre de tabla.

Este elemento puede incluir los siguientes atributos:

fromTable

La parte desde la tabla del mapeo a la tabla y desde la tabla. Este atributo se asigna a la propiedad Amazon.Util.TableAlias.FromTable en AWS SDK para .NET.

toTable

La parte a la tabla de la asignación a la tabla y desde la tabla. Este atributo se asigna a la propiedad Amazon.Util.TableAlias.ToTable en AWS SDK para .NET.

El elemento principal del elemento <alias> es el elemento <tableAliases>.

El elemento <alias> no contiene ningún elemento secundario.

A continuación, mostramos un ejemplo del elemento <alias> en uso:

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

aws

El elemento <aws> representa el elemento superior en una sección de configuración de AWS. Este elemento puede incluir los siguientes atributos:

endpointDefinition

Ruta absoluta a un archivo de configuración personalizado que define las regiones y los puntos de conexión de AWS que se van a usar. Este atributo se asigna a la propiedad Amazon.AWSConfigs.EndpointDefinition en AWS SDK para .NET.

profileName

Nombre de perfil de las credenciales de AWS almacenadas que se usarán para realizar llamadas a servicios. Este atributo se asigna a la propiedad Amazon.AWSConfigs.AWSProfileName en AWS SDK para .NET.

profilesLocation

Ruta absoluta a la ubicación del archivo de credenciales compartido con otros AWS SDK. De forma predeterminada, el archivo de credenciales se almacena en el directorio .aws del directorio de inicio del usuario actual. Este atributo se asigna a la propiedad Amazon.AWSConfigs.AWSProfilesLocation en AWS SDK para .NET.

region

ID de región de AWS predeterminado para clientes que no han especificado una región de forma explícita. Este atributo se asigna a la propiedad Amazon.AWSConfigs.AWSRegion en AWS SDK para .NET.

El elemento <aws> no tiene elemento principal.

El elemento <aws> puede incluir los siguientes elementos secundarios:

  • <dynamoDB>

  • <ec2>

  • <logging>

  • <proxy>

  • <s3>

A continuación, mostramos un ejemplo del elemento <aws> en uso:

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

dynamoDB

El elemento <dynamoDB> representa una colección de ajustes de Amazon DynamoDB. Este elemento puede incluir el atributo conversionSchema, que representa la versión que se va a usar para la conversión entre objetos de .NET y DynamoDB. Los valores permitidos son V1 y V2. Este atributo se asigna a la clase Amazon.DynamoDBv2.DynamoDBEntryConversion en AWS SDK para .NET. Para obtener más información, consulte Serie DynamoDB: esquemas de conversión.

El elemento principal del elemento <dynamoDB> es el elemento <aws>.

El elemento <dynamoDB> puede incluir el elemento secundario <dynamoDBContext>.

A continuación, mostramos un ejemplo del elemento <dynamoDB> en uso:

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

dynamoDBContext

El elemento <dynamoDBContext> representa una colección de ajustes específicos del contexto de Amazon DynamoDB. Este elemento puede incluir el atributo tableNamePrefix, que representa el prefijo de nombre de tabla predeterminado que usará el contexto de DynamoDB si no se configura manualmente. Este atributo se asigna a la propiedad Amazon.Util.DynamoDBContextConfig.TableNamePrefix a partir de la propiedad Amazon.AWSConfigs.DynamoDBConfig.Context.TableNamePrefix de AWS SDK para .NET. Para obtener más información, consulte la sección sobre las mejoras realizadas en el SDK de DynamoDB.

El elemento principal del elemento <dynamoDBContext> es el elemento <dynamoDB>.

El elemento <dynamoDBContext> puede incluir los siguientes elementos secundarios:

  • <alias> (una o varias instancias)

  • <map> (una o varias instancias)

A continuación, mostramos un ejemplo del elemento <dynamoDBContext> en uso:

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

ec2

El elemento <ec2> representa una colección de ajustes de Amazon EC2. El elemento puede incluir el atributo useSignatureVersion4, que especifica si la versión 4 de Signature se usará para todas las solicitudes (true) o no (false, el valor predeterminado). Este atributo se asigna a la propiedad Amazon.Util.EC2Config.UseSignatureVersion4 a partir de la propiedad Amazon.AWSConfigs.EC2Config.UseSignatureVersion4 de AWS SDK para .NET.

El elemento principal del elemento <ec2> es el elemento.

El elemento <ec2> no contiene ningún elemento secundario.

A continuación, mostramos un ejemplo del elemento <ec2> en uso:

<ec2 useSignatureVersion4="true" />

registrar

El elemento <logging> representa una colección de ajustes para el registro de respuestas y el registro de métricas de desempeño. Este elemento puede incluir los siguientes atributos:

logMetrics

Si las métricas de desempeño se van a registrar para todos los clientes y configuraciones (true); de lo contrario, false. Este atributo se asigna a la propiedad Amazon.Util.LoggingConfig.LogMetrics a partir de la propiedad Amazon.AWSConfigs.LoggingConfig.LogMetrics de AWS SDK para .NET.

logMetricsCustomFormatter

Tipo de datos y nombre del ensamblado de un formateador personalizado para registrar métricas. Este atributo se asigna a la propiedad Amazon.Util.LoggingConfig.LogMetricsCustomFormatter a partir de la propiedad Amazon.AWSConfigs.LoggingConfig.LogMetricsCustomFormatter de AWS SDK para .NET.

logMetricsFormat

Formato en que se presentan las métricas de registro (se asigna a la propiedad Amazon.Util.LoggingConfig.LogMetricsFormat a partir de la propiedad Amazon.AWSConfigs.LoggingConfig.LogMetricsFormat del AWS SDK para .NET).

Entre los valores permitidos se incluyen:

JSON

Utilizar el formato JSON.

Standard

Utilizar el formato predeterminado.

logResponses

Cuándo se deben registrar respuestas del servicio (se asigna a la propiedad Amazon.Util.LoggingConfig.LogResponses a partir de la propiedad Amazon.AWSConfigs.LoggingConfig.LogResponses en AWS SDK para .NET).

Entre los valores permitidos se incluyen:

Always

Registrar siempre respuestas del servicio.

Never

No registrar nunca respuestas del servicio.

OnError

Registrar solo respuestas del servicio cuando haya errores.

logTo

Dónde se deben registrar (se asigna a la propiedad LogTo a partir de la propiedad Amazon.AWSConfigs.LoggingConfig.LogTo en AWS SDK para .NET).

Los valores permitidos incluyen una o varias de estas opciones:

Log4Net

Registrarse en log4net.

None

Deshabilitar el registro.

SystemDiagnostics

Registrarse en System.Diagnostics.

El elemento principal del elemento <logging> es el elemento <aws>.

El elemento <logging> no contiene ningún elemento secundario.

A continuación, mostramos un ejemplo del elemento <logging> en uso:

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

map

El elemento <map> representa un solo elemento de una colección de mapeos de tipo a tabla de tipos de .NET a tablas de DynamoDB (se asigna a una instancia de la clase TypeMapping a partir de la propiedad Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings en AWS SDK para .NET). Para obtener más información, consulte la sección sobre las mejoras realizadas en el SDK de DynamoDB.

Este elemento puede incluir los siguientes atributos:

targetTable

Tabla de DynamoDB a la que se aplica el mapeo. Este atributo se asigna a la propiedad Amazon.Util.TypeMapping.TargetTable en AWS SDK para .NET.

type

Tipo y nombre del ensamblado al que se aplica el mapeo. Este atributo se asigna a la propiedad Amazon.Util.TypeMapping.Type en AWS SDK para .NET.

El elemento principal del elemento <map> es el elemento <dynamoDBContext>.

El elemento <map> puede incluir una o varias instancias del elemento secundario <property>.

A continuación, mostramos un ejemplo del elemento <map> en uso:

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

propiedad

El elemento <property> representa una propiedad DynamoDB. (Este elemento se asigna a una instancia de la clase Amazon.Util.PropertyConfig a partir del método AddProperty en el AWS SDK para .NET). Para obtener más información, consulte las secciones sobre las mejoras realizadas en el SDK de DynamoDB y los atributos de DynamoDB.

Este elemento puede incluir los siguientes atributos:

attribute

Nombre de un atributo para la propiedad, como el nombre de una clave de rango. Este atributo se asigna a la propiedad Amazon.Util.PropertyConfig.Attribute en AWS SDK para .NET.

converter

Tipo de convertidor que se debe usar para esta propiedad. Este atributo se asigna a la propiedad Amazon.Util.PropertyConfig.Converter en AWS SDK para .NET.

ignore

Si debe hacerse caso omiso de la propiedad asociada (true); de lo contrario, false. Este atributo se asigna a la propiedad Amazon.Util.PropertyConfig.Ignore en AWS SDK para .NET.

name

El nombre de la propiedad. Este atributo se asigna a la propiedad Amazon.Util.PropertyConfig.Name en AWS SDK para .NET.

version

Si esta propiedad debe almacenar el número de versión del elemento (true); de lo contrario, false. Este atributo se asigna a la propiedad Amazon.Util.PropertyConfig.Version en AWS SDK para .NET.

El elemento principal del elemento <property> es el elemento <map>.

El elemento <property> no contiene ningún elemento secundario.

A continuación, mostramos un ejemplo del elemento <property> en uso:

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

proxy

El elemento <proxy> representa los ajustes para configurar un proxy que AWS SDK para .NET usará. Este elemento puede incluir los siguientes atributos:

host

Nombre de host o dirección IP del servidor proxy. Estos atributos se asignan a la propiedad Amazon.Util.ProxyConfig.Host a partir de la propiedad Amazon.AWSConfigs.ProxyConfig.Host de AWS SDK para .NET.

contraseña

Contraseña para autenticarse con el servidor proxy. Estos atributos se asignan a la propiedad Amazon.Util.ProxyConfig.Password a partir de la propiedad Amazon.AWSConfigs.ProxyConfig.Password de AWS SDK para .NET.

puerto

Número de puerto del proxy. Estos atributos se asignan a la propiedad Amazon.Util.ProxyConfig.Port a partir de la propiedad Amazon.AWSConfigs.ProxyConfig.Port de AWS SDK para .NET.

nombre de usuario

Nombre de usuario para autenticarse con el servidor proxy. Estos atributos se asignan a la propiedad Amazon.Util.ProxyConfig.Username a partir de la propiedad Amazon.AWSConfigs.ProxyConfig.Username de AWS SDK para .NET.

El elemento principal del elemento <proxy> es el elemento <aws>.

El elemento <proxy> no contiene ningún elemento secundario.

A continuación, mostramos un ejemplo del elemento <proxy> en uso:

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

s3

El elemento <s3> representa una colección de ajustes de Amazon S3. El elemento puede incluir el atributo useSignatureVersion4, que especifica si la versión 4 de Signature se usará para todas las solicitudes (true) o no (false, el valor predeterminado). Este atributo se asigna a la propiedad Amazon.AWSConfigs.S3Config.UseSignatureVersion4 en AWS SDK para .NET.

El elemento principal del elemento <s3> es el elemento <aws>.

El elemento <s3> no contiene ningún elemento secundario.

A continuación, mostramos un ejemplo del elemento <s3> en uso:

<s3 useSignatureVersion4="true" />