Azure CLI ile Azure REST API'sini kullanma
Temsili Durum Aktarımı (REST) API'leri , farklı HTTP işlemleri (veya yöntemleri) kümelerini destekleyen hizmet uç noktalarıdır. Bu HTTP yöntemleri, hizmetinizin kaynakları için farklı eylemler gerçekleştirmenizi sağlar. Komutun az rest
yalnızca mevcut bir Azure CLI komutu kullanılamadığında kullanılması gerekir.
Bu makalede Azure Container Registry kaynaklarını yönetmek için PUT, PATCH, GET, POST ve DELETE HTTP istekleri gösterilmektedir. Azure Container Registry, kapsayıcı görüntülerini ve ilgili yapıtları depolayan Azure kapsayıcı kayıt defterleri oluşturmanıza ve korumanıza olanak tanıyan yönetilen bir kayıt defteri hizmetidir.
Önkoşullar
Azure Cloud Shell'de Bash ortamını kullanın. Daha fazla bilgi için bkz . Azure Cloud Shell'de Bash için hızlı başlangıç.
CLI başvuru komutlarını yerel olarak çalıştırmayı tercih ediyorsanız Azure CLI'yı yükleyin . Windows veya macOS üzerinde çalışıyorsanız Azure CLI’yi bir Docker kapsayıcısında çalıştırmayı değerlendirin. Daha fazla bilgi için bkz . Docker kapsayıcısında Azure CLI'yi çalıştırma.
Yerel yükleme kullanıyorsanız az login komutunu kullanarak Azure CLI ile oturum açın. Kimlik doğrulama işlemini tamamlamak için terminalinizde görüntülenen adımları izleyin. Diğer oturum açma seçenekleri için bkz . Azure CLI ile oturum açma.
İstendiğinde, ilk kullanımda Azure CLI uzantısını yükleyin. Uzantılar hakkında daha fazla bilgi için bkz. Azure CLI ile uzantıları kullanma.
Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Kullanma ipuçları az rest
az rest ile çalışırken bazı yararlı bilgiler aşağıdadır:
- Komut,
az rest
oturum açma kimlik bilgilerini kullanarak otomatik olarak kimlik doğrulaması yapar. - Yetkilendirme üst bilgisi ayarlanmadıysa, üst bilgisini
Authorization: Bearer <token>
ekler; burada<token>
Microsoft Entra Id'den alınır. - Parametre komutun çıkışından
--url
--url
az cloud show --query endpoints
bir uç noktayla başladığında belirtecin hedef kaynağı parametresinden türetilir. Gerekli--url
parametre. - Özel bir kaynak için parametresini
--resource
kullanın. - content-Type üst bilgisi ayarlanmadıysa ve
--body
geçerli bir JSON dizesiyse, content-Type üst bilgisi varsayılan olarak "application/json" olarak ayarlanır. - İstekler için OData biçiminde kullanırken
--uri-parameters
, farklı ortamlarda kaçış$
yaptığınızdan emin olun: içindeBash
,$
olarak\$
ve içindePowerShell
kaçış olarak`$
.$
Azure Container Registry oluşturmak için PUT kullanma
Yeni bir Azure Container Registry oluşturmak için PUT HTTP yöntemini kullanın.
# 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>'}}"
Aşağıda tamamlanmış parametreler içeren bir örnek verilmiştir:
# 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'}}"
Hem Bash hem de PowerShell için JSON çıkışı:
{
"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 kullanarak Azure Container Registry'nizi güncelleştirme
PATCH HTTP isteğini kullanarak Azure Container Registry'nizi güncelleştirin. parametresini --body
güncelleştirmek istediğiniz özelliklerle düzenleyin. Bu örnek, önceki bölümde ayarlanan değişkenleri kullanır ve Azure Container Registry'nin SKU adını ($skuName="Premium") güncelleştirir.
#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şağıdaki JSON sözlüğü çıkışında kısa süre için atlanmış alanlar var:
{
"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"
}
Azure Container Registry'nizi almak için GET kullanma
GET HTTP isteğini kullanarak PATCH isteğindeki güncelleştirme sonuçlarına bakın. Bu örnek, önceki bölümde ayarlanan değişkenleri kullanır.
az rest --method get \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
GET yönteminin çıktısı PUT için gösterilen çıkışla aynıdır.
Azure Container Registry kimlik bilgilerinizi yeniden oluşturmak için POST kullanma
Bu makalede oluşturulan Azure Container Registry için oturum açma kimlik bilgilerinden birini yeniden oluşturmak için POST HTTP isteğini kullanın.
# 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şağıdaki JSON sözlüğü çıkışında kısa süre için atlanmış alanlar var:
{
"passwords": [
{
"name": "password",
"value": "<passwordValue>"
},
{
"name": "password2",
"value": "<passwordValue2>"
}
],
"username": "<containerRegistryName>"
}
İstek tamamlandıktan sonra, belirtilen Azure Container Registry kimlik bilgileriniz mevcut parolanızla (parola2) birlikte yeni bir parolayla yeniden oluşturulur.
Azure Container Registry'nizi silmek için DELETE kullanma
Var olan bir Azure Container Registry'yi silmek için DELETE HTTP isteğini kullanın.
az rest --method delete \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
Microsoft Graph için ek az rest
örnek
Bazen farklı bir senaryonun örneğini görmenize yardımcı olur, bu nedenle Microsoft Graph API'sini kullanan bir örnek aşağıda verilmiştir. Bir Uygulamanın yeniden yönlendirme URI'lerini güncelleştirmek için, bu kodda olduğu gibi Uygulamayı güncelleştir REST API'sini çağırın:
# 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"]}}'
Kaynakları temizleme
Bu makalede oluşturulan kaynakları tamamladığınızda kaynak grubunu silebilirsiniz. Kaynak grubunu sildiğinizde, bu kaynak grubundaki tüm kaynaklar silinir.
az group delete --resource-group <resourceGroupName>
Ayrıca bkz.
- Azure REST API başvurusu
- az resource command