Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Interfejsy API usługi Representational State Transfer (REST) to punkty końcowe usługi, które obsługują różne zestawy operacji HTTP (lub metod). Te metody HTTP umożliwiają wykonywanie różnych akcji dla zasobów usługi. Polecenie az rest
powinno być używane tylko wtedy, gdy istniejące polecenie interfejsu wiersza polecenia platformy Azure nie jest dostępne.
W tym artykule przedstawiono żądania HTTP PUT, PATCH, GET, POST i DELETE w celu zarządzania zasobami usługi Azure Container Registry. Usługa Azure Container Registry to zarządzana usługa rejestru, która umożliwia tworzenie i konserwację rejestrów kontenerów platformy Azure, które przechowują obrazy kontenerów i powiązane artefakty.
Wymagania wstępne
Użyj środowiska Bash w Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Get started with Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj Azure CLI. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie Azure CLI w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić Azure CLI w kontenerze Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do Azure CLI za pomocą polecenia az login. Aby zakończyć proces uwierzytelniania, wykonaj kroki wyświetlane na Twoim terminalu. Aby uzyskać inne opcje logowania, zobacz Uwierzytelnianie na platformie Azure przy użyciu interfejsu wiersza polecenia platformy Azure.
Gdy zostaniesz o to poproszony/a, zainstaluj rozszerzenie Azure CLI przy pierwszym użyciu. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Używanie rozszerzeń i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure.
Uruchom az version, aby sprawdzić zainstalowaną wersję i biblioteki zależne. Aby zaktualizować do najnowszej wersji, uruchom az upgrade.
Porady dotyczące używania az rest
Oto kilka przydatnych informacji podczas pracy z poleceniem az rest:
- Polecenie
az rest
automatycznie uwierzytelnia się przy użyciu poświadczeń zalogowanych. - Jeśli nagłówek autoryzacji nie jest ustawiony, dołącza nagłówek
Authorization: Bearer <token>
, gdzie<token>
jest pobierany z identyfikatora Entra firmy Microsoft. - Zasób docelowy tokenu będzie wywodzić się z parametru
--url
, gdy parametr--url
rozpoczyna się od punktu końcowego z wyników poleceniaaz cloud show --query endpoints
. Wymagany--url
parametr. - Użyj parametru
--resource
dla zasobu niestandardowego. - Jeśli nagłówek Content-Type nie jest ustawiony i
--body
jest prawidłowym ciągiem JSON, nagłówek Content-Type będzie domyślnie "application/json". - W przypadku używania
--uri-parameters
dla żądań w postaci OData, upewnij się, że w różnych środowiskach stosujesz sekwencje ucieczkowe: w$
uciekaj znakiBash
jako$
, a w elemencie\$
uciekaj jakoPowerShell
$
.
Tworzenie usługi Azure Container Registry przy użyciu funkcji PUT
Użyj metody PUT HTTP, aby utworzyć nową usługę 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>'}}"
Oto przykład z ukończonymi parametrami:
# 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'}}"
Dane wyjściowe JSON dla 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"
}
Użyj PATCH, aby zaktualizować Azure Container Registry
Zaktualizuj usługę Azure Container Registry przy użyciu żądania HTTP PATCH. Edytuj parametr --body
za pomocą właściwości, które chcesz zaktualizować. W tym przykładzie użyto zmiennych ustawionych w poprzedniej sekcji i zaktualizowano nazwę jednostki SKU ($skuName="Premium") usługi 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'}}"
Następujące dane wyjściowe słownika JSON zawierają pola pominięte dla zwięzłości:
{
"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"
}
Pobieranie usługi Azure Container Registry przy użyciu polecenia GET
Użyj żądania HTTP GET, aby wyświetlić wyniki aktualizacji z żądania PATCH. W tym przykładzie użyto zmiennych ustawionych w poprzedniej sekcji.
az rest --method get \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
Dane wyjściowe metody GET są takie same jak w przypadku metody PUT.
Ponowne generowanie poświadczeń usługi Azure Container Registry przy użyciu funkcji POST
Użyj żądania HTTP POST, aby ponownie wygenerować jedno z poświadczeń logowania dla usługi Azure Container Registry utworzonej w tym artykule.
# 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'}"
Następujące dane wyjściowe słownika JSON zawierają pola pominięte dla zwięzłości:
{
"passwords": [
{
"name": "password",
"value": "<passwordValue>"
},
{
"name": "password2",
"value": "<passwordValue2>"
}
],
"username": "<containerRegistryName>"
}
Po zakończeniu żądania określone poświadczenia usługi Azure Container Registry zostaną ponownie wygenerowane przy użyciu nowego hasła wraz z istniejącym hasłem (hasło2).
Usuwanie usługi Azure Container Registry przy użyciu funkcji DELETE
Użyj żądania HTTP DELETE, aby usunąć istniejącą usługę 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
Dodatkowy az rest
przykład dla programu Microsoft Graph
Czasami pomaga to zobaczyć przykład dla innego scenariusza, więc oto przykład, który korzysta z interfejsu API programu Microsoft Graph. Aby zaktualizować identyfikatory URI przekierowania dla aplikacji, wywołaj interfejs API REST Aktualizuj aplikację, zgodnie z poniższym kodem.
# 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"]}}'
Uprzątnij zasoby
Po zakończeniu pracy z zasobami utworzonymi w tym artykule możesz usunąć grupę zasobów. Po usunięciu grupy zasobów wszystkie zasoby w tej grupie zasobów zostaną usunięte.
az group delete --resource-group <resourceGroupName>