Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APIs REST (Transferência de Estado Representacional) são pontos de extremidade de serviço que dão suporte a diferentes conjuntos de operações HTTP (ou métodos). Esses métodos HTTP permitem que você execute ações diferentes para os recursos do serviço. O az rest
comando só deve ser usado quando um comando existente da CLI do Azure não estiver disponível.
Este artigo demonstra as solicitações PUT, PATCH, GET, POST e DELETE HTTP para gerenciar recursos do Registro de Contêiner do Azure. O Registro de Contêiner do Azure é um serviço de registro gerenciado que permite criar e manter registros de contêiner do Azure que armazenam imagens de contêiner e artefatos relacionados.
Pré-requisitos
Utilize o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Introdução ao Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Se você estiver executando no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se você estiver usando uma instalação local, entre na CLI do Azure usando o comando az login . Para concluir o processo de autenticação, siga as etapas exibidas em seu terminal. Para obter outras opções de entrada, consulte Autenticar no Azure usando a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar e gerenciar extensões com a CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para atualizar para a versão mais recente, execute az upgrade.
Dicas para usar az rest
Aqui estão algumas informações úteis ao trabalhar com az rest:
- O
az rest
comando é autenticado automaticamente usando a credencial conectada. - Se o cabeçalho de Autorização não estiver definido, ele anexa o cabeçalho
Authorization: Bearer <token>
, onde<token>
é recuperado da Identidade do Microsoft Entra. - O recurso de destino do token será derivado do parâmetro
--url
quando o parâmetro--url
começar com um ponto de extremidade da saída do comandoaz cloud show --query endpoints
. O parâmetro--url
é necessário. - Use o
--resource
parâmetro para um recurso personalizado. - Se o cabeçalho Content-Type não estiver definido e
--body
for uma cadeia de caracteres JSON válida, o cabeçalho Content-Type assumirá o valor padrão "application/json". - Ao usar
--uri-parameters
para solicitações na forma de OData, certifique-se de escapar$
em ambientes diferentes: emBash
, escape$
como\$
, e emPowerShell
, escape$
como`$
.
Usar PUT para criar um Registro de Contêiner do Azure
Use o método PUT HTTP para criar um novo Registro de Contêiner do Azure.
# 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>'}}"
Aqui está um exemplo com parâmetros concluídos:
# 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'}}"
Saída JSON para Bash e 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"
}
Usar PATCH para atualizar seu Registro de Contêiner do Azure
Atualize o Registro de Contêiner do Azure usando a solicitação HTTP patch. Edite o --body
parâmetro com as propriedades que você deseja atualizar. Este exemplo usa as variáveis definidas na seção anterior e atualiza o nome da SKU ($skuName="Premium") do Registro de Contêiner do Azure.
#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'}}"
A seguinte saída de dicionário JSON tem campos omitidos para brevidade:
{
"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"
}
Usar GET para recuperar seu Registro de Contêiner do Azure
Use a solicitação GET HTTP para ver os resultados da atualização da solicitação PATCH. Este exemplo usa as variáveis definidas na seção anterior.
az rest --method get \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
A saída do método GET é a mesma mostrada para PUT.
Usar POST para regenerar suas credenciais do Registro de Contêiner do Azure
Use a solicitação POST HTTP para regenerar uma das credenciais de logon para o Registro de Contêiner do Azure criado neste artigo.
# 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'}"
A seguinte saída de dicionário JSON tem campos omitidos para brevidade:
{
"passwords": [
{
"name": "password",
"value": "<passwordValue>"
},
{
"name": "password2",
"value": "<passwordValue2>"
}
],
"username": "<containerRegistryName>"
}
Após a conclusão da solicitação, as credenciais especificadas do Registro de Contêiner do Azure serão regeneradas com uma nova senha junto com sua senha existente (senha2).
Usar DELETE para excluir seu Registro de Contêiner do Azure
Use a solicitação DELETE HTTP para excluir um Registro de Contêiner do Azure existente.
az rest --method delete \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
Exemplo adicional az rest
para o Microsoft Graph
Às vezes, ajuda a ver um exemplo para um cenário diferente, portanto, aqui está um exemplo que usa a API do Microsoft Graph. Para atualizar URIs de redirecionamento para um aplicativo, chame a API REST do aplicativo Update , como neste código:
# 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"]}}'
Limpar os recursos
Quando terminar de usar os recursos criados neste artigo, você poderá excluir o grupo de recursos. Quando você exclui o grupo de recursos, todos os recursos desse grupo de recursos são excluídos.
az group delete --resource-group <resourceGroupName>