Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
REST-API's (Representational State Transfer) zijn service-eindpunten die ondersteuning bieden voor verschillende sets HTTP-bewerkingen (of methoden). Met deze HTTP-methoden kunt u verschillende acties uitvoeren voor de resources van uw service. De az rest opdracht mag alleen worden gebruikt wanneer een bestaande Azure CLI-opdracht niet beschikbaar is.
In dit artikel worden de HTTP-aanvragen PUT, PATCH, GET, POST en DELETE beschreven voor het beheren van Azure Container Registry-resources. Azure Container Registry is een beheerde registerservice waarmee u Azure-containerregisters kunt maken en onderhouden waarin containerinstallatiekopieën en gerelateerde artefacten worden opgeslagen.
Vereiste voorwaarden
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie Aan de slag met Azure Cloud Shell voor meer informatie.
Als je de voorkeur geeft aan het lokaal uitvoeren van CLI-referentiecommando's, installeer dan de Azure CLI. Als je op Windows of macOS werkt, overweeg dan om Azure CLI in een Docker-container te draaien. Voor meer informatie, zie Hoe u de Azure CLI in een Docker-container kunt uitvoeren.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met de opdracht az login. Om het authenticatieproces te voltooien, volgt u de stappen die op uw terminal worden weergegeven. Zie Verifiëren bij Azure met behulp van Azure CLI voor andere aanmeldingsopties.
Wanneer u daarom wordt gevraagd, installeer de Azure CLI-extensie bij het eerste gebruik. Zie Extensies gebruiken en beheren met de Azure CLIvoor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en de afhankelijke bibliotheken te vinden. Voer az upgrade uit om naar de nieuwste versie te upgraden.
Tips voor het gebruik van az rest
Hier volgen enkele nuttige informatie bij het werken met az rest:
- De
az restopdracht wordt automatisch geverifieerd met behulp van de aanmeldingsreferentie. - Als autorisatieheader niet is ingesteld, wordt de header
Authorization: Bearer <token>gekoppeld, waar<token>deze wordt opgehaald uit De Microsoft Entra-id. - De doelresource van het token wordt afgeleid van de
--urlparameter wanneer de--urlparameter begint met een eindpunt uit de uitvoer van deaz cloud show --query endpointsopdracht. De--urlparameter is vereist. - Gebruik de
--resourceparameter voor een aangepaste resource. - Als de header Content-Type niet is ingesteld en
--bodyeen geldige JSON-tekenreeks is, wordt de inhoudstype-header standaard ingesteld op 'application/json'. - Wanneer u
--uri-parametersvoor aanvragen in de vorm van OData gebruikt, moet u ervoor zorgen dat u$in verschillende omgevingen ontsnapt: inBash, escape$als\$en inPowerShell, escape$als`$.
PUT gebruiken om een Azure Container Registry te maken
Gebruik de PUT HTTP-methode om een nieuwe Azure Container Registry te maken.
# Command format example
az rest --method put \
--url https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.ContainerRegistry/registries/<containerRegistryName>?api-version=2023-01-01-preview \
--body "{'location': '<locationName>', 'sku': {'name': '<skuName>'}, 'properties': {'adminUserEnabled': '<propertyValue>'}}"
Hier volgt een voorbeeld met voltooide parameters:
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
subscriptionId="00000000-0000-0000-0000-000000000000"
resourceGroup="msdocs-app-rg$randomIdentifier"
containerRegistryName="msdocscr$randomIdentifier"
locationName="westus"
skuName="Standard"
propertyValue="true"
# Create resource group
az group create --name $resourceGroup --location $locationName --output json
# Invoke request
az rest --method put \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview \
--body "{'location': '$locationName', 'sku': {'name': '$skuName'}, 'properties': {'adminUserEnabled': '$propertyValue'}}"
JSON-uitvoer voor zowel Bash als PowerShell:
{
"id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.ContainerRegistry/registries/<containerRegistryName>",
"location": "<location>",
"name": "<containerRegistryName>",
"properties": {
"adminUserEnabled": true,
"anonymousPullEnabled": false,
"creationDate": "2024-01-03T18:38:36.7089583Z",
"dataEndpointEnabled": false,
"dataEndpointHostNames": [],
"encryption": {
"status": "disabled"
},
"loginServer": "<containerRegistryName>.azurecr.io",
"networkRuleBypassOptions": "AzureServices",
"policies": {
"azureADAuthenticationAsArmPolicy": {
"status": "enabled"
},
"exportPolicy": {
"status": "enabled"
},
"quarantinePolicy": {
"status": "disabled"
},
"retentionPolicy": {
"days": 7,
"lastUpdatedTime": "2024-01-03T19:44:53.9770581+00:00",
"status": "disabled"
},
"softDeletePolicy": {
"lastUpdatedTime": "2024-01-03T19:44:53.9771117+00:00",
"retentionDays": 7,
"status": "disabled"
},
"trustPolicy": {
"status": "disabled",
"type": "Notary"
}
},
"privateEndpointConnections": [],
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"zoneRedundancy": "Disabled"
},
"sku": {
"name": "Standard",
"tier": "Standard"
},
"systemData": {
"createdAt": "2024-01-03T18:38:36.7089583+00:00",
"createdBy": "<username>@microsoft.com",
"createdByType": "User",
"lastModifiedAt": "2024-01-03T19:44:53.684342+00:00",
"lastModifiedBy": "<username>@microsoft.com",
"lastModifiedByType": "User"
},
"tags":{},
"type": "Microsoft.ContainerRegistry/registries"
}
PATCH gebruiken om uw Azure Container Registry bij te werken
Werk uw Azure Container Registry bij met behulp van de PATCH HTTP-aanvraag. Bewerk de --body parameter met de eigenschappen die u wilt bijwerken. In dit voorbeeld worden de variabelen gebruikt die zijn ingesteld in de vorige sectie en wordt de SKU-naam ($skuName="Premium") van Azure Container Registry bijgewerkt.
#Variable Block
$skuName="Premium"
az rest --method patch \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview \
--body "{'location': '$locationName', 'sku': {'name': '$skuName'}, 'properties': {'adminUserEnabled': '$propertyValue'}}"
De volgende JSON-woordenlijstuitvoer bevat velden die zijn weggelaten om kort te zijn:
{
"id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.ContainerRegistry/registries/<containerRegistryName>",
"location": "westus",
"name": "<containerRegistryName>",
"properties": {...},
"sku": {
"name": "Premium",
"tier": "Premium"
},
"systemData": {...},
"type": "Microsoft.ContainerRegistry/registries"
}
GET gebruiken om uw Azure Container Registry op te halen
Gebruik de GET HTTP-aanvraag om de updateresultaten van de PATCH-aanvraag te bekijken. In dit voorbeeld worden de variabelen gebruikt die zijn ingesteld in de vorige sectie.
az rest --method get \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
De uitvoer voor de GET-methode is hetzelfde als de uitvoer voor PUT.
POST gebruiken om uw Azure Container Registry-referenties opnieuw te genereren
Gebruik de POST HTTP-aanvraag om een van de aanmeldingsreferenties opnieuw te genereren voor de Azure Container Registry die in dit artikel is gemaakt.
# Variable block
$passwordValue="password"
az rest --method post \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName/regenerateCredential?api-version=2023-01-01-preview \
--body "{'name': '$passwordValue'}"
De volgende JSON-woordenlijstuitvoer bevat velden die zijn weggelaten om kort te zijn:
{
"passwords": [
{
"name": "password",
"value": "<passwordValue>"
},
{
"name": "password2",
"value": "<passwordValue2>"
}
],
"username": "<containerRegistryName>"
}
Nadat de aanvraag is voltooid, worden uw opgegeven Azure Container Registry-referenties opnieuw gegenereerd met een nieuw wachtwoord, samen met uw bestaande wachtwoord (wachtwoord2).
Delete gebruiken om uw Azure Container Registry te verwijderen
Gebruik de HTTP-aanvraag DELETE om een bestaand Azure Container Registry te verwijderen.
az rest --method delete \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
Aanvullend az rest voorbeeld voor Microsoft Graph
Soms helpt het om een voorbeeld voor een ander scenario te zien, dus hier volgt een voorbeeld waarin de Microsoft Graph API wordt gebruikt. Als u omleidings-URI's voor een toepassing wilt bijwerken, roept u de REST API van de updatetoepassing aan, zoals in deze code:
# Get the application
az rest --method GET \
--uri 'https://graph.microsoft.com/v1.0/applications/b4e4d2ab-e2cb-45d5-a31a-98eb3f364001'
# Update `redirectUris` for `web` property
az rest --method PATCH \
--uri 'https://graph.microsoft.com/v1.0/applications/b4e4d2ab-e2cb-45d5-a31a-98eb3f364001' \
--body '{"web":{"redirectUris":["https://myapp.com"]}}'
De hulpbronnen opschonen
Wanneer u klaar bent met de resources die in dit artikel zijn gemaakt, kunt u de resourcegroep verwijderen. Wanneer u de resourcegroep verwijdert, worden alle resources in die resourcegroep verwijderd.
az group delete --resource-group <resourceGroupName>
Zie ook
- Azure REST API-referentie
- az resource command