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

的版本 4 (V4) Amazon SDK for .NET 已经发布!

有关重大更改和迁移应用程序的信息,请参阅迁移主题

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

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

注意

本主题中的信息特定于基于 .NET Framework 的项目。默认情况下,App.configWeb.config 文件不存在于基于 .NET Core 的项目中。

您可以使用.NET 项目App.configWeb.config文件来指定 Amazon 设置,例如 Amazon 证书、日志选项、 Amazon 服务终端节点和 Amazon 区域,以及一些 Amazon 服务的设置,例如亚马逊 DynamoDB、Amazon 和 Ama EC2 zon S3。以下信息介绍了如何正确设置 App.configWeb.config 文件的格式,以指定这些设置类型。

注意

尽管您可以继续使用App.configWeb.config文件中的<appSettings>元素来指定 Amazon 设置,但我们建议您按照本主题后面的说明使用<configSections><aws>元素。有关该<appSettings>元素的更多信息,请参阅配置 Amazon SDK for .NET 应用程序中的<appSettings>元素示例。

注意

尽管您可以继续在代码文件中使用以下AWSConfigs类属性来指定 Amazon 设置,但以下属性已过时,将来的版本可能不支持这些属性:

  • DynamoDBContextTableNamePrefix

  • EC2UseSignatureVersion4

  • LoggingOptions

  • LogMetrics

  • ResponseLoggingOption

  • S3UseSignatureVersion4

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

声明 Amazon 设置部分

您可以从<aws>元素内部在App.configWeb.config文件中指定 Amazon 设置。在开始使用 <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> 元素表示集合中的一个项,该集合包含一个或多个源表到目标表的映射,用于指定与为某一类型配置的表不同的表。此元素将从 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 SDKs。默认情况下,凭证文件存储在当前用户主目录的 .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>

发电机 DBContext

<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),或者是否不对所有请求使用签名版本 4 签名(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

登录到哪里(从中的LogToAmazon.AWSConfigs.LoggingConfig.LogTo属性映射到该属性 Amazon SDK for .NET)。

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

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>元素表示从.NET 类型到 DynamoDB 表的 type-to-table映射集合中的单个项目(映射到中Amazon.AWSConfigs.DynamoDBConfig.Context.TypeMappings属性的TypeMapping类实例)。 Amazon SDK for .NET有关更多信息,请参阅 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.Util 的实例。 PropertyConfig 中的AddProperty方法中的类 Amazon SDK for .NET)有关更多信息,请参阅 DynamoDB 开发工具包和 D ynamoDB 属性的增强功能

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

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 属性。

password

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

端口

代理的端口号。此属性从 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),或者是否不对所有请求使用签名版本 4 签名(false,默认值)。此属性映射到 Amazon SDK for .NET中的 Amazon.AWSConfigs.S3Config.UseSignatureVersion4 属性。

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

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

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

<s3 useSignatureVersion4="true" />