簡體   English   中英

運行涉及AzureRM作為Azure Webjob的Powershell腳本

[英]Running a powershell script involving AzureRM as an Azure webjob

我幾乎沒有使用Powershell的經驗,所以這可能是一個顯而易見的問題。

我正在嘗試將Powershell腳本作為webjob運行。 腳本的唯一目的是通過AzureRM庫刷新端點。

我設法在本地執行此操作,它看起來像這樣:

Install-Module AzureRM -AllowClobber Import-Module AzureRM

Login-AzureRmAccount -ServicePrincipal -ApplicationId  "http://my-app"
-Credential $pscredential -TenantId $tenantid

$wsd = Get-AzureRmMlWebService -Name 'serviceName' -ResourceGroupName 'resourceGroupName' 
Update-AzureRmMlWebService -Name 'serviceName' -ResourceGroupName 'resourceGroupName' -ServiceUpdates $wsd

我需要能夠在我的網站上的命令中運行此腳本,因此我想為此創建一個webjob。 但是,在Webjob端運行我的腳本的Powershell似乎沒有“安裝模塊”,也沒有AzureRM,因此我感到有些困惑。 我嘗試將AzureRM附加到它,但是限制為50 mb,AzureRM為500+(壓縮100+)。

[10/30/2017 19:37:46 > 44bf8a: ERR ] Install-Module : The term 'Install-Module' is not recognized as the name of a 
[10/30/2017 19:37:46 > 44bf8a: ERR ] cmdlet, function, script file, or operable program. Check the spelling of the 
[10/30/2017 19:37:46 > 44bf8a: ERR ] name, or if a path was included, verify that the path is correct and try again.

我應該怎么做?

另外還有一個問題:如何處理Webjob中的登錄? 我必須通過我的實時身份證明嗎?

只需將評論轉換為答案即可+使您更好地了解Azure的工作原理。

一切都是Azure中的REST API調用。 如果您可以在Azure中做某事(或者門戶網站可以,或者您在某些演示中看到了),則可以進行REST調用。 它可能會或可能不會被記錄,那是另一回事(請考慮尚未記錄的demo \\ preview功能,或已記錄但已存在但已棄用的東西)。

但就您而言,一切都非常簡單,您可以在本地計算機上執行以下操作:

 Update-AzureRmMlWebService -Name 'serviceName' -ResourceGroupName 'resourceGroupName' -ServiceUpdates $wsd -Debug

使用-debug開關,它將向您顯示REST調用其性能以及得到的答案(以及許多其他信息)。 這是學習不同的Azure REST調用如何工作的好方法。 這適用於任何Azure Powershell cmdlet;)。 顯然(或不太明顯),您可以使用fiddler對Azure Portal進行相同的操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM