Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
API Transfer Status Representasional (REST) adalah titik akhir layanan yang mendukung serangkaian operasi HTTP (atau metode) yang berbeda. Metode HTTP ini memungkinkan Anda melakukan tindakan yang berbeda untuk sumber daya layanan Anda.
az rest Perintah hanya boleh digunakan saat perintah Azure CLI yang ada tidak tersedia.
Artikel ini menunjukkan permintaan HTTP PUT, PATCH, GET, POST, dan DELETE untuk mengelola sumber daya Azure Container Registry. Azure Container Registry adalah layanan registri terkelola yang memungkinkan Anda membuat dan memelihara registri kontainer Azure yang menyimpan gambar kontainer dan artefak terkait.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah az login. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Mengautentikasi ke Azure menggunakan Azure CLI.
Saat diminta, instal ekstensi Azure CLI saat pertama kali digunakan. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan dan mengelola ekstensi dengan Azure CLI.
Jalankan az version untuk menemukan versi dan pustaka dependen yang terinstal. Untuk meng-upgrade ke versi terbaru, jalankan az upgrade.
Tips untuk menggunakan az rest
Berikut adalah beberapa informasi bermanfaat saat bekerja dengan az rest:
- Perintah
az restsecara otomatis mengautentikasi menggunakan kredensial yang masuk. - Jika header Otorisasi belum diatur, maka header
Authorization: Bearer <token>akan ditambahkan dan<token>akan diambil dari ID Microsoft Entra. - Sumber daya target dari token akan diambil dari parameter
--urlketika parameter--urldimulai dengan titik akhir dari output perintahaz cloud show --query endpoints. Parameter--urldiperlukan. - Gunakan parameter
--resourceuntuk sumber daya kustom. - Jika header Content-Type tidak diatur dan
--bodymerupakan string JSON yang valid, header Content-Type akan default ke "application/json". - Saat menggunakan
--uri-parametersuntuk permintaan dalam bentuk OData, pastikan untuk menghindari$di lingkungan yang berbeda: diBash, ubah$menjadi\$dan diPowerShell, ubah$menjadi`$.
Menggunakan PUT untuk membuat Azure Container Registry
Gunakan metode PUT HTTP untuk membuat Azure Container Registry baru.
# 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>'}}"
Berikut adalah contoh dengan parameter lengkap:
# 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'}}"
Output JSON untuk Bash dan 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"
}
Menggunakan PATCH untuk memperbarui Azure Container Registry Anda
Perbarui Azure Container Registry Anda dengan menggunakan permintaan HTTP PATCH. Edit parameter --body dengan properti yang ingin Anda perbarui. Contoh ini menggunakan variabel yang ditetapkan di bagian sebelumnya, dan memperbarui nama SKU ($skuName="Premium") dari 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'}}"
Output kamus JSON berikut memiliki bidang yang dihilangkan untuk brevity:
{
"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"
}
Menggunakan GET untuk mengambil Azure Container Registry Anda
Gunakan permintaan HTTP GET lihat hasil pembaruan dari permintaan PATCH. Contoh ini menggunakan variabel yang ditetapkan di bagian sebelumnya.
az rest --method get \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
Output untuk metode GET sama dengan yang ditunjukkan untuk PUT.
Menggunakan POST untuk meregenerasi kredensial Azure Container Registry Anda
Gunakan permintaan HTTP POST untuk meregenerasi salah satu kredensial masuk untuk Azure Container Registry yang dibuat dalam artikel ini.
# 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'}"
Output kamus JSON berikut memiliki bidang yang dihilangkan untuk brevity:
{
"passwords": [
{
"name": "password",
"value": "<passwordValue>"
},
{
"name": "password2",
"value": "<passwordValue2>"
}
],
"username": "<containerRegistryName>"
}
Setelah permintaan selesai, kredensial Azure Container Registry yang Anda tentukan akan diregenerasi dengan kata sandi baru bersama dengan kata sandi yang ada (kata sandi2).
Menggunakan DELETE untuk menghapus Azure Container Registry Anda
Gunakan permintaan HAPUS HTTP untuk menghapus Azure Container Registry yang sudah ada.
az rest --method delete \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
Contoh tambahan az rest untuk Microsoft Graph
Terkadang ini membantu melihat contoh untuk skenario yang berbeda, jadi berikut adalah contoh yang menggunakan Microsoft Graph API. Untuk memperbarui URI pengalihan untuk Aplikasi, panggil REST API aplikasi Pembaruan , seperti dalam kode ini:
# 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"]}}'
Membersihkan sumber daya
Setelah selesai dengan sumber daya yang dibuat dalam artikel ini, Anda dapat menghapus grup sumber daya. Saat Anda menghapus grup sumber daya, semua sumber daya dalam grup sumber daya tersebut akan dihapus.
az group delete --resource-group <resourceGroupName>
Lihat juga
- Referensi API REST Azure
- perintah az resource