使用S3网站origin的云锋对流层模板

2024-06-28 10:51:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试自动部署一个静态网站。我有一个静态网站(angular/javascript/html),需要使用AWS Cloudfront CDN。在

   s3dnsname = self.template.add_parameter(Parameter(
        "S3DNSName",
        Description="The DNS name of an existing S3 bucket to use as the "
                    "Cloudfront distribution origin",
        Type="String",
    ))

    myDistribution = self.template.add_resource(Distribution(
        "myDistribution",
        DistributionConfig=DistributionConfig(
            Origins=[Origin(Id="Origin 1", DomainName=Ref(s3dnsname),
                            S3OriginConfig=S3Origin())],
            DefaultCacheBehavior=DefaultCacheBehavior(
                TargetOriginId="Origin 1",
                ForwardedValues=ForwardedValues(
                    QueryString=False
                ),
                ViewerProtocolPolicy="allow-all"),
            Enabled=True,
            HttpVersion='http2'

        )
    ))

这是我的代码,我得到一个错误“参数Origin DomainName没有引用有效的S3 bucket。”

我查阅了几篇关于这方面的文章/博客,他们都指出要添加以下内容:

^{pr2}$

有人能告诉我要在哪里加这个零件吗?在

更新: 我试图用下面的CustomOriginConfig替换S3OriginConfig:

   myDistribution = self.template.add_resource(Distribution(
        "myDistribution",
        DistributionConfig=DistributionConfig(
            Origins=[Origin(
                Id="Origin 1",
                DomainName=Ref(s3dnsname),
                CustomOriginConfig=CustomOriginConfig(
                    OriginProtocolPolicy="http-only",
                    HTTPPort=80,
                    HTTPSPort=443))],
            DefaultCacheBehavior=DefaultCacheBehavior(
                TargetOriginId="Origin 1",
                ForwardedValues=ForwardedValues(
                    QueryString=False
                ),
                ViewerProtocolPolicy="allow-all"),
            Enabled=True,
            HttpVersion='http2'
        )
    ))

运行这个之后,我得到一个错误“NameError:global name'CustomOriginConfig'is not defined”

我遗漏了一些我无法辨认的东西。在


Tags: nameselfadd网站静态templateorigincloudfront