Usuwanie plików z FTP przy pomocy Azure Data Factory. Podejście drugie.

Ze względu na popularność postu, postanowiłem zrobić drugie podejście do usuwania plików z FTP przy pomocy pipeline’u Data Factory. W mojej ocenie poniższe rozwiązane jest lepsze, łatwiejsze do debugowania i zapewnia większą kontrolę.

Najpierw, przeczytaj mój artykuł o Key Vault. Jest to istotna wiedza, ponieważ będziesz tam przechowywał poświadczenia do serwera FTP. Stwórz Key Vault i dwa sekrety – jeden dla loginu i jeden dla hasła. Możesz też przechować tam adres IP serwera.

Następnie, stwórz nową Azure Function:

image

 

Wybierz v2:

image

Następnie wklej poniższy kod do rozwiązania:

 

Zauważ, że login i hasło są pobierane z Key Vault:

 

Adresy URL sekretów są w zmiennych środowiskowych, które możesz znaleźć w ustawieniach aplikacji:

image

 

W „applications settings”:

image

 

Następny krok to publikacja funkcji. Możesz to zrobić z poziomu Visual Studio klikając prawym na projekt:

image

Przy publikacji wybierz Azure Function, do której chcesz wysłać swoja funkcję lub stwórz nową. Pamiętaj, żeby zarejestrować swoją aplikację w Azure Active Directory i dodać ją do access policies w Key Vault.

Po publikacji, przejdź do Azure Portal i przetestuj swoją funkcję. Oczekuje pliku JSON w takim formacie:

 

Jeśli nie działa, możesz to naprawić tutaj.

Kolejnym krokiem jest wywołanie zapytania POST z poziomu Data Factory. Aby to zrobić, użyjesz web activity. Najpierw, skopiuj URL funkcji. Aby go zdobyć, przejdź do głównej menu funkcji i kliknij na </> Get Function URL:

image

 

Skopiuj adres URL:

image

 

Jesteś gotowy, żeby przejść do Data Factory. Stwórz web activity:

image

 

Następnie dodaj adres URL i Body w odpowiednim formacie.Możesz nawet dodać elementy dynamiczne:

image

I to tyle! Teraz możesz wywołać funkcję i sprawdzić jak działa.

Michał

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *