إضافة مناطق وتغيير أولوية تجاوز الفشل وتشغيل تجاوز الفشل لحساب Azure Cosmos DB باستخدام Azure CLI

ينطبق على: NoSQL MongoDB كاساندرا العفريت الجدول

يوضح النص في هذه المقالة ثلاث عمليات.

  • إضافة منطقة إلى حساب Azure Cosmos DB موجود.
  • تغيير أولوية تجاوز الفشل الإقليمية (تنطبق على الحسابات التي تستخدم خدمة تجاوز الفشل المدارة)
  • تشغيل تجاوز فشل يدوي من المناطق الأساسية إلى المناطق الثانوية (ينطبق على الحسابات ذات تجاوز الفشل اليدوي)

يستخدم هذا البرنامج النصي واجهة برمجة تطبيقات لحساب NoSQL، ولكن هذه العمليات متطابقة عبر جميع واجهات برمجة تطبيقات قاعدة البيانات في Azure Cosmos DB.

هام

لا يمكن إضافة عمليات المنطقة وإزالتها على حساب Azure Cosmos DB أثناء تغيير خصائص أخرى.

إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

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

  • تتطلب هذه المقالة الإصدار 2.9.1 أو أحدث من CLI Azure. إذا كنت تستخدم Azure Cloud Shell، يتم تثبيت أحدث إصدار بالفعل.

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

إطلاق Azure Cloud Shell

Azure Cloud Shell هو shell تفاعلية مجانية التي يمكنك استخدامها لتشغيل الخطوات في هذه المقالة. يحتوي على أدوات Azure الشائعة المثبتة مسبقًا والمهيئة للاستخدام مع حسابك.

لفتح Cloud Shell، ما عليك سوى تحديد جربه من الزاوية اليمنى العليا من مجموعة التعليمات البرمجية. يمكنك أيضًا تشغيل Cloud Shell في علامة تبويب مستعرض منفصلة بالانتقال إلى https://shell.azure.com.

عند فتح Cloud Shell، تحقق من تحديد Bash لبيئتك. ستستخدم الجلسات اللاحقة Azure CLI في بيئة Bash، حدد نسخ لنسخ كتل التعليمات البرمجية، وألصقها في Cloud Shell، واضغط على Enter لتشغيلها.

تسجيل الدخول إلى Azure

يُصادق Cloud Shell تلقائياً بموجب الحساب الأولي الذي سُجل الدخول به. استخدم البرنامج النصي التالي لتسجيل الدخول باستخدام اشتراك مختلف، واستبدل <Subscription ID> بمعرّف اشتراك Azure الخاص بك. إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.

subscription="<subscriptionId>" # add subscription here

az account set -s $subscription # ...or use 'az login'

لمزيد من المعلومات، راجع تعيين اشتراك نشط أو تسجيل الدخول بشكل تفاعلي

تشغيل البرنامج النصي

# Region replica operations for an Azure Cosmos account

# Note: Azure Comos accounts cannot include updates to regions with changes to other properties in the same operation

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
failoverLocation1="South Central US"
failoverLocation2="North Central US"
resourceGroup="msdocs-cosmosdb-rg-$randomIdentifier"
tag="regions-cosmosdb"
account="msdocs-account-cosmos-$randomIdentifier" #needs to be lower case

# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag

# Create a Cosmos DB account with default values
# Use appropriate values for --kind or --capabilities for other APIs
echo "Creating $account for CosmosDB"
az cosmosdb create --name $account --resource-group $resourceGroup

# Specify region failover locations and priorities
echo "Adding $failoverLocation1 and $failoverLocation2"
az cosmosdb update --name $account --resource-group $resourceGroup --locations regionName="$location" failoverPriority=0 isZoneRedundant=False --locations regionName="$failoverLocation1" failoverPriority=1 isZoneRedundant=False --locations regionName="$failoverLocation2" failoverPriority=2 isZoneRedundant=False

# Make failoverLocation2 the next region to fail over to instead of failoverLocation1 
echo "Switching failover priority"
az cosmosdb failover-priority-change --name $account --resource-group $resourceGroup --failover-policies "$location=0" "$failoverLocation1=2" "$failoverLocation2=1"

# Initiate a manual failover and promote failoverLocation1 as primary write region
echo "Failing over to $failoverLocation1"
az cosmosdb failover-priority-change --name $account --resource-group $resourceGroup --failover-policies "$location=2" "$failoverLocation1=0" "$failoverLocation2=1"

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

استخدم الأمر التالي لإزالة مجموعة الموارد وجميع الموارد المقترنة بها باستخدام الأمر az group delete - إلا إذا وُجدت حاجة مستمرة لهذه الموارد. قد يستغرق إنشاء بعض هذه الموارد بعض الوقت، وكذلك حذفها.

az group delete --name $resourceGroup

نموذج مرجع

يستخدم هذا البرنامج النصي الأوامر التالية. يرتبط كل أمر في الجدول بأمر وثائق معينة.

الأمر الملاحظات
az group create إنشاء مجموعة موارد يتم تخزين كل الموارد فيها.
إنشاء az cosmosdb ينشئ حساب Azure Cosmos DB.
تحديث az cosmosdb يحدّث حساب Azure Cosmos DB (إضافة منطقة أو إزالتها).
az cosmosdb فشل-أولوية-تغيير قم بتحديث أولوية تجاوز الفشل أو تشغيل تجاوز الفشل على حساب Azure Cosmos DB.
حذف مجموعة az يحذف مجموعة الموارد بما في ذلك جميع الموارد المتداخلة.

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

لمزيد من المعلومات حول Azure Cosmos DB CLI، راجع وثائق Azure Cosmos DB CLI.

للحصول على عينات Azure CLI لواجهات برمجة تطبيقات محددة، انظر: