5

Mam specyficzny problem związany z zarządzaniem interfejsem API Azure.Dynamiczne wywoływanie kilku końcowych punktów końcowych z poziomu zasady Azure APIM

Mój przypadek polega na tym, że nazywam API zaplecza od APIM. Potrzebuję dostarczyć schemat JSON dla mojego niestandardowego konektora w Logic Apps/Flow.

W zależności od treści odpowiedzi, które otrzymuję, muszę wykonać dodatkowe połączenia w celu zapewnienia wyliczenia/rozwijania.

Rozważmy odpowiedź API back-end, tak:

{ 
    "member1": { 
    "prop": "content" 
    }, 
    "member2": { 
    "prop": "content", 
    "datasource": "http://someurl.com/api/member2/content" 
    }, 
    "member3": { 
    "prop": "content" 
    }, 
    "member4": { 
    "prop": "content" 
    "datasource": "http://someurl.com/api/memberfour/content" 
    } 
} 

muszę wykonać dodatkowe połączenia do adresów URL w elementach „źródłem danych” w celu dostarczenia dodatkowych danych, ale są oczywiście dynamiczny, w zależności od wykonywanego połączenia. Trochę utknąłem, ponieważ nie mogę wykonać zasady wysyłania żądań dla dynamicznej liczby połączeń i adresów URL. Jak najlepiej to podejść?

+0

Jeśli korzystasz z aplikacji logicznych, musisz uzyskać odpowiedź z interfejsu API, a następnie wykonać dla każdej z nich odpowiedź i wykonać dodatkowe połączenia. Coś takiego. https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-loops-and-scopes – Baskar

+0

Przepraszam Baskar, moje pytanie nie jest do końca jasne, obawiam się. Muszę dostarczyć schemat JSON dla mojego niestandardowego konektora w aplikacjach/przepływie logiki. Zaktualizuję moje pytanie. –

Odpowiedz

1

Jeśli dobrze rozumiem scenariusz, nie sądzę, że chcesz użyć APIM do wywoływania adresów URL źródeł danych, ponieważ wtedy nie będziesz w stanie uzyskać tych wyników z powrotem do aplikacji logicznych. Myślę, że to, czego szukasz, to x-ms-dynamic-values, które jest udokumentowane: here

Możesz użyć tego rozszerzenia, aby opisać zarówno podstawową operację, która zapewni twoją zawartość, jak i niektóre operacje dodatkowe, które zwrócą listy używane do wypełnienia list rozwijanych dla Interfejs aplikacji logicznych. Prawdopodobnie będziesz musiał utworzyć dodatkowe operacje APIM, aby wyświetlić te listy.

+1

Jeśli rozumiem poprawnie, możesz używać wartości dynamicznych x-ms, ale zwrócone wartości będą również dynamiczne w oparciu o początkową odpowiedź API-M i chcesz rozwiązać każdą z "wartości" w odpowiedź, aby zwrócić wynik do projektanta aplikacji Logic z poprawnym i pełnym zestawem wartości? Jeśli tak, pytanie może brzmieć "czy istnieje sposób na napisanie żądania" make 'n" na podstawie odpowiedzi "dla polityki przychodzącej? Czy jest zalecane/ok do korzystania HttpClient w C#" set-body "polityki? – jeffhollan

+1

@ jeffhollan Nie, nie możesz używać HttpClient z zasady set-body, ale przy bardzo kreatywnym użyciu zasady ponawiania możesz wysyłać wiele żądań. –

+1

Co, jeśli wywołasz funkcję Azure za pomocą prostej treści, takiej jak tablica adresów URL spodziewając się parsować i uzyskać odpowiedź JSON z powrotem, czy to by było dobre? – evilSnobu

Powiązane problemy