created: 2024-01-15T01:29:10.063Z
CloudFront の ID とドメインを一覧する
CloudFront のキャッシュをご破産にするのに、コマンドライン引数でリソースの ID を指示する必要があるが、この ID は E949NH1234567 みたいな形式の文字列なのでこれは憶えていられない。さりとてコマンドライン引数は --distribution-id しかないので、それ(ID)を調べて指定するしかなさそう。毎回こんなコマンドを叩いている。という記録。
$ aws cloudfront create-invalidation help | head -20
CREATE-INVALIDATION()                                    CREATE-INVALIDATION()
NAME
       create-invalidation -
...
          --distribution-id <value>
          [--invalidation-batch <value>]
          [--paths <value>]
CloudFront の ID とドメインを一覧する
aws cloudfront list-distributions | jq -r '
  .DistributionList.Items[]
  | [.Id, .Aliases.Items[0]]
  | @tsv'
出力はこんな塩梅
E39UWG4JPA1234	static.n-t.jp
E3P7V3CYUV1234	blog.n-t.jp
...
キャッシュのご破算
aws cloudfront create-invalidation \
  --distribution-id E3P7V3CYUV1234 \
  --paths '/*'
その他
本当はプロジェクトの package.json なり .envrc とかでマメに変数にしておくとよいかもしれないが、CDN を作り直したりすること考えると絶妙に億劫。(マメでない)
export CLOUDFRONT_ID__ABCD_CO_JP=E949NH1234567
{
  "scripts": "aws cloudfront create-invalidation\
    --distribution-id $CLOUDFRONT_ID__ABCD_CO_JP\
    --paths '/*'"
}
