2015-11-06 56 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

我更新了我的答案,请再试一次(最后一行更改) –