Omówienie dołączania zasobów niestandardowych dostawców zasobów platformy Azure
Dołączanie zasobów niestandardowych dostawców zasobów platformy Azure to model rozszerzalności dla typów zasobów platformy Azure. Umożliwia ona stosowanie operacji lub zarządzania w istniejących zasobach platformy Azure na dużą skalę. Aby uzyskać więcej informacji, zobacz How Azure Custom Resource Providers can extend Azure (Jak dostawcy zasobów niestandardowych platformy Azure mogą rozszerzać platformę Azure). W tym artykule opisano:
- Co może zrobić dołączanie zasobów.
- Podstawy dołączania zasobów i sposób ich używania.
- Gdzie można znaleźć przewodniki i przykłady kodu, aby rozpocząć pracę.
Ważne
Dostawcy zasobów niestandardowych są obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
Co może zrobić dołączanie zasobów?
Podobnie jak w przypadku niestandardowych zasobów dostawcy zasobów platformy Azure, dołączanie zasobów definiuje kontrakt, który będzie serwerem proxy "dołączania" żądań do punktu końcowego. W przeciwieństwie do zasobów niestandardowych dołączanie zasobów nie tworzy nowego typu zasobu. Zamiast tego umożliwia rozszerzenie istniejących typów zasobów. Dołączanie zasobów działa z Azure Policy, dzięki czemu zarządzanie i konfiguracja zasobów można wykonywać na dużą skalę. Niektóre przykłady przepływów pracy dołączania zasobów:
- Instalowanie rozszerzeń maszyn wirtualnych i zarządzanie nimi.
- Przekazywanie i konfigurowanie ustawień domyślnych na kontach usługi Azure Storage.
- Włącz ustawienia diagnostyczne punktu odniesienia na dużą skalę.
Podstawy dołączania zasobów
Dołączanie zasobów można skonfigurować za pomocą niestandardowych dostawców zasobów platformy Azure przy użyciu typów zasobów Microsoft.CustomProviders/resourceProviders i Microsoft.CustomProviders/associations. Aby włączyć dołączanie zasobów dla niestandardowego dostawcy zasobów, podczas procesu konfiguracji utwórz zasób o nazwie "associations" z elementem routingType zawierającym wartość "Extension". Microsoft.CustomProviders/associations i Microsoft.CustomProviders/resourceProviders nie muszą należeć do tej samej grupy zasobów.
Oto przykładowy niestandardowy dostawca zasobów platformy Azure:
{
"properties": {
"resourceTypes": [
{
"name": "associations",
"routingType": "Proxy,Cache,Extension",
"endpoint": "https://microsoft.com/"
}
]
},
"location": "eastus"
}
Właściwość | Wymagane? | Opis |
---|---|---|
name | Tak | Nazwa definicji punktu końcowego. W przypadku dołączania zasobów nazwa musi być "skojarzenia". |
routingType | Tak | Określa typ kontraktu z punktem końcowym. W przypadku dołączania zasobów prawidłowe typy routingu to "Proxy,Cache,Extension" i "Webhook,Cache,Extension". |
endpoint | Tak | Punkt końcowy do kierowania żądań do. Spowoduje to obsługę odpowiedzi i wszelkich skutków ubocznych żądania. |
Po utworzeniu niestandardowego dostawcy zasobów z typem zasobu skojarzeń można wybrać element docelowy przy użyciu atrybutów Microsoft.CustomProviders/associations. Microsoft.CustomProviders/associations to zasób rozszerzenia, który może rozszerzyć dowolny inny zasób platformy Azure. Po utworzeniu wystąpienia obiektów Microsoft.CustomProviders/associations zostanie utworzona właściwość targetResourceId, która powinna być prawidłowym identyfikatorem zasobu Microsoft.CustomProviders/resourceProviders lub Microsoft.Solutions/applications. W takich przypadkach żądanie zostanie przekazane do typu zasobu skojarzeń w utworzonym wystąpieniu Microsoft.CustomProviders/resourceProviders.
Uwaga
Jeśli identyfikator zasobu Microsoft.Solutions/applications jest podany jako targetResourceId, w zarządzanej grupie zasobów musi być wdrożony element Microsoft.CustomProviders/resourceProviders o nazwie "public".
Przykładowe skojarzenie niestandardowych dostawców zasobów platformy Azure:
{
"properties": {
"targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
...
}
}
Właściwość | Wymagane? | Opis |
---|---|---|
targetResourceId | Tak | Identyfikator zasobu Microsoft.CustomProviders/resourceProviders lub Microsoft.Solutions/applications. |
Jak używać dołączania zasobów
Dołączanie zasobów działa przez rozszerzenie innych zasobów za pomocą zasobu rozszerzenia Microsoft.CustomProviders/associations. W poniższym przykładzie żądanie jest wykonywane dla maszyny wirtualnej, ale można rozszerzyć dowolny zasób.
Najpierw należy utworzyć niestandardowy zasób dostawcy zasobów z typem zasobu skojarzeń. Spowoduje to zadeklarowanie adresu URL wywołania zwrotnego, który będzie używany podczas tworzenia odpowiedniego zasobu Microsoft.CustomProviders/associations, który jest przeznaczony dla niestandardowego dostawcy zasobów.
Przykładowe żądanie utworzenia microsoft.CustomProviders/resourceProviders:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
{
"properties": {
"resourceTypes": [
{
"name": "associations",
"routingType": "Proxy,Cache,Extension",
"endpoint": "https://{myCustomEndpoint}/"
}
]
},
"location": "{location}"
}
Po utworzeniu niestandardowego dostawcy zasobów można zastosować do nich inne zasoby i zastosować do nich skutki uboczne niestandardowego dostawcy zasobów.
Przykładowe żądanie tworzenia microsoft.CustomProviders/associations:
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.CustomProviders/associations/{associationName}?api-version=2018-09-01-preview
Authorization: Bearer eyJ0e...
Content-Type: application/json
{
"properties": {
"targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}",
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
To żądanie zostanie następnie przekazane do punktu końcowego określonego w utworzonym przez Ciebie dostawcy zasobów niestandardowych, do którego odwołuje się identyfikator targetResourceId w tym formularzu:
PUT https://{endpointURL}/?api-version=2018-09-01-preview
Content-Type: application/json
X-MS-CustomProviders-RequestPath: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/{resourceProviderName}/associations/{associationName}
X-MS-CustomProviders-ExtensionPath: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}/providers/Microsoft.CustomProviders/associations/{associationName}
X-MS-CustomProviders-ExtendedResource: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}
{
"properties": {
"myProperty1": "myPropertyValue1",
"myProperty2": {
"myProperty3" : "myPropertyValue3"
}
}
}
Punkt końcowy powinien odpowiadać przy użyciu pliku application/json Content-Type
i prawidłowej treści odpowiedzi JSON. Pola zwracane w ramach obiektu properties w formacie JSON zostaną dodane do odpowiedzi zwracanej przez skojarzenie.
Uzyskiwanie pomocy
Jeśli masz pytania dotyczące tworzenia niestandardowych dostawców zasobów platformy Azure, spróbuj zadać im pytanie w witrynie Stack Overflow. Odpowiedź na podobne pytanie mogła już zostać udzielona, więc sprawdź najpierw przed opublikowaniem. Dodaj tag azure-custom-providers
, aby uzyskać szybką odpowiedź!
Następne kroki
W tym artykule przedstawiono informacje o niestandardowych dostawcach zasobów. Zobacz następujące artykuły, aby dowiedzieć się więcej:
- Samouczek: dołączanie zasobów za pomocą niestandardowych dostawców zasobów
- Samouczek: tworzenie niestandardowych akcji i zasobów na platformie Azure
- Szybki start: tworzenie niestandardowego dostawcy zasobów platformy Azure i wdrażanie zasobów niestandardowych
- Instrukcje: dodawanie akcji niestandardowych do interfejsu API REST platformy Azure
- Instrukcje: dodawanie zasobów niestandardowych do interfejsu API REST platformy Azure