【问题标题】:How to define the configuration for AWS DynamoDB in .Net 4 and C#如何在 .Net 4 和 C# 中定义 AWS DynamoDB 的配置
【发布时间】:2020-04-30 13:48:08
【问题描述】:

我使用的是 DynamoDB,其中“用户”是表和模型对象的名称。我收到此错误:

Requested resource not found: Table: User not found

web.config 设置如下。

<appSettings>
    <add key="AWSAccessKey" value="asdf" />
    <add key="AWSSecretKey" value="Vi+asdfsecretImnottelling" />
</appSettings>

我目前正在使用我的本地主机来调试我的应用程序。这允许吗?

【问题讨论】:

    标签: asp.net-mvc-4 asp.net-web-api amazon-dynamodb


    【解决方案1】:

    我没有设置ServiceURL,这是一个问题,因为我没有使用默认区域。

    默认情况下,适用于 .NET 的 AWS 开发工具包将端点设置为

    https://dynamodb.us-east-1.amazonaws.com
    

    您还可以显式设置端点,如此 C# 代码 sn-p 所示:

    private static void CreateClient()
    {
        AmazonDynamoDBConfig config = new AmazonDynamoDBConfig();
        config.ServiceURL = "http://dynamodb.us-east-1.amazonaws.com";
        client = new AmazonDynamoDBClient(config);
    }
    

    亚马逊的“What Is Amazon DynamoDB?”也会有所帮助。

    【讨论】:

    • 您可以使用以下代码为 AmazonDynamoDBClient 创建客户端,而不是定义终端节点 URL。 AmazonDynamoDBClient 客户端 = new AmazonDynamoDBClient(“您的 id”、“您的密钥”、Amazon.RegionEndpoint.US.east1);
    【解决方案2】:

    使用 IAM 创建用户,它是 AWS 服务。然后根据您添加的用户在您的应用设置中进行如下配置:

    "AWS": {
    "Profile": "",
    "AccessKey": "",
    "SecretKey": "",
    "Region": ""}
    

    以下方法很容易创建具有基本凭据的DynamoDb客户端:

    AmazonDynamoDBClient awsDbClient = new AmazonDynamoDBClient(strAccessKey, strSecretKey, Amazon.RegionEndpoint.GetBySystemName(strRegion));
    

    对于 aws DB 访问库,您可以访问此链接:https://github.com/MeghnathDas/DynamoDbPlugin

    【讨论】:

    • 与其扔代码,不如解释一下为什么这是正确的解决方案。我们的目标是在解决问题的同时帮助进行教育,以便 OP 了解如何在未来解决问题。
    猜你喜欢
    • 1970-01-01
    • 2023-01-09
    • 2011-08-31
    • 1970-01-01
    • 2010-10-18
    • 2020-07-12
    • 1970-01-01
    • 2020-08-19
    • 2019-10-30
    相关资源
    最近更新 更多