AWS CloudFrontのキャッシュをSDKで削除してみたい!!
ってことで今回は、AWS SDKでCloudFrontのキャッシュを削除する方法を解説します!
前提
- ライブラリ「aws-sdk」がインストールされていること
CloudFrontキャッシュ削除方法
CloudFrontのキャッシュを削除するには、「createInvalidation」というものを使用します。
具体的なソースコードは以下になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<?php namespace App\Services\Aws; use Aws\CloudFront\CloudFrontClient; /** * CloudFrontサービス */ class CloudFrontService { private $client; public function __construct() { $this->client = new CloudFrontClient([ 'version' => '*** version ***', 'region' => '*** region ***', 'credentials' => [ 'key' => '*** key ***', 'secret' => '*** secret ***', ], ]); } /** * 無効化バッチを作成する * * @link https://docs.aws.amazon.com/aws-sdk-php/v3/api/api-cloudfront-2019-03-26.html#createinvalidation */ public function createInvalidation() { $this->client->createInvalidation([ 'DistributionId' => '*** DistributionId ***', 'InvalidationBatch' => [ 'Paths' => [ 'Quantity' => count(['/*']), 'Items' => ['/*'], ], 'CallerReference' => time(), ], ]); } } |
これだけです。超簡単。
関連記事
aws-sdkを使用してEC2のインスタンスプロファイル情報を取得したい! 認証情報を取得する方法はいくつかあります。 ただ、EC2にデプロイしたアプリからAWSの認証情報を取得する方法でベストなのは、IAMロールの権限を取得す[…]
参考サイト
まとめ
AWS SDKの記事って少なくて分かりにくいんですよね。
今回の記事が誰かの役に立ってくれれば幸いです。
ではまた!