Az Azure CLI használata erőforrás-zárolási műveletekhez az Azure Cosmos DB for Table táblákon
A KÖVETKEZŐKRE VONATKOZIK: Asztal
A cikkben szereplő szkript bemutatja, hogy erőforrás-zárolási műveleteket hajt végre egy API-hoz a Table táblához.
Fontos
Az erőforrás-zárolás engedélyezéséhez az Azure Cosmos DB-fióknak engedélyeznie kell a disableKeyBasedMetadataWriteAccess
tulajdonságot. Ez a tulajdonság megakadályozza a fiókkulcsokon keresztül csatlakozó ügyfelek , például az Azure Cosmos DB Table SDK, az Azure Storage Table SDK vagy az Azure Portal erőforrásainak módosítását.
Előfeltételek
Létre kell hoznia egy Azure Cosmos DB-t táblafiókhoz, adatbázishoz és táblához. Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Fontos
Erőforrás-zárolások létrehozásához vagy törléséhez tulajdonosi szerepkörre van szükség az Azure-előfizetésben.
Ehhez a szkripthez az Azure CLI 2.12.1-es vagy újabb verziója szükséges.
A szkriptet a Bash-környezetben futtathatja az Azure Cloud Shellben. Amikor megnyílik a Cloud Shell, győződjön meg arról, hogy a Bash megjelenik a rendszerhéj ablakának bal felső sarkában lévő környezeti mezőben. A Cloud Shell mindig az Azure CLI legújabb verzióját használja.
A Cloud Shell automatikusan hitelesítve lesz az Azure Portalra való bejelentkezéshez használt fiókkal. Az az account set használatával másik előfizetéssel jelentkezhet be, lecserélve
<subscriptionId>
az Azure-előfizetés azonosítóját.subscription="<subscriptionId>" # add subscription here az account set -s $subscription # ...or use 'az login'
Ha szeretné, telepítheti az Azure CLI-t a szkript helyi futtatásához. Futtassa az az verziót a telepített Azure CLI-verzió és függő kódtárak megkereséséhez, és ha frissítenie kell, futtassa az az frissítést . Ha a rendszer kéri, telepítse az Azure CLI-bővítményeket. Ha Windows vagy macOS rendszert futtat, fontolja meg az Azure CLI docker-tárolóban való futtatását.
Ha helyi telepítést használ, jelentkezzen be az Azure-ba az login futtatásával és az utasításokat követve. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Példaszkript
Az alábbi szkript az Azure CLI az lock parancsaival manipulálja az Azure Cosmos DB for Table táblában lévő erőforrás-zárolásokat. A szkriptnek szüksége van a resourceGroup
account
létrehozott Azure Cosmos DB-fiók és -tábla nevére és nevéretable
.
- az lock create létrehoz egy erőforrás-zárolást
CanNotDelete
a táblán. - az lock list list listázza az Azure Cosmos DB Table-fiók összes zárolási információját.
- az lock delete az lock show használatával lekéri a
id
zárolást a táblán, majd alockid
tulajdonság használatával törli a zárolást.
# 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 erőforrások eltávolítása
Ha már nincs szüksége a létrehozott erőforrásokra, az az group delete paranccsal törölje az erőforráscsoportot és az összes benne lévő erőforrást. Ezek az erőforrások közé tartozik az Azure Cosmos DB-fiók és a tábla. Az erőforrások törlése eltarthat egy ideig.
az group delete --name $resourceGroup