Bagikan melalui


Menggunakan Azure CLI untuk operasi penguncian sumber daya di Azure Cosmos DB untuk tabel Tabel

BERLAKU UNTUK: Meja

Skrip dalam artikel ini menunjukkan melakukan operasi penguncian sumber daya untuk tabel API for Table.

Penting

Untuk mengaktifkan penguncian sumber daya, akun Azure Cosmos DB harus mengaktifkan properti disableKeyBasedMetadataWriteAccess. Properti ini mencegah perubahan apa pun pada sumber daya dari klien yang terhubung melalui kunci akun, seperti Azure Cosmos DB Table SDK, Azure Storage Table SDK, atau portal Azure. Untuk informasi selengkapnya, lihat Mencegah perubahan dari SDK.

Prasyarat

  • Anda memerlukan Azure Cosmos DB untuk akun Tabel, database, dan tabel yang dibuat. Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

    Penting

    Untuk membuat atau menghapus kunci sumber daya, Anda harus memiliki peran Pemilik di langganan Azure Anda.

  • Skrip ini memerlukan Azure CLI versi 2.12.1 atau yang lebih baru.

    • Anda dapat menjalankan skrip pada lingkungan Bash di Azure Cloud Shell. Saat Cloud Shell terbuka, pastikan Bash muncul di bidang lingkungan di kiri atas jendela shell. Cloud Shell selalu memiliki versi terbaru Azure CLI.

      Cloud Shell diautentikasi secara otomatis di akun yang Anda gunakan untuk masuk ke portal Azure. Anda dapat menggunakan az account set untuk masuk dengan langganan lain, mengganti <subscriptionId> dengan ID langganan Azure Anda.

      subscription="<subscriptionId>" # add subscription here
      
      az account set -s $subscription # ...or use 'az login'
      
    • Jika mau, Anda dapat menginstal Azure CLI untuk menjalankan skrip secara lokal. Jalankan az version untuk menemukan versi Azure CLI serta pustaka dependen yang diinstal, dan jalankan az upgrade jika Anda perlu meningkatkan. Jika diminta, instal ekstensi Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan menjalankan Azure CLI dalam kontainer Docker.

      Jika Anda menggunakan penginstalan lokal, masuk ke Azure dengan menjalankan az login dan ikuti perintahnya. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.

Sampel skrip

Skrip berikut menggunakan perintah az lock Azure CLI untuk memanipulasi kunci sumber daya pada tabel Azure Cosmos DB for Table Anda. Skrip memerlukan nama resourceGroup, account, dan nama table untuk akun dan tabel Azure Cosmos DB yang Anda buat.

  • az lock create membuat kunci sumber daya CanNotDelete pada tabel.
  • az lock list mencantumkan semua informasi kunci untuk akun Azure Cosmos DB Table Anda.
  • az lock delete menggunakan az lock show untuk mendapatkan id kunci pada tabel Anda, lalu menggunakan properti lockid untuk menghapus kunci.
# Resource lock operations for a Table API table

# Subscription owner permissions required for this script

# Run this script after running
# "https://docs.microsoft.com/azure/cosmos-db/scripts/cli/table/create#sample-script"

# Variable block
# Use values from prerequisite script or from your environment
# resourceGroup="your resource group name"
# account="your account name"
# table="your table name"

lockType='CanNotDelete' # CanNotDelete or ReadOnly
tableParent="databaseAccounts/$account"
tableResourceType="Microsoft.DocumentDB/tables"
tableLock='$table-Lock'

# Create a delete lock on table
echo "Creating $lockType lock on $table"
az lock create --name $tableLock --resource-group $resourceGroup --resource-type $tableResourceType --lock-type $lockType --parent $tableParent --resource $table 

# List all locks on a Cosmos account
echo "Listing locks on $account"
az lock list --resource-group $resourceGroup --resource-name $account --namespace Microsoft.DocumentDB --resource-type databaseAccounts

# Delete lock on table
echo "Deleting $tableLock on $table"
lockid=$(az lock show --name $tableLock --resource-group $resourceGroup --resource-type $tableResourceType --resource $table --parent $tableParent --output tsv --query id)
az lock delete --ids $lockid

Membersihkan sumber daya

Jika Anda tidak lagi membutuhkan sumber daya yang Anda buat, gunakan perintah az group delete untuk menghapus grup sumber daya dan semua sumber daya yang ada di dalamnya. Sumber daya ini mencakup akun dan tabel Azure Cosmos DB. Sumber daya tersebut mungkin membutuhkan waktu beberapa saat untuk dihapus.

az group delete --name $resourceGroup

Langkah berikutnya