Quá trình tạo và gán một thư mục ảo (virtual directory) vào ứng dụng Azure Web gồm 3 bước dưới đây:
1. Lấy lại object Microsoft.Azure.Management.WebSites.Models.Site.
2. Tạo object Microsoft.Azure.Management.WebSites.Models.VirtualApplication.
3. Gán object VirtualApplication cho object Site.
Cách tạo thư mục ảo (Virtual Directory) trong ứng dụng Azure Web bằng PowerShell
Có một chút rắc rối với các object .NET trong việc tạo thư mục ảo, vì vậy để khắc phục tình trạng này và tạo một script, bạn thực hiện theo các bước dưới đây:
Đầu tiên, cần đảm bảo rằng bạn đã cài đặt module AzureRm PowerShell mới nhất (Install-Module -Name AzureRm). Sau khi tải module AzureRm PowerShell mới nhất về máy, nhưng gì bạn cần làm tiếp theo là lấy lại ứng dụng Web để gắn thư mục ảo. Bạn có thể sử dụng Get-AzureRmWebApp để làm được điều này bằng cách chỉ định nhóm tài nguyên mà nó có và tên của ứng dụng web.
$webApp = Get-AzureRmWebApp -Name $AzureWebAppName -ResourceGroupName $AzureResourceGroup
Bước tiếp theo là tạo một object VirtualApplication. Object này có 3 thuộc tính mà bạn cần quan tâm, bao gồm: VirtualPath, PhysicalPath và PreloadEnabled (tùy chọn). Thuộc tính VirtualPath và PhysicalPath được hiển thị trong cổng Azure Web nếu bạn xem mục Application Settings (cài đặt ứng dụng) của một ứng dụng Web.
Object VirtualApplication này được tạo ra từ lớp Microsoft.Azure.Management.WebSites.Models.VirtualApplication và thiết lập các thuộc tính được đề cập ở trên.
$virtApp = New-Object Microsoft.Azure.Management.WebSites.Models.VirtualApplication
$virtApp.VirtualPath = $VirtualPath
$virtApp.PhysicalPath = $PhysicalPath
$virtApp.PreloadEnabled = $PreloadEnabled
Sau khi object VirtualApplication được tạo, bước tiếp theo bạn cần làm là gán nó vào ứng dụng Web. Object Microsoft.Azure.Management.WebSites.Models.Site trả về từ Get-AzureRmWebApp chứa một thuộc tính siteconfig.
Project này chứa thuộc tính VirtualApplications có phương thức Add () chấp nhận object Microsoft.Azure.Management.WebSites.Models.VirtualApplication. Bạn có thể sử dụng phương thức Add () này để chuyển object VirtualApplication mà bạn vừa tạo cho ứng dụng Web.
$null = $webApp.siteconfig.VirtualApplications.Add($virtApp)
Như vậy bạn vừa tạo một thư mục ảo và thêm thư mục ảo đó vào ứng dụng Web cục bộ. Bước tiếp theo là cần cam kết thay đổi của bạn với ứng dụng Azure Web bằng cách sử dụng lệnh Set-AzureRmWebApp. Vì biến $webApp đã có thư mục ảo được đính kèm, bạn có thể ghi đè lên file hiện tại bằng object vừa sửa đổi.
Set-AzureRmWebApp -WebApp $webApp
Bây giờ bạn đã có tất cả các mã được xây dựng để gắn một thư mục ảo vào ứng dụng Azure Web, bạn có thể cuộn tất cả các mã này thành một script tham số và không còn phải lo lắng về những mã này nữa. Script này (hoặc chức năng) sẽ nằm trong kho chứa Azure Web.
Trong bài viết trên Taimienphi.vn vừa hướng dẫn bạn cách tạo thư mục ảo (Virtual Directory) trong ứng dụng Azure Web bằng PowerShell.
Có thể thấy, khả năng của PowerShell là rất lớn, không chỉ trên Azure Web, PowerShell còn được tích hợp trên Windows 10 và cho phép người dụng thực hiện rất nhiều nhiệm vụ như sao lưu driver trên Win 10 bằng PowerShell . Nếu có thắc mắc hoặc câu hỏi nào cần giải đáp, bạn có thể để lại ý kiến của mình trong phần bình luận bên dưới bài viết nhé.