はじめに
「Cache for Redis のRDBバックアップをPortalではなくCLIで後から設定したい!」
という事があったんですが、Azureに無知で若干ハマってしまったので備忘録的に書いていきたいと思います。
先に答えから
az redis update --name MyRedisCache --resource-group MyResourceGroup --set "redisConfiguration.rdb-storage-connection-string"="DefaultEndpointsProtocol=https;BlobEndpoint=<blob-endpoint>;AccountName=<storage-name>;AccountKey=<account-key>" "redisConfiguration.rdb-backup-enabled"="true" "redisConfiguration.rdb-backup-frequency"="15" "redisConfiguration.rdb-backup-max-snapshot-count"="1"
方法
まずはドキュメントを確認します。
update
az redis update [--add]
[--force-string]
[--ids]
[--name]
[--remove]
[--resource-group]
[--set]
[--sku {Basic, Premium, Standard}]
[--subscription]
[--vm-size {c0, c1, c2, c3, c4, c5, c6, p1, p2, p3, p4, p5}]
…なるほど。
次にRDBバックアップを設定するコマンドがこちら。
update --set
az redis update --name MyRedisCache --resource-group MyResourceGroup --set "redisConfiguration.rdb-storage-connection-string"="BlobEndpoint=https//..." "redisConfiguration.rdb-backup-enabled"="true" "redisConfiguration.rdb-backup-frequency"="15" "redisConfiguration.rdb-backup-max-snapshot-count"="1"
ここで自分はredisConfiguration.rdb-storage-connection-string=
の指定がわからずハマりました。
"redisConfiguration.rdb-storage-connection-string"="BlobEndpoint=https//..."
さらに公式のドキュメントをさらに漁ってみたところ正解が分かりました。
rdb-storage-connection-string
の指定は以下のような形式にするみたいです。
"DefaultEndpointsProtocol=https;BlobEndpoint=<BlobEndpoint>;AccountName=<storage-name>;AccountKey=<account-key>"
中で複数指定しているものの中身はこんな感じ。
BlobEndpoint
https://<storage-account-name>.blob.core.windows.net/
AccountName
<storage-account-name>
AccountKey
<storage-primary-access-key>
なので、コマンドとしては、下記のようになります。
az redis update --name MyRedisCache --resource-group MyResourceGroup --set "redisConfiguration.rdb-storage-connection-string"="DefaultEndpointsProtocol=https;BlobEndpoint=<blob-endpoint>;AccountName=<storage-name>;AccountKey=<account-key>" "redisConfiguration.rdb-backup-enabled"="true" "redisConfiguration.rdb-backup-frequency"="15" "redisConfiguration.rdb-backup-max-snapshot-count"="1"
以上です。
さいごに
誰かの参考になれば嬉しいです!