Megosztás a következőn keresztül:


Erőforrás-zárolás létrehozása az Azure Cosmos DB MongoDB-hez készült API-jához az Azure CLI használatával

A KÖVETKEZŐKRE VONATKOZIK: MongoDB

A cikkben szereplő szkript bemutatja, hogy erőforrás-zárolási műveleteket hajt végre egy API-hoz a MongoDB-adatbázishoz és -gyűjteményhez.

Fontos

Erőforrás-zárolások létrehozásához tagsággal kell rendelkeznie az előfizetés tulajdonosi szerepkörében.

Az erőforrás-zárolások nem működnek a MongoDB SDK-val, a MongoShell-lel, az eszközökkel vagy az Azure Portallal csatlakozó felhasználók által végrehajtott módosításokhoz, kivéve, ha az Azure Cosmos DB-fiók először zárolva van az disableKeyBasedMetadataWriteAccess engedélyezett tulajdonsággal. A tulajdonság engedélyezéséről további információt az SDK-k módosításainak megakadályozása című témakörben talál.

If you don't have an Azure subscription, create an Azure free account before you begin.

Előfeltételek

  • 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. If you don't have an Azure subscription, create an Azure free account before you begin.

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

# Resource lock operations for a MongoDB API database and collection

# Subscription owner permissions required for this script

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

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

lockType='CanNotDelete' # CanNotDelete or ReadOnly
databaseParent="databaseAccounts/$account"
collectionParent="databaseAccounts/$account/mongodbDatabases/$database"
databaseLock="$database-Lock"
collectionLock="$collection-Lock"

# Create a delete lock on database
echo "Creating $lockType lock on $database"
az lock create --name $databaseLock \
--resource-group $resourceGroup \
--resource-type Microsoft.DocumentDB/mongodbDatabases --lock-type $lockType --parent $databaseParent --resource $database

# Create a delete lock on collection
echo "Creating $lockType lock on $collection"
az lock create --name $collectionLock --resource-group $resourceGroup --resource-type Microsoft.DocumentDB/collections --lock-type $lockType --parent $collectionParent --resource $collection

# 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 database
echo "Deleting $databaseLock on $database"
lockid=$(az lock show --name $databaseLock --resource-group $resourceGroup --resource-type Microsoft.DocumentDB/mongodbDatabases --resource $database --parent $databaseParent --output tsv --query id)
az lock delete --ids $lockid

# Delete lock on collection
echo "Deleting $collectionLock on $collection"
lockid=$(az lock show --name $collectionLock --resource-group $resourceGroup --resource-type Microsoft.DocumentDB/collections --resource-name $collection --parent $collectionParent --output tsv --query id)
az lock delete --ids $lockid

Clean up resources

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 lock create Létrehoz egy zárolást.
az lock list A zárolási adatok listázása.
az lock show Zárolás tulajdonságainak megjelenítése.
az lock delete Törli a zárolást.

Következő lépések