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


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: Táblázat

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. További információ: Az SDK-k módosításainak megakadályozása.

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 resourceGroupaccount 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 a lockid 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

Következő lépések