14four/laravel-cloudfront

监控CloudFront并根据日期时间切换源。

v1.0.2 2020-01-06 19:23 UTC

This package is auto-updated.

Last update: 2024-09-07 05:44:37 UTC


README

CloudFront管理器将切换正在使用的CloudFront源。

[目录]

目的

本包的目的是在特定时间过后自动切换源。

这允许我们在S3桶中托管静态文件,并在特定时间切换使用的桶。

安装

添加到Composer

composer require 14four/laravel-cloudfront

发布配置文件

php artisan vendor:publish --provider="CloudFrontManger\CloudFrontServiceProvider" --tag="config"

更新配置

ID

设置你将要针对的CloudFront ID...建议使用 env() 以便在阶段和生产环境中覆盖此设置。

示例

'id' => env('CLOUDFRONT_ID', 'productionid'),

凭据

这些将是你用来访问CloudFront的凭据。确保你提供的凭据可以读取和写入CloudFront。

将这些设置在.env文件中,以防止安全风险

示例

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1

在配置中设置源。这些需要与你要针对的CloudFront分发中的 Origin ID 匹配。

示例

  'origins' => [
      'blank' => env('CLOUDFRONT_BLANK', 'origin-id'),
      'comingSoon' => env('CLOUDFRONT_COMINGSOON', 's3-coming-soon-bucket'),
      'live' => env('CLOUDFRONT_LIVE', 's3-live-bucket'),
      'over' => env('CLOUDFRONT_OVER', 's3-over-bucket'),
  ],

行为

将你的行为映射到日期和应处于活跃状态的源。你可以切换多个行为(默认已提供)。

每个行为将基于已找到的最后一个日期进行检查。

示例

    'behaviors' => [
        'DefaultCacheBehavior' => [
            [
                'date' => env('CLOUDFRONT_PRE_DATE', '2019-08-01 00:00:00'),
                'origin' => 'blank',
            ],
            [
                'date' => env('CLOUDFRONT_COMING_DATE', '2019-08-02 00:00:00'),
                'origin' => 'comingSoon',
            ],
            [
                'date' => env('CLOUDFRONT_LIVE_DATE', '2019-09-02 12:00:00'),
                'origin' => 'live',
            ],
            [
                'date' => env('CLOUDFRONT_OVER_DATE', '2019-11-20 23:59:59'),
                'origin' => 'over',
            ],
        ],
    ],

添加到调度器

app/Console/Kernel.php 文件中添加 cloudfront:check 命令

    protected function schedule(Schedule $schedule)
    {
        $schedule
            ->command('cloudfront:check')
            ->everyMinute();
    }