Az Azure REST API használata az Azure CLI-vel
A reprezentációs állapotátviteli (REST) API-k olyan szolgáltatásvégpontok, amelyek különböző HTTP-műveleteket (vagy metódusokat) támogatnak. Ezek a HTTP-metódusok lehetővé teszik a szolgáltatás erőforrásainak különböző műveleteit. A az rest
parancsot csak akkor szabad használni, ha egy meglévő Azure CLI-parancs nem érhető el.
Ez a cikk az Azure Container Registry-erőforrások kezeléséhez szükséges PUT, PATCH, GET, POST és DELETE HTTP-kéréseket mutatja be. Az Azure Container Registry egy felügyelt beállításjegyzék-szolgáltatás, amely lehetővé teszi olyan Azure-tárolóregisztrációs adatbázisok létrehozását és karbantartását, amelyek tárolólemezképeket és kapcsolódó összetevőket tárolnak.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
Tippek a használathoz az rest
Íme néhány hasznos információ az az rest használatakor:
- A
az rest
parancs automatikusan hitelesíti a bejelentkezett hitelesítő adatokat. - Ha az Engedélyezési fejléc nincs beállítva, csatolja a fejlécet
Authorization: Bearer <token>
, ahol<token>
a rendszer lekéri a Microsoft Entra-azonosítót. - A jogkivonat célerőforrása a
--url
paraméterből lesz származtatva, amikor a--url
paraméter a parancs kimenetébőlaz cloud show --query endpoints
származó végponttal kezdődik. A--url
szükséges paraméter. - Használja a
--resource
paramétert egy egyéni erőforráshoz. - Ha a Tartalomtípus fejléc nincs beállítva, és
--body
érvényes JSON-sztring, a Tartalomtípus fejléc alapértelmezés szerint "application/json" lesz. - Ha OData formátumú kérelmeket használ
--uri-parameters
, győződjön meg arról, hogy különböző környezetekben menekül$
: aBash
, az as\$
$
és a in, a escape as és inPowerShell
, a escape$
as`$
.
Azure Container Registry létrehozása a PUT használatával
A PUT HTTP metódussal hozzon létre egy új Azure Container Registryt.
# 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>'}}"
Íme egy példa a befejezett paraméterekkel:
# 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'}}"
JSON-kimenet Bash és PowerShell esetén is:
{
"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"
}
Az Azure Container Registry frissítése a PATCH használatával
Frissítse az Azure Container Registryt a PATCH HTTP-kéréssel. Szerkessze a --body
paramétert a frissíteni kívánt tulajdonságokkal. Ez a példa az előző szakaszban beállított változókat használja, és frissíti az Azure Container Registry termékváltozatának nevét ($skuName="Premium").
#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 következő JSON-szótárkimenetben a rövidség kedvéért kihagyott mezők szerepelnek:
{
"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"
}
Az Azure Container Registry lekérése a GET használatával
A GET HTTP-kéréssel megtekintheti a PATCH-kérelem frissítési eredményeit. Ez a példa az előző szakaszban beállított változókat használja.
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 GET metódus kimenete megegyezik a PUT metódus kimenetével.
Az Azure Container Registry hitelesítő adatainak újragenerálása a POST használatával
A POST HTTP-kéréssel újjáépítheti a cikkben létrehozott Azure Container Registry bejelentkezési hitelesítő adatainak egyikét.
# 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 következő JSON-szótárkimenetben a rövidség kedvéért kihagyott mezők szerepelnek:
{
"passwords": [
{
"name": "password",
"value": "<passwordValue>"
},
{
"name": "password2",
"value": "<passwordValue2>"
}
],
"username": "<containerRegistryName>"
}
A kérés befejezése után a megadott Azure Container Registry-hitelesítő adatok új jelszóval és a meglévő jelszóval (password2) lesznek újra létrehozva.
Az Azure Container Registry törlése a DELETE használatával
A DELETE HTTP-kéréssel törölhet egy meglévő Azure Container Registryt.
az rest --method delete \
--url https://management.azure.com/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.ContainerRegistry/registries/$containerRegistryName?api-version=2023-01-01-preview
További az rest
példa a Microsoft Graphra
Néha segít egy másik forgatókönyv példájának megtekintésében, ezért íme egy példa, amely a Microsoft Graph API-t használja. Egy alkalmazás átirányítási URI-jainak frissítéséhez hívja meg az Update application REST API-t, ahogyan az ebben a kódban látható:
# 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"]}}'
Az erőforrások eltávolítása
Ha végzett a cikkben létrehozott erőforrásokkal, törölheti az erőforráscsoportot. Az erőforráscsoport törlésekor az adott erőforráscsoport összes erőforrása törlődik.
az group delete --resource-group <resourceGroupName>
Lásd még
- Azure REST API-referencia
- az resource command