แบบฝึกหัด - อัปเดตและลบสแตกการปรับใช้

เสร็จสมบูรณ์เมื่อ

คุณอยู่ที่ sprint 2 สําหรับการสมัครเงินฝากใหม่ คุณต้องการทดสอบการอัปเดตสแตกการปรับใช้โดยการกําหนดฐานข้อมูล Azure SQL ในไฟล์ Bicep คุณต้องการตรวจสอบว่าสแตกกําลังจัดการทรัพยากรที่กําหนดไว้ใหม่หรือไม่

ในแบบฝึกหัดนี้ คุณอัปเดตไฟล์ Bicep ที่คุณสร้างขึ้นก่อนหน้านี้เพื่อรวมทรัพยากรใหม่ นอกจากนี้คุณยังอัปเดตและลบสแตกการปรับใช้ที่จัดการทรัพยากรของคุณ

  • อัปเดตไฟล์ Bicep เพื่อรวมฐานข้อมูล Azure SQL
  • อัปเดตสแตกการปรับใช้เพื่อปรับใช้ฐานข้อมูลใหม่
  • ตรวจสอบทรัพยากรที่มีการจัดการของสแตกการปรับใช้
  • ลบสแตกการปรับใช้และทรัพยากรที่มีการจัดการ
  • ตรวจสอบการลบสแตกการปรับใช้และทรัพยากรที่มีการจัดการ

อัปเดตไฟล์ Bicep เพื่อรวมฐานข้อมูล Azure SQL

  1. เปิดไฟล์ main.bicep ใน Visual Studio Code

  2. เพิ่มโค้ดที่เน้นไปยังส่วนพารามิเตอร์ของไฟล์ของคุณ:

    // Parameters
    @description('The location for all resources.')
    param location string = 'eastus'
    
    @description('The name of the SQL database.')
    param sqlDatabaseName string = 'sqldb-${uniqueString(resourceGroup().id)}'
    
    @description('The password of the admin user.')
    param sqlServerAdminUserName string
    
    @description('The name of the admin user.')
    @secure()
    param sqlServerAdminPassword string
    
    @description('The name of the SQL server.')
    param sqlServerName string = 'sql-${uniqueString(resourceGroup().id)}'
    
    @description('The name of the web application.')
    param webApplicationName string = 'webapp-${uniqueString(resourceGroup().id)}'
    
    // Variables
    @description('The name of the app service plan.')
    var appServicePlanName = 'plan-deposits'
    
  3. เพิ่มโค้ดต่อไปนี้ลงในด้านล่างของไฟล์:

    // Resource - SQL Server
    resource sqlServer 'Microsoft.Sql/servers@2021-11-01' ={
      name: sqlServerName
      location: location
      properties: {
        administratorLogin: sqlServerAdminUserName
        administratorLoginPassword: sqlServerAdminPassword
      }
    }
    
    // Resource - SQL Database
    resource sqlServerDatabase 'Microsoft.Sql/servers/databases@2021-11-01' = {
      parent: sqlServer
      name: sqlDatabaseName
      location: location
      sku: {
        name: 'Standard'
        tier: 'Standard'
      }
    }
    
  4. บันทึกการเปลี่ยนแปลงไปยังไฟล์

อัปเดตสแตกการปรับใช้

ด้วยการอัปเดตไฟล์ Bicep เราต้องการอัปเดตสแตกการปรับใช้เพื่อให้มีการปรับใช้ฐานข้อมูล Azure SQL ใหม่ไปยังสภาพแวดล้อมในฐานะทรัพยากรที่มีการจัดการ

  1. หากต้องการอัปเดตสแตกการปรับใช้ ให้เรียกใช้คําสั่งต่อไปนี้จากเทอร์มินัลในรหัส Visual Studio

    az stack group create \
        --name stack-deposits \
        --resource-group rg-depositsApplication \
        --template-file ./main.bicep \
        --action-on-unmanage deleteAll \
        --deny-settings-mode none
    
  2. คุณได้รับข้อความที่ระบุว่า สแตกมีอยู่แล้วในการสมัครใช้งานปัจจุบัน ถ้าค่าของการดําเนินการ ในพารามิเตอร์ ที่ไม่มีการจัดการเปลี่ยนแปลง จะมีการเตือนคุณเกี่ยวกับค่าใหม่ กด yตามด้วย 'Enter'

    สกรีนช็อตที่แสดงคําเตือนบรรทัดคําสั่ง Azure CLI ที่มีสแตกการปรับใช้อยู่แล้ว

  3. คุณจะได้รับพร้อมท์ให้ป้อนค่าสําหรับ sqlServerAdminUserName สร้างชื่อสําหรับผู้ดูแลระบบเซิร์ฟเวอร์ SQL ตามด้วย 'Enter'

    สกรีนช็อตที่แสดงบรรทัดคําสั่ง Azure CLI ที่พร้อมท์ให้คุณป้อนชื่อผู้ใช้ผู้ดูแลระบบ SQL Server

  4. คุณจะได้รับพร้อมท์ให้ป้อนค่าสําหรับ sqlServerAdminPassword สร้างรหัสผ่านที่ซับซ้อนสําหรับผู้ดูแลระบบเซิร์ฟเวอร์ SQL ตามด้วย 'Enter'

    สกรีนช็อตที่แสดงบรรทัดคําสั่ง Azure CLI ที่พร้อมท์ให้คุณป้อนรหัสผ่านผู้ดูแลระบบเซิร์ฟเวอร์ SQL

รอให้การดําเนินการอัปเดตเสร็จสมบูรณ์ก่อนที่จะย้ายไปยังงานถัดไป

ด้วยการอัปเดตไฟล์ Bicep เราต้องการอัปเดตสแตกการปรับใช้เพื่อให้มีการปรับใช้ฐานข้อมูล Azure SQL ใหม่ไปยังสภาพแวดล้อมในฐานะทรัพยากรที่มีการจัดการ

  1. หากต้องการอัปเดตสแตกการปรับใช้ ให้เรียกใช้คําสั่งต่อไปนี้จากเทอร์มินัลในรหัส Visual Studio

    Set-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -TemplateFile ./main.bicep `
        -ActionOnUnmanage DeleteAll `
        -DenySettingsMode none
    
  2. คุณจะได้รับพร้อมท์ให้ป้อนค่าสําหรับ sqlServerAdminUserName สร้างชื่อสําหรับผู้ดูแลระบบเซิร์ฟเวอร์ SQL ตามด้วย 'Enter'

    สกรีนช็อตที่แสดงบรรทัดคําสั่ง Azure PowerShell ที่พร้อมท์ให้คุณป้อนชื่อผู้ใช้ที่เป็นผู้ดูแลระบบเซิร์ฟเวอร์ SQL

  3. คุณจะได้รับพร้อมท์ให้ป้อนค่าสําหรับ sqlServerAdminPassword สร้างรหัสผ่านที่ซับซ้อนสําหรับผู้ดูแลระบบเซิร์ฟเวอร์ SQL ตามด้วย 'Enter'

    สกรีนช็อตที่แสดงบรรทัดคําสั่ง Azure PowerShell ที่พร้อมท์ให้คุณป้อนรหัสผ่านผู้ดูแลระบบเซิร์ฟเวอร์ SQL

  4. รอให้การดําเนินการอัปเดตเสร็จสมบูรณ์ก่อนที่จะย้ายไปยังงานถัดไป

ตรวจสอบการอัปเดตไปยังสแตกการปรับใช้และทรัพยากรที่มีการจัดการ

ด้วยการอัปเดตที่เสร็จสมบูรณ์ เราต้องการตรวจสอบว่าสแตกการปรับใช้กําลังจัดการฐานข้อมูล Azure SQL หรือไม่ เมื่อต้องการดูการกําหนดค่าของสแตกการปรับใช้ ให้เรียกใช้คําสั่งต่อไปนี้จากเทอร์มินัลในรหัส Visual Studio

az stack group show \
    --resource-group rg-depositsApplication \
    --name stack-deposits

ผลลัพธ์ควรปรากฏเป็นที่คุ้นเคยกับผลลัพธ์ต่อไปนี้:

{
  "actionOnUnmanage": {
    "managementGroups": "detach",
    "resourceGroups": "detach",
    "resources": "detach"
  },
  "bypassStackOutOfSyncError": null,
  "correlationId": ".",
  "debugSetting": null,
  "deletedResources": [],
  "denySettings": {
    "applyToChildScopes": false,
    "excludedActions": null,
    "excludedPrincipals": null,
    "mode": "none"
  },
  "deploymentId": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deployments/stack-deposits",
  "deploymentScope": null,
  "description": null,
  "detachedResources": [],
  "duration": "PT2M53.2734284S",
  "error": null,
  "failedResources": [],
  "id": "/subscriptions/././rg-depositsApplication/./Microsoft.Resources/deploymentStacks/stack-deposits",
  "location": null,
  "name": "stack-deposits",
  "outputs": null,
  "parameters": {
    "sqlServerAdminPassword": {
      "reference": null,
      "type": "securestring",
      "value": ""
    },
    "sqlServerAdminUserName": {
      "reference": null,
      "type": "string",
      "value": "sqladmin"
    }
  },
  "parametersLink": null,
  "provisioningState": "succeeded",
  "resourceGroup": "rg-depositsApplication",
  "resources": [
    {
      "denyStatus": "none",
      "id": "/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq",
      "resourceGroup": "rg-depositsApplication",
      "status": "managed"
    },
    {
      "denyStatus": "none",
      "id": "/subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq/databases/sqldb-eque2jlrboltq",
      "resourceGroup": "rg-depositsApplication",
      "status": "managed"
    },
    {
      "denyStatus": "none",
      "id": "/subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits",
      "resourceGroup": "rg-depositsApplication",
      "status": "managed"
    },
    {
      "denyStatus": "none",
      "id": "/subscriptions/./resourceGroups/rg-depositsApplication/././sites/webapp-eque2jlrboltq",
      "resourceGroup": "rg-depositsApplication",
      "status": "managed"
    }
  ],
  "systemData": {
    "createdAt": "2024-01-01T00:00:01.000000+00:00",
    "createdBy": "depositsapplication@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2024-01-01T00:00:01.000000+00:00",
    "lastModifiedBy": "depositsapplication@contoso.com",
    "lastModifiedByType": "User"
  },
  "tags": {},
  "template": null,
  "templateLink": null,
  "type": "Microsoft.Resources/deploymentStacks"
}

โปรดสังเกตส่วนทรัพยากรของเอาต์พุต ตอนนี้เราเห็นเซิร์ฟเวอร์ SQL และฐานข้อมูล SQL แสดงเป็นทรัพยากรที่มีการจัดการแล้ว

ด้วยการอัปเดตที่เสร็จสมบูรณ์ เราต้องการตรวจสอบว่าสแตกการปรับใช้กําลังจัดการฐานข้อมูล Azure SQL หรือไม่ เมื่อต้องการดูการกําหนดค่าของสแตกการปรับใช้ ให้เรียกใช้คําสั่งต่อไปนี้จากเทอร์มินัลในรหัส Visual Studio

Get-AzResourceGroupDeploymentStack `
    -ResourceGroupName rg-depositsApplication `
    -Name stack-deposits

ผลลัพธ์ควรปรากฏเป็นที่คุ้นเคยกับผลลัพธ์ต่อไปนี้:

Id                            : /subscriptions/././rg-depositsApplication/././deploymentStacks/stack-deposits
Name                          : stack-deposits
ProvisioningState             : succeeded
resourcesCleanupAction        : detach
resourceGroupsCleanupAction   : detach
managementGroupsCleanupAction : detach
CorrelationId                 : .
DenySettingsMode              : none
CreationTime(UTC)             : 1/01/2024 0:00:01 AM
DeploymentId                  : /subscriptions/././rg-depositsApplication/././deployments/stack-deposits
Resources                     : /subscriptions/././rg-depositsApplication/././serverfarms/plan-deposits
                                /subscriptions/././rg-depositsApplication/././sites/webapp-eque2jlrboltq
                                /subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq
                                /subscriptions/././rg-depositsApplication/././servers/sql-eque2jlrboltq/databases/sqldb-eque2jlrboltq
Parameters                    : 
                                Name                      Type                       Value     
                                ========================  =========================  ==========
                                sqlServerAdminUserName    string                     "sqladmin"
                                sqlServerAdminPassword    securestring               ""

โปรดสังเกตส่วนทรัพยากรของเอาต์พุต ตอนนี้เราเห็นเซิร์ฟเวอร์ SQL และฐานข้อมูล SQL แสดงเป็นทรัพยากรที่มีการจัดการแล้ว

ลบสแตกการปรับใช้

  1. หากต้องการลบสแตกการปรับใช้และทรัพยากรที่มีการจัดการ ให้เรียกใช้คําสั่งต่อไปนี้จากเทอร์มินัลใน Visual Studio Code

    az stack group delete \
        --name stack-deposits \
        --resource-group rg-depositsApplication \
        --action-on-unmanage deleteAll
    
  2. คุณถูกขอให้ยืนยันว่าคุณต้องการลบสแตกและทรัพยากรที่ระบุหรือไม่

    สกรีนช็อตที่แสดงการยืนยันบรรทัดคําสั่งเพื่อลบสแตกการปรับใช้โดยใช้ Azure CLI

  3. หลังจากการดําเนินการลบเสร็จสมบูรณ์ ให้เปิดพอร์ทัล Azure และตรวจสอบว่ามีการลบสแตกการปรับใช้และทรัพยากร

  4. เมื่อต้องลบกลุ่มทรัพยากรที่ใช้ในแบบฝึกหัดเหล่านี้ เรียกใช้คําสั่งต่อไปนี้จากเทอร์มินัลในรหัส Visual Studio

    az group delete \
        -name rg-depositsApplication
    
  5. ระบบจะขอให้คุณยืนยันว่าคุณต้องการลบกลุ่มทรัพยากรหรือไม่ กด 'Y' ตามด้วย 'Enter'

    สกรีนช็อตที่แสดงการยืนยันบรรทัดคําสั่งเพื่อลบกลุ่มทรัพยากรโดยใช้ Azure CLI

  1. หากต้องการลบสแตกการปรับใช้และทรัพยากรที่มีการจัดการ ให้เรียกใช้คําสั่งต่อไปนี้จากเทอร์มินัลใน Visual Studio Code

    Remove-AzResourceGroupDeploymentStack `
        -Name stack-deposits `
        -ResourceGroupName rg-depositsApplication `
        -ActionOnUnmanage DeleteAll
    
  2. คุณถูกขอให้ยืนยันว่าคุณต้องการลบสแตกและทรัพยากรที่ระบุหรือไม่

    สกรีนช็อตที่แสดงการยืนยันบรรทัดคําสั่งเพื่อลบสแตกการปรับใช้โดยใช้ Azure PowerShell

  3. หลังจากการดําเนินการลบเสร็จสมบูรณ์ ให้เปิดพอร์ทัล Azure และตรวจสอบว่ามีการลบสแตกการปรับใช้และทรัพยากร

  4. เมื่อต้องลบกลุ่มทรัพยากรที่ใช้ในแบบฝึกหัดเหล่านี้ เรียกใช้คําสั่งต่อไปนี้จากเทอร์มินัลในรหัส Visual Studio

    Remove-AzResourceGroup `
        -Name rg-depositsApplication
    
  5. ระบบจะขอให้คุณยืนยันว่าคุณต้องการลบกลุ่มทรัพยากรหรือไม่ กด 'Y' ตามด้วย 'Enter'

    สกรีนช็อตที่แสดงการยืนยันบรรทัดคําสั่งเพื่อลบกลุ่มทรัพยากรโดยใช้ Azure PowerShell