有没有办法确定某个区域的 AWS SES 服务可用性?

Is there a way to determine AWS SES service availability in a region?

有没有办法使用 AWS SDK 确定 ses 是否有可用的本地区域? 使用核心中间件 services.AddAWSService<IAmazonSimpleEmailService>() 注册电子邮件服务后,我想找到 SES 本地区域并将其分配给电子邮件服务(如果有的话)。使用 .Net Core 2.1 和 AWS SDK。谢谢!

我相信这 link 包含您感兴趣的信息 - https://aws.amazon.com/blogs/aws/new-query-for-aws-regions-endpoints-and-more-using-aws-systems-manager-parameter-store/

Here’s how to get the list of regions where a service (Amazon Athena, in this case) is available:

$ aws ssm get-parameters-by-path \
  --path /aws/service/global-infrastructure/services/athena/regions --output json | \
  jq .Parameters[].Value
"ap-northeast-2"
"ap-south-1"
"ap-southeast-2"
"ca-central-1"
"eu-central-1"
"eu-west-1"
"eu-west-2"
"us-east-1"
"us-east-2"
"us-gov-west-1"
"ap-northeast-1"
"ap-southeast-1"
"us-west-2"

https://www.nuget.org/packages/AWSSDK.SimpleSystemsManagement/ NuGet 包可用于通过 .NET SDK 实现相同的目的。对于您的示例,获取 SES 可用区域集的代码可能类似于

var client = new AmazonSimpleSystemsManagementClient(...);
var path = "/aws/service/global-infrastructure/services/ses/regions";
var response = await client.GetParametersByPathAsync(new GetParametersByPathRequest
{
    Path = path
}).ConfigureAwait(false);
var regions = new HashSet<string>(response.Parameters.Select(x => x.Value));

while (!string.IsNullOrWhiteSpace(response.NextToken))
{
    response = await client.GetParametersByPathAsync(new GetParametersByPathRequest
    {
        Path = path,
        NextToken = response.NextToken
    }).ConfigureAwait(false);

    foreach (var parameter in response.Parameters) regions.Add(parameter.Value);
}