c# - 如何在App Config文件上的C#中为AWS AmazonSQSClient设置RegionEndPoint

标签 c# aws-sdk amazon-sqs

我已经在我的应用程序配置中这样声明了RegionEndpoint

<add key="AWSRegion" value="EUWest1" xdt:Transform="Insert"/>


在我的程序中,我尝试将其命名为AWSRegion

 private static string RegionEndPoint = ConfigurationManager.AppSettings["AWSRegion"];


所以当我声明我的SQSClient时出现错误,无法从字符串转换为RegionEndPoint

var SQSClient = new AmazonSQSClient(credentials, RegionEndPoint);


我在这里尝试了这个问题的理解How to set the EndPoint / Region for the C# .NET SDK : EC2Client?

但它适用于EC2Client,因此对我来说似乎不起作用。

我也试图使用这样的AWS开发工具包声明regionendpoint

private static RegionEndpoint RegionEndPoint = ConfigurationManager.AppSettings["AWSRegion"];


我还收到一条错误消息,提示无法从字符串类型隐式转换为Amazon.RegionEndpoint

因此,如果有办法在配置文件中添加RegionEndPoint并在SQSClient中使用它,请帮助我。

最佳答案

ConfigurationManager.AppSettings["AWSRegion"]返回字符串值EUWest1,但是RegionEndpoint是一个类。

AmazonSQSClient Constructo希望将类RegionEndpoint的实例作为第二个参数,但是由于您要传递字符串值,因此会出现错误。

您可以使用以下方法从Configuration值获取RegionEndpoint类实例。

RegionEndpoint类具有静态方法GetBySystemName。您需要将区域名称传递给此方法,它将返回RegionEndpoint类的适当实例。

但是为此,您需要具有正确的区域名称才能传递。您需要将该值放入配置中。在您的情况下,配置值应为eu-west-1。配置值EUWest1在这里不起作用。

您可以找到AWS here的所有有效区域名称。

<add key="AWSRegion" value="eu-west-1" xdt:Transform="Insert"/>


使用上面的配置值,您可以使用以下代码来获取基于它的Region。

private static RegionEndpoint RegionEndPoint = 
      RegionEndpoint.GetBySystemName(ConfigurationManager.AppSettings["AWSRegion"]);


上面的代码将为您提供EU (Ireland) Region区域的RegionEndPoint实例,现在您可以将其用于AmazonSQSClient,如下所示。

var SQSClient = new AmazonSQSClient(credentials, RegionEndPoint);


这将帮助您解决面临的问题。

关于c# - 如何在App Config文件上的C#中为AWS AmazonSQSClient设置RegionEndPoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53295267/

相关文章:

c# - 如何使用 Excel Interop 查找自动分页符的位置?

node.js - 我可以在 AWS Lambda 中使用 WebWorkers( Node 6.10)

amazon-web-services - 从 AWS SDK,我如何获取当前登录的用户名(或 IAM 用户)?

c# - 不带参数的委托(delegate)

c# - 源不包含数据行

c# - 同一属性的不同 getter 和 setter 接口(interface)

node.js - 使用 POST 将文件上传到 s3

java - 尽管我传递了很多消息,但 List<Message> 仅包含一条消息

amazon-web-services - 什么是 AWS 中的低延迟事件溯源服务?

amazon-web-services - Amazon SQS DLQ:是否将早于14天的sqs消息移至DLQ