使 az cli 突触 resume/pause 容错

make az cli synapse resume/pause fault tolerant

为了省钱,我使用了 az synapse sql pool pauseaz synapse sql pool resume,这样 Synapse 专用池数据库只有在有 Pull Request 时才会打开 运行 测试,然后关闭。

挑战在于:

下面是发生上述情况之一时发生的情况的示例输出

Command group 'synapse' is in preview and under development.
Reference and support levels: https://aka.ms/CLI_refstatus

Deployment failed.
Correlation ID: 062ea436-f0f0-4c11-a3e4-4df92cdaf6b5.
An unexpected error occured while processing the request.
Tracking ID: 'ba5ce906-5631-42ad-b3f4-a659095bdbe3'

Exited with code exit status 1

如何让这个命令容忍已经达到的状态?

以下是当且仅当数据库当前暂停时您将如何恢复数据库,然后等待它恢复/“联机”。需要 3 个单独的命令...

state=$(az synapse sql pool show \  
    --name $DB_NAME \
    --resource-group $RG_NAME \
    --workspace-name $WKSPC_NAME \
    --query "status")

if [ "$state" = "Paused" ]; then
  echo "Resuming pool!"
  az synapse sql pool resume
    --name $DB_NAME
    --resource-group $RG_NAME
    --workspace-name $WKSPC_NAME

  az synapse sql pool wait
    --sql-pool-name $DB_NAME
    --resource-group $RG_NAME
    --workspace-name $WKSPC_NAME
    --custom "state==Online" 

fi