如何通过Azure PowerShell获取PublishUrl?

时间:2014-02-19 21:37:58

标签: azure-web-sites azure-powershell

我的目标是能够传入站点名称和位置并创建新站点,检索相应的凭据/ URL并使用WebDeploy部署我的站点。

我在这里使用Azure Powershell工具:http://www.windowsazure.com/en-us/downloads/

我可以使用

创建一个新网站
New-AzureWebsite -Name site-name -Location "West US"

为了回应这个问题,我获得了有关已创建网站的详细信息,包括发布用户名和密码(PublishingUsername和PublishingPassword),我需要的一条信息是我需要的是发布网址(我可以从中检索) XML格式文件中的Azure管理门户。在XML文件中,它是publishProfile节点上的publishUrl属性。

我的问题是,有没有办法通过PowerShell获取发布URL,或通过REST API,但我更喜欢PowerShell。

这是一个类似的问题,听起来似乎尚不可能,至少在撰写本文时:How can I get the FTP URL for my Azure website via the Management API?

2 个答案:

答案 0 :(得分:6)

我使用这些信息实现了网络发布:

$websiteName = "mywebsite"

#Get the website's propeties.
$website = Get-AzureWebSite -Name $webSiteName
$siteProperties = $website.SiteProperties.Properties

#extract url, username and password
$url = ($siteProperties | ?{ $_.Name -eq "RepositoryURI" }).Value.ToString() + "/MsDeploy.axd"
$userName = ($siteProperties | ?{ $_.Name -eq "PublishingUsername" }).Value
$pw = ($siteProperties | ?{ $_.Name -eq "PublishingPassword" }).Value

#build the command line argument for the deploy.cmd :
$argFormat = ' /y /m:"{0}" -allowUntrusted /u:"{1}" /p:"{2}" /a:Basic "-setParam:name=DeployIisAppPath,value={3}"'
$arguments = [string]::Format($argFormat, $url, $userName, $pw, $webSiteName)

然后我使用此行来调用使用发布包生成的cmd脚本。

答案 1 :(得分:0)

Get-AzureWebSite -Name site-name

将在其输出中返回“Git Repository”网址


Get-AzureWebSite -Name site-name

属性= SelfLink

如果您使用主机名并将api替换为publish,则您拥有发布网址。请注意,发布网址是一种安全连接,因此它通过port 443

连接