AWS Amplify CLI创建了无法访问的存储桶来托管

时间:2018-11-14 11:21:22

标签: amazon-web-services amazon-s3 command-line-interface aws-amplify

Amplify CLI出现了一个奇怪的问题。通过将托管添加到我的角度应用程序中

amplify hosting add

并随后致电

amplify publish

该过程末尾提供的链接链接到一个网页,该网页仅显示一个XML文档,告诉我该访问被拒绝。这是怎么回事在我看来,托管存储桶附带了错误的策略,但是为什么放大CLI会创建私有存储桶?

有人可以在这里照明吗?

这是CLI创建的存储桶策略:

{
"Version": "2012-10-17",
"Id": "MyPolicy",
"Statement": [
    {
        "Sid": "APIReadForGetBucketObjects",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity xxx"
        },
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::xxx/*"
    }
]
}

3 个答案:

答案 0 :(得分:0)

我也刚遇到这个问题。如果我进入Cloudfront发行版并更新原点,使其包含指向S3存储桶中主子目录的原点路径(文件夹与Amplify项目的名称相同),则问题似乎已解决。

答案 1 :(得分:0)

我刚遇到这个问题,它最终成为S3中的安全设置。 1.转到S3>该帐户的公共访问设置>取消选中这些

答案 2 :(得分:0)

使用amplify init命令时,将路径传递到项目构建时要非常小心。

对于有角度的项目,默认值为dist / {project-name},因此,在初始化放大器以正确地通过以下方式进行此操作时:

Distribution Directory Path: dist/{project-name}

如果路径传递不正确,则访问消息将被拒绝,它将显示一切正常,但实际上找不到文件。

最后,即使错误仍然继续发生,here也是发生这种情况的其他可能原因的参考。