Amazon SDK for .NET的配置文件参考 - Amazon SDK for .NET(版本 3)
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本内容重点介绍.NET FrameworkASP.NET 4.x。它涵盖了视窗和视觉工作室。

使用.NET 内核或者ASP.NET Core? 转至版本 3.5 或更高版本的Amazon SDK for .NET。除了 Windows 和视觉工作室之外,它还涵盖跨平台的开发。

HelloAmazon.NET 社区!请分享您的经验,帮助我们改进Amazon SDK for .NET及其学习资源进行调查。此项调查大约需要 10 分钟能完成。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon SDK for .NET的配置文件参考

您可以使用 .NET 项目的App.config或者Web.config文件指定Amazon设置,例如Amazon凭据, 日志记录选项,Amazon服务终端节点和Amazon区域的一些设置,以及Amazon服务,如 Amazon DynamoDB、Amazon EC2 和 Amazon S3。以下信息介绍了如何正确设置 App.configWeb.config 文件的格式,以指定这些设置类型。

注意

尽管您可以继续使用<appSettings>中的App.config或者Web.config文件指定Amazon设置,建议您使用<configSections><aws>元素,如本主题后面所述。有关的更多信息<appSettings>元素,请参阅<appSettings>中的元素示例配置Amazon SDK for .NET应用程序

注意

虽然您可以继续使用以下Amazon 配置类属性来指定Amazon设置时,以下属性将被弃用,并且在将来版本中不受支持:

  • DynamoDBContextTableNamePrefix

  • EC2UseSignatureVersion4

  • LoggingOptions

  • LogMetrics

  • ResponseLoggingOption

  • S3UseSignatureVersion4

一般而言,建议不要使用AWSConfigs类属性来指定Amazon设置,则应使用<configSections><aws>中的元素App.config或者Web.config文件指定Amazon设置,如本主题后面所述。有关上述属性的更多信息,请参阅AWSConfigs中的代码示例配置Amazon SDK for .NET应用程序

声明Amazon“设置” 部分

您指定Amazon中的App.config或者Web.config文件中的<aws>元素。在开始使用 <aws> 元素之前,您必须先创建一个 <section> 元素 (<configSections> 元素的子元素) 并将其 name 属性和 aws 属性分别设置为 typeAmazon.AWSSection, AWSSDK.Core (如以下示例所示):

<?xml version="1.0"?> <configuration> ... <configSections> <section name="aws" type="Amazon.AWSSection, AWSSDK.Core"/> </configSections> <aws> <!-- Add your desired Amazon settings declarations here. --> </aws> ... </configuration>

Visual Studio 编辑器提供针对 <aws> 元素或其子元素的自动代码完成 (IntelliSense)。

调用 <aws> 方法可帮助您创建 Amazon.AWSConfigs.GenerateConfigTemplate 元素格式正确的版本。这将以美观打印字符串形式输出 <aws> 元素的规范版本,可调整该字符串以满足您的需求。以下部分介绍 <aws> 元素的属性和子元素。

允许的元素

以下是允许的元素之间的逻辑关系列表。Amazon设置部分。要生成此列表的最新版本,您可以调用 Amazon.AWSConfigs.GenerateConfigTemplate 方法,这将以字符串形式输出 <aws> 元素的规范版本,可调整该字符串以满足您的需求。

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

元素参考

下面是允许在Amazon设置部分。对于每个元素,将列出其允许的属性和父-子元素。

alias

<alias> 元素表示集合中的一个项,该集合包含一个或多个源表到目标表的映射,用于指定与为某一类型配置的表不同的表。此元素将从Amazon SDK for .NET中的 Amazon.AWSConfigs.DynamoDBConfig.Context.TableAliases 属性映射到 Amazon.Util.TableAlias 类的实例。在应用表名称前缀之前,将执行重新映射。

此元素可以包含以下属性:

fromTable

源表到目标表的映射的源表部分。此属性映射到Amazon SDK for .NET中的 Amazon.Util.TableAlias.FromTable 属性。

toTable

源表到目标表的映射的目标表部分。此属性映射到Amazon SDK for .NET中的 Amazon.Util.TableAlias.ToTable 属性。

<alias> 元素的父级为 <tableAliases> 元素。

<alias> 元素不包含子元素。

以下是使用中的 <alias> 元素的示例:

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

aws

这些区域有:<aws>元素表示在一个Amazon设置部分。此元素可以包含以下属性:

endpointDefinition

自定义配置文件的绝对路径,该文件定义Amazon区域和终端节点使用。此属性映射到Amazon SDK for .NET中的 Amazon.AWSConfigs.EndpointDefinition 属性。

profileName

存储的配置文件名称Amazon用于进行服务调用的凭证。此属性映射到Amazon SDK for .NET中的 Amazon.AWSConfigs.AWSProfileName 属性。

profilesLocation

与其他Amazon开发工具包。默认情况下,凭证文件存储在当前用户主目录的 .aws 目录中。此属性映射到Amazon SDK for .NET中的 Amazon.AWSConfigs.AWSProfilesLocation 属性。

region

默认Amazon没有明确指定区域的客户端的区域 ID。此属性映射到Amazon SDK for .NET中的 Amazon.AWSConfigs.AWSRegion 属性。

<aws> 元素没有父元素。

<aws> 元素可包含以下子元素:

  • <dynamoDB>

  • <ec2>

  • <logging>

  • <proxy>

  • <s3>

以下是使用中的 <aws> 元素的示例:

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

dynamoDB

<dynamoDB> 元素表示一组 Amazon DynamoDB 设置。此元素可以包含 conversionSchema 属性,该属性表示在 .NET 和 DynamoDB 对象之间进行转换所用的版本。允许的值包括 V1 和 V2。此属性映射到Amazon SDK for .NET中的 Amazon.DynamoDBv2.DynamoDBEntryConversion 类。有关更多信息,请参阅 DynamoDB 系列 - 转换架构

<dynamoDB> 元素的父级为 <aws> 元素。

<dynamoDB> 元素可以包含 <dynamoDBContext> 子元素。

以下是使用中的 <dynamoDB> 元素的示例:

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

dynamoDBContext

<dynamoDBContext> 元素表示一组 Amazon DynamoDB 上下文特定的设置。此元素可以包含 tableNamePrefix 属性,它表示 DynamoDB 上下文将使用的默认表名前缀 (如果未手动配置此前缀)。此属性从Amazon SDK for .NET中的 Amazon.AWSConfigs.DynamoDBConfig.Context.TableNamePrefix 属性映射到 Amazon.Util.DynamoDBContextConfig.TableNamePrefix 属性。有关更多信息,请参阅 DynamoDB 开发工具包的增强功能

<dynamoDBContext> 元素的父级为 <dynamoDB> 元素。

<dynamoDBContext> 元素可包含以下子元素:

  • <alias> (一个或多个实例)

  • <map> (一个或多个实例)

以下是使用中的 <dynamoDBContext> 元素的示例:

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

ec2

<ec2> 元素表示 Amazon EC2 设置的集合。此元素可以包含 useSignatureVersion4 属性,该属性指定签名版本 4 签名用于所有请求 (true) 还是不用于所有请求 (false,默认值)。此属性从Amazon SDK for .NET中的 Amazon.AWSConfigs.EC2Config.UseSignatureVersion4 属性映射到 Amazon.Util.EC2Config.UseSignatureVersion4 属性。

<ec2> 元素的父级为该元素。

<ec2> 元素不包含子元素。

以下是使用中的 <ec2> 元素的示例:

<ec2 useSignatureVersion4="true" />

logging

<logging> 元素表示一组用于响应日志记录和性能指标日志记录的设置。此元素可以包含以下属性:

logMetrics

是否将为所有客户端和配置记录性能指标,如果是,则为 true;否则为 false。此属性从Amazon SDK for .NET中的 Amazon.AWSConfigs.LoggingConfig.LogMetrics 属性映射到 Amazon.Util.LoggingConfig.LogMetrics 属性。

logMetricsCustomFormatter

用于日志记录指标的自定义格式化程序的数据类型和程序集名称。此属性从Amazon SDK for .NET中的 Amazon.AWSConfigs.LoggingConfig.LogMetricsCustomFormatter 属性映射到 Amazon.Util.LoggingConfig.LogMetricsCustomFormatter 属性。

logMetricsFormat

用于表示日志记录指标的格式(从Amazon SDK for .NET中的 Amazon.AWSConfigs.LoggingConfig.LogMetricsFormat 属性映射到 Amazon.Util.LoggingConfig.LogMetricsFormat 属性)。

允许的值包括:

JSON

使用 JSON 格式。

Standard

使用默认格式。

logResponses

记录服务响应的时间(从Amazon SDK for .NET中的 Amazon.AWSConfigs.LoggingConfig.LogResponses 属性映射到 Amazon.Util.LoggingConfig.LogResponses 属性)。

允许的值包括:

Always

始终记录服务响应。

Never

从不记录服务响应。

OnError

仅在出错时记录服务响应。

logTo

记录位置(从Amazon SDK for .NET中的 Amazon.AWSConfigs.LoggingConfig.LogTo 属性映射到 LogTo 属性)。

允许的值包括下列一个或多个值:

Log4Net

记录到 log4net。

None

禁用日志记录。

SystemDiagnostics

记录到 System.Diagnostics。

<logging> 元素的父级为 <aws> 元素。

<logging> 元素不包含子元素。

以下是使用中的 <logging> 元素的示例:

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

map

<map> 元素表示从 .NET 类型到 DynamoDB 表的类型-表映射集合中的单个项(从Amazon SDK for .NET中的 Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings 属性映射到 TypeMapping 类的实例)。有关更多信息,请参阅 DynamoDB 开发工具包的增强功能

此元素可以包含以下属性:

targetTable

映射对应的 DynamoDB 表。此属性映射到Amazon SDK for .NET中的 Amazon.Util.TypeMapping.TargetTable 属性。

type

映射对应的类型和程序集名称。此属性映射到Amazon SDK for .NET中的 Amazon.Util.TypeMapping.Type 属性。

<map> 元素的父级为 <dynamoDBContext> 元素。

<map> 元素可包含 <property> 子元素的一个或多个实例。

以下是使用中的 <map> 元素的示例:

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

property

<property> 元素表示 DynamoDB 属性。(此元素从Amazon SDK for .NET中的 AddProperty 方法映射到 Amazon.Util.PropertyConfig 类的实例)有关更多信息,请参阅 DynamoDB 开发工具包的增强功能DynamoDB 属性

此元素可以包含以下属性:

attribute

属性的属性名,例如范围键的名称。此属性映射到Amazon SDK for .NET中的 Amazon.Util.PropertyConfig.Attribute 属性。

converter

应该用于此属性的转换器的类型。此属性映射到Amazon SDK for .NET中的 Amazon.Util.PropertyConfig.Converter 属性。

ignore

是否应忽略关联的属性,如果忽略,则为 true;否则为 false。此属性映射到Amazon SDK for .NET中的 Amazon.Util.PropertyConfig.Ignore 属性。

name

属性的名称。此属性映射到Amazon SDK for .NET中的 Amazon.Util.PropertyConfig.Name 属性。

version

此属性是否应存储项目版本号,如果是,则为 true;否则为 false。此属性映射到Amazon SDK for .NET中的 Amazon.Util.PropertyConfig.Version 属性。

<property> 元素的父级为 <map> 元素。

<property> 元素不包含子元素。

以下是使用中的 <property> 元素的示例:

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

proxy

<proxy> 元素表示用于配置代理以供Amazon SDK for .NET使用的设置。此元素可以包含以下属性:

host

代理服务器的主机名或 IP 地址。此属性从Amazon SDK for .NET中的 Amazon.AWSConfigs.ProxyConfig.Host 属性映射到 Amazon.Util.ProxyConfig.Host 属性。

密码

用于对代理服务器进行身份验证的密码。此属性从Amazon SDK for .NET中的 Amazon.AWSConfigs.ProxyConfig.Password 属性映射到 Amazon.Util.ProxyConfig.Password 属性。

port (远程调试端口)

代理的端口号。此属性从Amazon SDK for .NET中的 Amazon.AWSConfigs.ProxyConfig.Port 属性映射到 Amazon.Util.ProxyConfig.Port 属性。

username

用于对代理服务器进行身份验证的用户名。此属性从Amazon SDK for .NET中的 Amazon.AWSConfigs.ProxyConfig.Username 属性映射到 Amazon.Util.ProxyConfig.Username 属性。

<proxy> 元素的父级为 <aws> 元素。

<proxy> 元素不包含子元素。

以下是使用中的 <proxy> 元素的示例:

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

s3

<s3> 元素表示 Amazon S3 设置的集合。此元素可以包含 useSignatureVersion4 属性,该属性指定签名版本 4 签名用于所有请求 (true) 还是不用于所有请求 (false,默认值)。此属性映射到Amazon SDK for .NET中的 Amazon.AWSConfigs.S3Config.UseSignatureVersion4 属性。

<s3> 元素的父级为 <aws> 元素。

<s3> 元素不包含子元素。

以下是使用中的 <s3> 元素的示例:

<s3 useSignatureVersion4="true" />