Azure Function timeout hiba külső API hívásakor

Azure Function timeout hiba külső API hívásakor
2022-11-18T11:37:39+01:00
2022-11-21T13:30:45+01:00
2022-11-21T13:50:34+01:00
secondbreakfast
Sziasztok.

Azure-ben deployolva van egy Azure Function. Ezt egy Service Bus üzenet triggereli. Ennek a function-nek annyi a dolga, hogy meghív egy API endpointot. A probléma az, hogy az Azure Functions logja szerint nem tud sikeresen lefutni a function, ennek megfelelően a service bus is újra megpróbálja kézbesíteni az üzenetet. Az első ötlet az volt, hogy a hálózati beállítások miatt nem érik el egymást, de ha a KUDU-n belül a debug CMD-vel csinálok egy curl-ös GET hívást a function saját környezetén, akkor az elérés sikeresen megtörténik, ami alapján az elérés működik.

Ami érdekesebb, hogy localban természetesen működik, de valószínűleg azért, mert onnan elérhető rendesen a végpont.

A kérdésem az lenne, hogy mi oka lehet annak, hogy a hívás timeout hibával elszáll, de közben CMD-ből elérhető, ami elvileg ugyanúgy a function saját környezetében fut. Gondoltam arra, hogy lehet a visszatérő adatokat nem tudja megkapni, vagy a válasz során nagy a csomag (egyébként kb 80-100 rövid sornyi json ami nincs 1 kb sem összesen), valamilyen default policy esetleg tiltja az adatok visszakerülését a functionbe stb...

Köszönöm a segítséget!
Mutasd a teljes hozzászólást!

  • Tehát a log-ok szerint egyértelműen az a hiba, hogy az üzenet megérkezik, de timeout keletkezik a hívás során? Kizárt, hogy már a Function-t sem sikerül elérni, ugye?

    Én készítenék egy nagyon egyszerű teszt esetet, pl. sima GET hívás, payload nélkül, faék egyszerű szerverre. Aztán ha az megy, lehet keresni a különbséget.
    Mutasd a teljes hozzászólást!
  • Biztos, hogy nincs semmi különbség abban, hogy a Function hogyan hívja az API-t, és te hogyan hívod curl-lel? Ilyen timeout olyan tévedésekből is lehet, hogy http helyett https protokollon kommunikálsz. Ha tényleg igaz az állítás, hogy a curl-özéshez használt környezet ugyanaz, amit a Function használ, nem igazán tudok más dologra gondolni.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd