0

我真的是aws的新手,如果这是一个愚蠢的问题,我很抱歉。

我做了一个与在线 DynamoDB 表连接的网站,它完全可以在我的本地运行,但是当我在我的 Elastic Beanstalk 环境中部署网站代码时,它没有连接到 DynamoDB 表。

有什么我应该做的配置吗?

恐怕没有其他人有这个问题。

我的网站是由 aws.phar 使用 aws php sdk 编写的。

我确实为 iam 用户创建了一个策略,如下所示:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": [
                    "dynamodb:GetItem",
                    "dynamodb:PutItem"
                ],
                "Effect": "Allow",
                "Resource": [DynamoDB table],
                "Condition": {
                    "ForAllValues:StringEquals": {
                        "dynamodb:Attributes": [
                            [Lists of attributes]
                        ]
                    }
                }
            }
        ]
    }
4

2 回答 2

5

这已通过将 Elastic Beanstalk 自动创建的角色的正确权限添加到 EC2 实例来解决。

http://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html

于 2016-09-18T19:34:54.520 回答
0

当我在代码中包含有关区域、访问密钥和密钥的详细信息时,它对我有用。我更换了

dynamodb = boto3.resource('dynamodb')

dynamodb = boto3.resource('dynamodb', region_name = Region_NAME, 
    aws_access_key_id = ACCESS_KEY, aws_secret_access_key =
    SECRET_ACCESS_KEY)

尽管这不是推荐的解决方案,但由于安全问题,您不应在代码中包含凭据。

于 2020-08-05T13:39:35.297 回答