استخدام Azure CLI لعمليات تأمين الموارد على Azure Cosmos DB لجداول الجدول

ينطبق على: الجدول

يوضح البرنامج النصي في هذه المقالة تنفيذ عمليات تأمين الموارد لواجهة برمجة التطبيقات لجدول الجدول.

هام

لتمكين تأمين الموارد، يجب تمكين الخاصية disableKeyBasedMetadataWriteAccess لحساب Azure Cosmos DB. تمنع هذه الخاصية أي تغييرات على الموارد من العملاء الذين يتصلون عبر مفاتيح الحساب، مثل Azure Cosmos DB Table SDK أو Azure Storage Table SDK أو مدخل Microsoft Azure. للحصول على مزيد من المعلومات راجع، منع التغييرات من SDKs.

المتطلبات الأساسية

  • تحتاج إلى Azure Cosmos DB لحساب الجدول وقاعدة البيانات والجدول الذي تم إنشاؤه. إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

    هام

    لإنشاء تأمين الموارد أو حذفها، يجب أن يكون لديك دور المالك في اشتراك Azure الخاص بك.

  • يتطلب هذا البرنامج النصي Azure CLI الإصدار 2.12.1 أو أحدث.

    • يمكنك تشغيل البرنامج النصي في بيئة Bash في Azure Cloud Shell. عند فتح Cloud Shell، تأكد من ظهور Bash في حقل البيئة في أعلى يسار نافذة shell. يستخدم Cloud Shell دائمًا أحدث إصدار من Azure CLI.

      تتم مصادقة Cloud Shell تلقائيًا ضمن الحساب الذي استخدمته لتسجيل الدخول إلى مدخل Microsoft Azure. يمكنك استخدام az account set لتسجيل الدخول باستخدام اشتراك مختلف، واستبدال <subscriptionId> بمعرف اشتراك Azure الخاص بك.

      subscription="<subscriptionId>" # add subscription here
      
      az account set -s $subscription # ...or use 'az login'
      
    • إذا أردت، يمكنك تثبيت Azure CLI لتشغيل البرنامج النصي محليا. شغّل إصدار az للبحث عن إصدار Azure CLI، والمكتبات التابعة التي تم تثبيتها وتشغيل ترقية az إذا كنت بحاجة إلى الترقية. إذا طلب منك ذلك، فقم بتثبيت ملحقات Azure CLI. إذا كنت تعمل على Windows أو macOS، ففكر في تشغيل Azure CLI في حاوية Docker.

      إذا كنت تستخدم تثبيتًا محليًا، فقم بتسجيل الدخول إلى Azure عن طريق تشغيل تسجيل الدخول من az واتباع المطالبات. للحصول على خيارات أخرى لتسجيل دخول، راجع تسجيل الدخول باستخدام Azure CLI.

نموذج البرنامج النصي

يستخدم البرنامج النصي التالي أوامر Azure CLI az lock لمعالجة تأمين الموارد على جدول Azure Cosmos DB للجدول. يحتاج البرنامج النصي إلى اسم resourceGroup، وaccount واسم table لحساب Azure Cosmos DB والجدول الذي أنشأته.

  • ينشئ az lock create تأمين CanNotDelete مورد على الجدول.
  • تسرد قائمة az lock جميع معلومات التأمين لحساب جدول Azure Cosmos DB.
  • يستخدم az lock deleteaz lock show للحصول على id التأمين على الجدول الخاص بك، ثم يستخدم الخاصية lockid لحذف التأمين.
# 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

تنظيف الموارد

إذا لم تكن بحاجة إلى الموارد التي قمت بإنشائها، فاستخدم الأمر az group delete لحذف مجموعة الموارد وجميع الموارد التي تحتوي عليها. تتضمن هذه الموارد حساب وجدول Azure Cosmos DB. قد تستغرق الموارد بعض الوقت لحذفها.

az group delete --name $resourceGroup

الخطوات التالية