Создание подписки EventGrid с помощью az cli - PullRequest
0 голосов
/ 14 июля 2020

Я создаю подписку на событие с помощью этой команды:

az eventgrid event-subscription create --source-resource-id "/subscriptions/mysubscription/resourceGroups/myresourcegroup/providers/Microsoft.EventGrid/topics/mytopic" --name "new-subscription" --endpoint-type "webhook" --endpoint "https://myfunctionapp.azurewebsites.net/runtime/webhooks/EventGrid?functionName=myfunction&code=mymasterkey"

Но всегда получаю это сообщение об ошибке:

Deployment failed. Correlation ID: 154239e9-9992-4c4c-a991-83b88cc9bd91. Webhook validation handshake failed for https://myfunctionapp.azurewebsites.net/runtime/webhooks/EventGrid. Http POST request failed with response code Unknown. For troublehooting, visit https://aka.ms/esvalidation. Activity id:a9a4804c-927f-4bc4-8f0b-99d80eed08a3, timestamp: 7/14/2020 10:20:28 AM (UTC).

Что не так?

1 Ответ

1 голос
/ 15 июля 2020

В соответствии с ошибкой кажется, что URL-адрес вашей функции неверен и не может завершить sh проверку. URL-адрес функции должен иметь вид https://{functionappname}.azurewebsites.net/runtime/webhooks/eventgrid?functionName={functionname}&code={systemkey}. Получить его можно через портал Azure. Дополнительные сведения см. В документе

Например,

az eventgrid event-subscription create  -n "test" --source-resource-id "<my topic resource id>"  --endpoint "https://myfunctionapp.azurewebsites.net/runtime/webhooks/EventGrid?functionName=myfunction&code=mymasterkey"

enter image description here

Besides, since you use Azure function event ride trigger, you can directly use the function app resource id as the endpoint. For more details, please refer to the документ и здесь

Например

az extension add --name eventgrid

az eventgrid event-subscription create --name "test1" \
    --source-resource-id /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/topics/topic1 \
    --endpoint /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.Web/sites/{functionappname}/functions/{functionname} \
   --endpoint-type azurefunction

enter image description here введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...