Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Invoke-AzRestMethod je rutina Azure PowerShell, která byla zavedena v modulu Az PowerShell verze 4.4.0. Umožňuje provádět vlastní požadavky HTTP na koncový bod Azure Resource Manager (ARM) pomocí kontextu Az.
Tato rutina je užitečná, když chcete spravovat služby Azure pro funkce, které ještě nejsou dostupné v modulu Az PowerShell.
Jak používat Invoke-AzRestMethod
Jako příklad můžete povolit přístup k Azure Container Registry (ACR) pouze pro konkrétní sítě nebo zakázat veřejný přístup. Od modulu Az PowerShell verze 4.5.0 tato funkce ještě není dostupná v modulu Az.ContainerRegistry PowerShellu. Lze jej však spravovat v přechodném období s Invoke-AzRestMethod.
Použití Invoke-AzRestMethod s operacemi GET
Následující příklad ukazuje použití rutiny Invoke-AzRestMethod s operací GET:
$getParams = @{
ResourceGroupName = 'myresourcegroup'
ResourceProviderName = 'Microsoft.ContainerRegistry'
ResourceType = 'registries'
Name = 'myacr'
ApiVersion = '2019-12-01-preview'
Method = 'GET'
}
Invoke-AzRestMethod @getParams
Pro maximální flexibilitu je většina parametrů Invoke-AzRestMethod volitelná.
Pokud ale spravujete prostředky v rámci skupiny prostředků, budete muset zadat úplné ID prostředku nebo parametry, jako je skupina prostředků, poskytovatel prostředků a typ prostředku.
Parametry ResourceType a Name můžou při cílení na prostředky, které vyžadují více než jeden název, přijmout více hodnot. Pokud například chcete manipulovat s uloženým vyhledáváním v pracovním prostoru Log Analytics, parametry vypadají jako v následujícím příkladu: -ResourceType @('workspaces', 'savedsearches') -Name @('my-la', 'my-search').
Pomocí mapování na základě pozice v poli rutina vytvoří následující prostředek: Id:'/workspaces/my-la/savedsearches/my-search'.
Tento APIVersion parametr umožňuje použít konkrétní verzi rozhraní API, včetně verzí Preview. Podporované verze rozhraní API pro poskytovatele prostředků Azure najdete v úložišti azure-rest-api-specs GitHub.
Definici verze rozhraní API služby 2019-12-01-preview ACR najdete v následujícím umístění: azure-rest-api-specs/specification/containerregistry/resource-manager/Microsoft.ContainerRegistry/preview/.
Použití metody Invoke-AzRestMethod s operacemi PATCH
Pomocí rutiny myacr můžete zakázat veřejný přístup k existující službě ACR pojmenované myresourcegroup ve Invoke-AzRestMethod skupině prostředků.
Pokud chcete zakázat přístup k veřejné síti, musíte provést volání PATCH do rozhraní API, které změní hodnotu parametru publicNetwokAccess , jak je znázorněno v následujícím příkladu:
$patchParams = @{
ResourceGroupName = 'myresourcegroup'
Name = 'myacr'
ResourceProviderName = 'Microsoft.ContainerRegistry'
ResourceType = 'registries'
ApiVersion = '2019-12-01-preview'
Payload = '{ "properties": {
"publicNetworkAccess": "Disabled"
} }'
Method = 'PATCH'
}
Invoke-AzRestMethod @patchParams
Vlastnost Payload je řetězec JSON, který zobrazuje cestu k vlastnosti, kterou chcete upravit.
Všechny parametry pro toto rozhraní API jsou popsány v souboru rest-api-spec přidruženém k tomuto rozhraní API.
Konkrétní definici parametru publicNetworkAccess najdete v souboru JSON container registru pro verzi 2019-12-01-preview API.
Pokud chcete povolit přístup k registru jenom z konkrétní IP adresy, je potřeba datovou část upravit, jak je znázorněno v následujícím příkladu:
$specificIpParams = @{
ResourceGroupName = 'myresourcegroup'
Name = 'myacr'
ResourceProviderName = 'Microsoft.ContainerRegistry'
ResourceType = 'registries'
ApiVersion = '2019-12-01-preview'
Payload = '{ "properties": {
"networkRuleSet": {
"defaultAction": "Deny",
"ipRules": [ {
"action": "Allow",
"value": "24.22.123.123"
} ]
}
} }'
Method = 'PATCH'
}
Invoke-AzRestMethod @specificIpParams
Porovnání s get-AzResource, New-AzResource a Remove-AzResource
Rutiny *-AzResource umožňují přizpůsobit volání rozhraní REST API Azure zadáním typu prostředku, verze rozhraní API a vlastností, které se mají aktualizovat. Vlastnosti musí být nejprve vytvořeny jako PSObject. Tento proces přidává další úroveň složitosti a může se stát komplikovaným.
Invoke-AzRestMethod nabízí způsob správy Azure prostředků. Jak je znázorněno v předchozím příkladu, můžete vytvořit řetězec JSON a použít ho k přizpůsobení volání rozhraní REST API bez nutnosti předem vytvořit .PSObjects
Pokud už znáte *-AzResource aplety, můžete je dál používat. Nemáme v úmyslu je přestat podporovat. K Invoke-AzRestMethod sadě nástrojů jsme přidali nový příkaz cmdlet.
Viz taky
Azure PowerShell