У меня есть приложение-функция Python, обрабатывающее данные из концентратора событий.Я обнаружил, что большая часть трафика, оплачиваемого в EventHub, не от событий, которые я создал.Кажется, что есть некоторые периодические фоновые сообщения в Eventhub при подключении к приложению Python Function.Эти сообщения составляют основную часть стоимости в моей архитектуре с низкой пропускной способностью.
Я могу воспроизвести его с помощью следующей настройки, в которой есть пустое приложение-функция Python, подключенное к EventHub, и сообщения не добавляются в EventHub..
#!/bin/bash
GROUP=debug_costs
LOC=northcentralus
set -e
set -x
# Hopefully creates unique names
RANDO=$(head /dev/urandom | LC_CTYPE=C tr -dc a-z0-9 | head -c 10 ; echo '')
az group create -l ${LOC} -g ${GROUP}
az eventhubs namespace create -l ${LOC} -g ${GROUP} --name Events-${RANDO} --sku Basic
az eventhubs eventhub create -g ${GROUP} --namespace-name Events-${RANDO} --name samples-workitems --message-retention 1
az storage account create -l ${LOC} -g ${GROUP} --name storage${RANDO} --sku Standard_LRS --kind StorageV2
az functionapp create --resource-group ${GROUP} --name funcApp-${RANDO} --storage-account storage${RANDO} --consumption-plan-location westus --os-type linux --runtime python
# Create an empty (default) python function app
func init --worker-runtime python funcAppCost
func new --template "Azure Event Hub trigger" --name emptyFunc
# Connect app to event hub
EH_CONSTRING=$(az eventhubs namespace authorization-rule keys list -g ${GROUP} --namespace-name Events-${RANDO} --name RootManageSharedAccessKey --output json --query "primaryConnectionString" 2>/dev/null | tr -d '"')
az functionapp config appsettings set --resource-group ${GROUP} --name funcApp-${RANDO} --settings "EventHubConnectString=${EH_CONSTRING}"
sed -i 's/"connection": ""/"connection": "EventHubConnectString"/g' emptyFunc/function.json
# publish empty app
sleep 5
func azure functionapp publish funcApp-${RANDO} --build-native-deps --python
Примерно через 5 минут после распределения ресурсов, если я проверю Входящие запросы в Обзоре концентраторов событий на портале, я вижу, что на каждый запрос приходится около 25-30 запросов.минута.
Мое реальное приложение отправляет только 2-8 сообщений в час, так что эти болтовни являются самым дорогостоящим драйвером в моей настройке.Как я могу понять, что это за сообщения?А еще лучше, можно ли их уменьшить или устранить?