Átviteli sebesség (RU/s) műveletek az Azure CLI-vel adatbázishoz vagy gráfhoz a MongoDB-hez készült Azure Cosmos DB-hez
A KÖVETKEZŐKRE VONATKOZIK: MongoDB
A cikkben szereplő szkript létrehoz egy MongoDB-adatbázist megosztott átviteli sebességgel és gyűjteménysel dedikált átviteli sebességgel, majd frissíti mindkettő átviteli sebességét. A szkript ezután a standardról az automatikus skálázási átviteli sebességre migrál, majd beolvassa az automatikus skálázási átviteli sebesség értékét a migrálás után.
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
- Ez a cikk a 2.30-es vagy újabb verziót igényli. A verzió azonosításához futtassa a következőt:
az --version
. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
Példaszkript
Az Azure Cloud Shell elindítása
Az Azure Cloud Shell egy olyan ingyenes interaktív kezelőfelület, amelyet a jelen cikkben található lépések futtatására használhat. A fiókjával való használat érdekében a gyakran használt Azure-eszközök már előre telepítve és konfigurálva vannak rajta.
A Cloud Shell megnyitásához válassza a Kipróbálás lehetőséget egy kódblokk jobb felső sarkában. A Cloud Shellt egy külön böngészőlapon is elindíthatja a https://shell.azure.com cím megnyitásával.
Amikor megnyílik a Cloud Shell, ellenőrizze, hogy a Bash ki van-e jelölve a környezetében. A következő munkamenetek az Azure CLI-t használják Bash-környezetben, a Másolás lehetőséget választva másolja ki a kódblokkokat, illessze be a Cloud Shellbe, és nyomja le az Enter billentyűt a futtatáshoz.
Bejelentkezés az Azure-ba
A Cloud Shell automatikusan hitelesítve lesz a kezdeti fiókkal, amellyel bejelentkezett. A következő szkripttel egy másik előfizetéssel jelentkezhet be, lecserélve <Subscription ID>
az Azure-előfizetés azonosítóját. Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
subscription="<subscriptionId>" # add subscription here
az account set -s $subscription # ...or use 'az login'
További információ: Aktív előfizetés beállítása vagy interaktív bejelentkezés
A szkript futtatása
# Throughput operations for a MongoDB API database and collection
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
resourceGroup="msdocs-cosmosdb-rg-$randomIdentifier"
tag="throughput-mongodb-cosmosdb"
account="msdocs-account-cosmos-$randomIdentifier" #needs to be lower case
database="msdocs-db-mongo-cosmos"
collection="collection1"
originalThroughput=400
updateThroughput=500
# Create a resource group
echo "Creating $resourceGroup in $location..."
az group create --name $resourceGroup --location "$location" --tags $tag
# Create a Cosmos account for MongoDB API
echo "Creating $account"
az cosmosdb create --name $account --resource-group $resourceGroup --kind MongoDB
# Create a MongoDB API database
echo "Creating $database with $originalThroughput"
az cosmosdb mongodb database create --account-name $account --resource-group $resourceGroup --name $database --throughput $originalThroughput
# Define a minimal index policy for the collection
printf '[ {"key": {"keys": ["_id"]}} ]' > idxpolicy-$randomIdentifier.json
# Create a MongoDB API collection
az cosmosdb mongodb collection create --account-name $account --resource-group $resourceGroup --database-name $database --name $collection --shard "user_id" --throughput $originalThroughput --idx @idxpolicy-$randomIdentifier.json
# Clean up temporary index policy file
rm -f "idxpolicy-$randomIdentifier.json"
# Throughput operations for MongoDB API database
# Read the current throughput
# Read the minimum throughput
# Make sure the updated throughput is not less than the minimum
# Update the throughput
# Migrate between standard (manual) and autoscale throughput
# Read the autoscale max throughput
# Retrieve the current provisioned database throughput
az cosmosdb mongodb database throughput show --resource-group $resourceGroup --account-name $account --name $database --query resource.throughput -o tsv
# Retrieve the minimum allowable database throughput
minimumThroughput=$(az cosmosdb mongodb database throughput show --resource-group $resourceGroup --account-name $account --name $database --query resource.minimumThroughput -o tsv)
echo $minimumThroughput
# Make sure the updated throughput is not less than the minimum allowed throughput
if [ $updateThroughput -lt $minimumThroughput ]; then
updateThroughput=$minimumThroughput
fi
# Update database throughput
echo "Updating $database throughput to $updateThroughput"
az cosmosdb mongodb database throughput update --account-name $account --resource-group $resourceGroup --name $database --throughput $updateThroughput
# Migrate the database from standard (manual) throughput to autoscale throughput
az cosmosdb mongodb database throughput migrate --account-name $account --resource-group $resourceGroup --name $database --throughput-type 'autoscale'
# Retrieve current autoscale provisioned max database throughput
az cosmosdb mongodb database throughput show --account-name $account --resource-group $resourceGroup --name $database --query resource.autoscaleSettings.maxThroughput -o tsv
# Throughput operations for MongoDB API collection
# Read the current throughput
# Read the minimum throughput
# Make sure the updated throughput is not less than the minimum
# Update the throughput
# Migrate between standard (manual) and autoscale throughput
# Read the autoscale max throughput
# Retrieve the current provisioned collection throughput
az cosmosdb mongodb collection throughput show --account-name $account --resource-group $resourceGroup --database-name $database --name $collection --query resource.throughput -o tsv
# Retrieve the minimum allowable collection throughput
minimumThroughput=$(az cosmosdb mongodb collection throughput show --account-name $account --resource-group $resourceGroup --database-name $database --name $collection --query resource.minimumThroughput -o tsv)
echo $minimumThroughput
# Make sure the updated throughput is not less than the minimum allowed throughput
if [ $updateThroughput -lt $minimumThroughput ]; then
updateThroughput=$minimumThroughput
fi
# Update collection throughput
echo "Updating collection throughput to $updateThroughput"
az cosmosdb mongodb collection throughput update --account-name $account --resource-group $resourceGroup --database-name $database --name $collection --throughput $updateThroughput
# Migrate the collection from standard (manual) throughput to autoscale throughput
az cosmosdb mongodb collection throughput migrate --account-name $account --resource-group $resourceGroup --database-name $database --name $collection --throughput 'autoscale'
# Retrieve the current autoscale provisioned max collection throughput
az cosmosdb mongodb collection throughput show --account-name $account --resource-group $resourceGroup --database-name $database --name $collection --query resource.autoscaleSettings.maxThroughput -o tsv
Az erőforrások eltávolítása
Az alábbi paranccsal eltávolíthatja az erőforráscsoportot és a hozzá társított összes erőforrást az az csoporttörlés paranccsal – kivéve, ha folyamatosan szüksége van ezekre az erőforrásokra. Ezen erőforrások némelyikének létrehozása és törlése eltarthat egy ideig.
az group delete --name $resourceGroup
Mintahivatkozás
A szkript a következő parancsokat használja. A táblázatban lévő összes parancs a hozzá tartozó dokumentációra hivatkozik.
Parancs | Jegyzetek |
---|---|
az group create | Létrehoz egy erőforráscsoportot, amely az összes erőforrást tárolja. |
az cosmosdb create | Létrehoz egy Azure Cosmos DB-fiókot. |
az cosmosdb mongodb database create | Létrehoz egy Azure Cosmos DB MongoDB API-adatbázist. |
az cosmosdb mongodb collection create | Létrehoz egy Azure Cosmos DB MongoDB API-gyűjteményt. |
az cosmosdb mongodb database throughput update | Azure Cosmos DB MongoDB API-adatbázis kérelemegységeinek frissítése. |
az cosmosdb mongodb collection throughput update | Azure Cosmos DB MongoDB API-gyűjtemény kérelemegységeinek frissítése. |
az cosmosdb mongodb database throughput migrate | Adatbázis átviteli sebességének migrálása. |
az cosmosdb mongodb collection throughput migrate | Gyűjtemény átviteli sebességének migrálása. |
az group delete | Töröl egy erőforráscsoportot az összes beágyazott erőforrással együtt. |
Következő lépések
Az Azure Cosmos DB CLI-vel kapcsolatos további információkért tekintse meg az Azure Cosmos DB CLI dokumentációját.