Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozhraní REST (Representational State Transfer) API jsou koncové body služby, které podporují různé sady operací HTTP (nebo metod). Tyto metody HTTP umožňují provádět různé akce pro prostředky vaší služby. Tento az rest příkaz by se měl použít jenom v případě, že není dostupný existující příkaz Azure CLI .
Tento článek ukazuje požadavky PUT, PATCH, GET, POST a DELETE HTTP pro správu prostředků služby Azure Container Registry. Azure Container Registry je spravovaná služba registru, která umožňuje vytvářet a udržovat registry kontejnerů Azure, které ukládají image kontejnerů a související artefakty.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Začínáme s Azure Cloud Shellem.
Pokud chcete spouštět referenční příkazy CLI lokálně, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Pro více informací, viz Jak spustit Azure CLI v Docker kontejneru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Chcete-li dokončit proces ověřování, postupujte podle kroků zobrazených ve vašem terminálu. Další možnosti přihlášení najdete v tématu Ověřování v Azure pomocí Azure CLI.
Když budete vyzváni, nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Použití a správa rozšíření pomocí Azure CLI.
Spusťte az version, abyste zjistili verzi a závislé knihovny, které jsou nainstalovány. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Tipy pro použití az rest
Tady je několik užitečných informací při práci s az rest:
- Příkaz
az restse automaticky ověřuje pomocí ověřovacích údajů aktuálně přihlášeného uživatele. - Pokud není autorizační hlavička nastavená, připojí hlavičku
Authorization: Bearer <token>, kde<token>se načte z ID Microsoft Entra. - Cílový prostředek tokenu bude odvozen z parametru
--url, když--urlparametr začíná koncovým bodem z výstupuaz cloud show --query endpointspříkazu. Parametr--urlje povinný. - Použijte
--resourceparametr pro vlastní prostředek. - Pokud hlavička Content-Type není nastavená a
--bodyje platným řetězcem JSON, hlavička Content-Type se ve výchozím nastavení nastaví na application/json. - Při použití
--uri-parameterspro požadavky ve formě OData nezapomeňte upravit$v různých prostředích: vBashupravte$na\$a vPowerShellupravte$na`$.
Použití PUT k vytvoření služby Azure Container Registry
Pomocí metody PUT HTTP vytvořte novou službu Azure Container Registry.
# 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>'}}"
Tady je příklad s dokončenými parametry:
# 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'}}"
Výstup JSON pro Bash i 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"
}
Použití funkce PATCH k aktualizaci služby Azure Container Registry
Aktualizujte službu Azure Container Registry pomocí požadavku PATCH HTTP.
--body Upravte parametr s vlastnostmi, které chcete aktualizovat. Tento příklad používá proměnné nastavené v předchozí části a aktualizuje název skladové položky ($skuName="Premium") služby Azure Container Registry.
#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'}}"
Následující výstup slovníku JSON má pole vynechána kvůli stručnosti.
{
"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"
}
Použijte metodu GET pro načtení vaší služby Azure Container Registry
Pomocí požadavku GET HTTP zobrazte výsledky aktualizace z požadavku PATCH. V tomto příkladu se používají proměnné nastavené v předchozí části.
az rest --method get \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
Výstup metody GET je stejný jako výstup zobrazený pro PUT.
Použití příkazu POST k opětovnému vygenerování přihlašovacích údajů služby Azure Container Registry
Pomocí požadavku POST HTTP znovu vygenerujte jedno z přihlašovacích údajů pro službu Azure Container Registry vytvořenou v tomto článku.
# 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'}"
Následující výstup slovníku JSON má pole vynechána kvůli stručnosti.
{
"passwords": [
{
"name": "password",
"value": "<passwordValue>"
},
{
"name": "password2",
"value": "<passwordValue2>"
}
],
"username": "<containerRegistryName>"
}
Po dokončení požadavku se zadané přihlašovací údaje služby Azure Container Registry znovu vygenerují s novým heslem spolu s vaším stávajícím heslem (heslo2).
Použití delete k odstranění služby Azure Container Registry
Pomocí požadavku DELETE HTTP odstraňte existující službu Azure Container Registry.
az rest --method delete \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
Další az rest příklad pro Microsoft Graph
Někdy to pomůže zobrazit příklad pro jiný scénář, takže tady je příklad, který používá rozhraní Microsoft Graph API. Pokud chcete aktualizovat identifikátory URI přesměrování pro aplikaci, zavolejte REST API pro aktualizaci aplikace, jak je znázorněno v tomto kódu.
# 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"]}}'
Vyčistěte zdroje
Po dokončení práce s prostředky vytvořenými v tomto článku můžete odstranit skupinu prostředků. Když odstraníte skupinu prostředků, odstraní se všechny prostředky v této skupině prostředků.
az group delete --resource-group <resourceGroupName>