2015-11-06 54 views
1

在我的劇本有10個端點在這樣的排配置了10個端點操作:(請注意:我完全新的Azure的PoweShell,開始使用昨天,但是我有經驗的開發)如何異步執行或平行執行Azure PowerShell操作以騰出時間?

Get-AzureVM –ServiceName myservice –Name myvm | 
    Add-AzureEndpoint –Name SqlEndpoint –Protocol tcp –LocalPort 1433 ` 
    –PublicPort 1433 –ACL $acl | 
    Update-AzureVM 

可惜的是一個需要10-15秒才能完成,並且它們以序列化方式執行:下一個只在上一個完成時開始,因此10個操作需要2分鐘。

如果我能以某種方式加快速度,我會很高興。我假設這種序列化的方式不是來自深度Azure本質(架構),我們可以想象10個客戶端在同一時間連接和發佈10個操作到服務器。 (我強烈希望天青不會在內部排隊它們並執行10×15秒......)

  • 問:我可以只發出與Azure中的PowerShell的操作在異步方式,(作爲一個副作用輸給檢查的能力導致
  • Q':如果沒有這樣的通用異步方式,我能做到這一點的具體10端點配置操作作爲一個操作
+0

'Start-Job'? – PetSerAl

+0

謝謝,去看看它是什麼樣的動物...... –

回答

1

是的,你只需要調用的Add-AzureEndpoint(或Set-AzureEndpoint)多次?並且僅調用Update-AzureVM cmdlet 一次(at結束):

$vm = Get-AzureVM –ServiceName myservice –Name myvm 
Add-AzureEndpoint –Name SqlEndpoint –Protocol tcp –LocalPort 1433 –PublicPort 1433 –ACL $acl -vm $vm 
Add-AzureEndpoint –Name Endpoint2 ... 
Add-AzureEndpoint –Name Endpoint3 ... 
... 
$vm | Update-AzureVM 
+0

謝謝,聽起來是一個正確的具體和經濟的解決方案。 –

+0

這給我一個錯誤信息...看到暫時編輯的問題 –

+0

我更新了我的答案,請再試一次(最後一行更改) –