我在app服务中部署了文件。我想在文件中更新字符串 stringToReplace 。
<> stringToReplace <>
答案 0 :(得分:0)
似乎我们无法使用powershell 直接。您可以将your idea提供给Azure WebApp团队。
- 不想重新部署
- 想要使用powershell(非手动)
更新文件字符串
根据我的经验,我建议您可以使用Azure Kudu VFS API来获取文件内容并替换所需的字符串,并将其与新内容一起放在Azure上。然后您将无需重新部署azure webapp,只需更新您想要的单个文件..
GET /api/vfs/{path}
Gets a file at path
PUT /api/vfs/{path}
Puts a file at path.
如何在powershell中使用Azure Kudu Rest API,您可以参考此blog。以下是博客中的代码段
获取API授权:
function Get-KuduApiAuthorisationHeaderValue($resourceGroupName, $webAppName){
$publishingCredentials = Get-PublishingProfileCredentials $resourceGroupName $webAppName
return ("Basic {0}" -f [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $publishingCredentials.Properties.PublishingUserName, $publishingCredentials.Properties.PublishingPassword))))
}
上传单个文件
function Upload-FileToWebApp($kuduApiAuthorisationToken, $webAppName, $fileName, $localPath ){
$kuduApiUrl = "https://$webAppName.scm.azurewebsites.net/api/vfs/site/wwwroot/app/resources/$fileName"
$result = Invoke-RestMethod -Uri $kuduApiUrl `
-Headers @{"Authorization"=$kuduApiAuthorisationToken;"If-Match"="*"} `
-Method PUT `
-InFile $localPath `
-ContentType "multipart/form-data"
}