Özel kaynak sağlayıcısı oluşturma ve kullanma
Özel kaynak sağlayıcısı, Azure ile uç nokta arasındaki sözleşmedir. Özel kaynak sağlayıcılarıyla Azure'da iş akışlarını değiştirebilirsiniz. Bu öğreticide özel kaynak sağlayıcısı oluşturma işlemi gösterilmektedir. Azure Özel Kaynak Sağlayıcıları hakkında bilginiz yoksa Bkz. Azure Özel Kaynak Sağlayıcıları'na genel bakış.
Özel bir kaynak sağlayıcısı oluşturma
Not
Bu öğreticide uç nokta yazma işlemi gösterilmez. RESTFUL uç noktanız yoksa, geçerli öğreticinin temelini oluşturan RESTful uç noktaları yazma öğreticisini izleyin.
Uç nokta oluşturduktan sonra, sağlayıcı ile uç nokta arasında bir sözleşme oluşturmak için özel bir kaynak sağlayıcısı oluşturabilirsiniz. Özel bir kaynak sağlayıcısıyla uç nokta tanımlarının listesini belirtebilirsiniz:
{
"name": "myEndpointDefinition",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
Özellik | Gerekli | Açıklama |
---|---|---|
Adı | Yes | Uç nokta tanımının adı. Azure bu adı API'siyle /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders altında kullanıma sunar /resourceProviders/{resourceProviderName}/{endpointDefinitionName} |
routingType | No | Uç nokta sözleşme türü. Değer belirtilmezse varsayılan olarak "Proxy" olur. |
Bitiş noktası | Yes | İstekleri yönlendirecek uç nokta. Bu uç nokta yanıtı ve isteğin tüm yan etkilerini işler. |
Uç nokta değeri, Azure işlev uygulamasının tetikleyici URL'sidir. <yourapp>
, <funcname>
ve <functionkey>
yer tutucuları, oluşturduğunuz işlev uygulamasının değerleriyle değiştirilmelidir.
Özel eylemleri ve kaynakları tanımlama
Özel kaynak sağlayıcısı , eylemler ve resourceTypes özellikleri altında modellenen uç nokta tanımlarının listesini içerir. actions özelliği özel kaynak sağlayıcısı tarafından kullanıma sunulan özel eylemlerle eşler ve resourceTypes özelliği özel kaynaklardır. Bu öğreticide, özel kaynak sağlayıcısının adlı bir actions özelliği ve adlı myCustomAction
myCustomResources
resourceTypes özelliği vardır.
{
"properties": {
"actions": [
{
"name": "myCustomAction",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
],
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
]
},
"location": "eastus"
}
Özel kaynak sağlayıcısını dağıtma
Not
Uç nokta değerlerini önceki öğreticide oluşturulan işlev uygulamasındaki tetikleyici URL'si ile değiştirmeniz gerekir.
Azure Resource Manager şablonu kullanarak önceki özel kaynak sağlayıcısını dağıtabilirsiniz:
{
"$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.CustomProviders/resourceProviders",
"name": "myCustomProvider",
"apiVersion": "2018-09-01-preview",
"location": "eastus",
"properties": {
"actions": [
{
"name": "myCustomAction",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
],
"resourceTypes": [
{
"name": "myCustomResources",
"routingType": "Proxy",
"endpoint": "https://<yourapp>.azurewebsites.net/api/<funcname>?code=<functionkey>"
}
]
}
}
]
}
Özel eylemleri ve kaynakları kullanma
Özel bir kaynak sağlayıcısı oluşturduktan sonra yeni Azure API'lerini kullanabilirsiniz. Aşağıdaki bölümlerde özel bir kaynak sağlayıcısının nasıl çağrılıp kullanılacağı açıklanmaktadır.
Özel eylemler
Azure CLI
Not
ve {resourceGroupName}
yer tutucularını, özel kaynak sağlayıcısını dağıttığınız abonelik ve kaynak grubuyla değiştirmeniz {subscriptionId}
gerekir.
az resource invoke-action --action myCustomAction \
--ids /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider \
--request-body
'{
"hello": "world"
}'
Parametre | Gerekli | Açıklama |
---|---|---|
Eylem | Yes | Özel kaynak sağlayıcısında tanımlanan eylemin adı. |
Kimlik | Yes | Özel kaynak sağlayıcısının kaynak kimliği. |
istek gövdesi | No | Uç noktaya gönderilecek istek gövdesi. |
Özel kaynaklar
Not
ve {resourceGroupName}
yer tutucularını, özel kaynak sağlayıcısını dağıttığınız abonelik ve kaynak grubuyla değiştirmeniz {subscriptionId}
gerekir.
Özel kaynak oluşturma
az resource create --is-full-object \
--id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1 \
--properties
'{
"location": "eastus",
"properties": {
"hello" : "world"
}
}'
Parametre | Gerekli | Açıklama |
---|---|---|
is-full-object | Yes | Properties nesnesinin konum, etiketler, SKU veya plan gibi diğer seçenekleri içerip içermediğini gösterir. |
id | Yes | Özel kaynağın kaynak kimliği. Bu kimlik, özel kaynak sağlayıcısının kaynak kimliğinin bir uzantısıdır. |
Özellikler | Yes | Uç noktaya gönderilecek istek gövdesi. |
Özel kaynağı silme
az resource delete --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parametre | Gerekli | Açıklama |
---|---|---|
id | Yes | Özel kaynağın kaynak kimliği. Bu kimlik, özel kaynak sağlayıcısının kaynak kimliğinin bir uzantısıdır. |
Özel kaynak alma
az resource show --id /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CustomProviders/resourceProviders/myCustomProvider/myCustomResources/myTestResourceName1
Parametre | Gerekli | Açıklama |
---|---|---|
id | Yes | Özel kaynağın kaynak kimliği. Bu kimlik, özel kaynak sağlayıcısının kaynak kimliğinin bir uzantısıdır. |
Not
Özel kaynak sağlayıcısını dağıtmayı ve kullanmayı tamamladıktan sonra, Azure işlev uygulaması da dahil olmak üzere oluşturulan tüm kaynakları temizlemeyi unutmayın.
Sonraki adımlar
Bu makalede, özel kaynak sağlayıcıları hakkında bilgi edindiyseniz. Daha fazla bilgi için bkz.