为了账号安全,请及时绑定邮箱和手机立即绑定

如何更新 Amazon CloudFront 分配

如何更新 Amazon CloudFront 分配

PHP
白衣染霜花 2021-08-28 10:57:46
我想使用updatedistributionAWS 提供的方法更新 Amazon CloudFront 分配的状态。我不知道所有必需参数的默认值。
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

$client = new Aws\CloudFront\CloudFrontClient([

            'region' => 'us-east-1',

            'version' => 'latest',

            'credentials' => [

                'key' => $this->AcmKey,

                'secret' => $this->AcmSecret

            ]

        ]);


        //        $id = 'E2SYUN95DWJFXC';

        $id = $business_custom_data->distribution_id;

        try {

            $result = $client->getDistribution([

                'Id' => $id,

            ]);

        } catch (AwsException $e) {

            // output error message if fails

            echo $e->getMessage();

            echo "\n";

        }


        $currentConfig = $result["Distribution"]["DistributionConfig"];

        $ETag = $result["ETag"];



        $distribution = [

            'CallerReference' => $currentConfig["CallerReference"], // REQUIRED

            'Comment' => $currentConfig["Comment"], // REQUIRED

            'DefaultCacheBehavior' => $currentConfig["DefaultCacheBehavior"], // REQUIRED

            'DefaultRootObject' => $currentConfig["DefaultRootObject"],

            //'Enabled' => $currentConfig["Enabled"], // REQUIRED

            'Enabled' => False, // REQUIRED

            'Origins' => $currentConfig["Origins"], // REQUIRED

            'Aliases' => $currentConfig["Aliases"],

            'CustomErrorResponses' => $currentConfig["CustomErrorResponses"],

            'HttpVersion' => $currentConfig["HttpVersion"],

            'CacheBehaviors' => $currentConfig["CacheBehaviors"],

            'Logging' => $currentConfig["Logging"],

            'PriceClass' => $currentConfig["PriceClass"],

            'Restrictions' => $currentConfig["Restrictions"],

            'ViewerCertificate' => $currentConfig["ViewerCertificate"],

            'WebACLId' => $currentConfig["WebACLId"],

        ];



        try {

            $result = $client->updateDistribution([

                'DistributionConfig' => $distribution,

                'Id' => $id,

                'IfMatch' => $ETag

            ]);

            $status = true;

            //var_dump($result);

            //die;

        } catch (AwsException $e) {

            // output error message if fails

            echo $e->getMessage();

            echo "\n";

        }


查看完整回答
反对 回复 2021-08-28
  • 1 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信