Udostępnij przez


Kopiowanie danych i wysyłanie powiadomień e-mail dotyczących powodzenia i niepowodzenia

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Wskazówka

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym samouczku tworzysz potok usługi Data Factory, prezentujący niektóre funkcje przepływu sterowania. Ten pipeline wykonuje prostą kopię z kontenera w usłudze Azure Blob Storage do innego kontenera w ramach tego samego konta magazynu. Jeśli działanie kopiowania zakończy się powodzeniem, pipeline wysyła szczegóły zakończonej pomyślnie operacji kopiowania (takie jak ilość zapisanych danych) w e-mailu potwierdzającym sukces. W przypadku niepowodzenia działania kopiowania, potok wysyła szczegóły dotyczące niepowodzenia kopiowania (takie jak komunikat o błędzie) w wiadomości e-mail informującej o niepowodzeniu. W samouczku pokazano, jak przekazać parametry.

Ogólne omówienie scenariusza: Diagram przedstawia usługę Azure Blob Storage, która jest celem kopiowania. Po pomyślnym ukończeniu wysyłana jest wiadomość e-mail ze szczegółami, natomiast w przypadku niepowodzenia wysyłana jest wiadomość ze szczegółami błędu.

W tym samouczku wykonasz następujące kroki:

  • Tworzenie fabryki danych.
  • Utwórz powiązaną usługę Azure Storage.
  • Utwórz zestaw danych Azure Blob
  • Utwórz potok, który zawiera akcję kopiowania i akcję internetową
  • Wysyłanie danych wyjściowych działań do kolejnych działań
  • Korzystanie z przekazywania parametrów i ze zmiennych systemowych
  • Rozpocznij uruchomienie potoku
  • Monitoruj potok i uruchomienia działań

W tym samouczku jest używany portal Azure. Możesz użyć innych mechanizmów do interakcji z usługą Azure Data Factory, zapoznaj się z sekcją "Krótki start" w spisie treści.

Wymagania wstępne

  • Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
  • Konto usługi Azure Storage. Ty używasz magazynu obiektów blob jako źródłowego magazynu danych. Jeśli nie masz konta usługi Azure Storage, utwórz je, wykonując czynności przedstawione w artykule Tworzenie konta magazynu.
  • usługi Azure SQL Database. Baza danych jest używana jako magazyn danych ujścia. Jeśli nie masz bazy danych w usłudze Azure SQL Database, zobacz artykuł Tworzenie bazy danych w usłudze Azure SQL Database , aby uzyskać instrukcje tworzenia bazy danych.

Utwórz tabelę obiektów blob

  1. Uruchom program Notatnik. Skopiuj poniższy tekst i zapisz go na dysku jako plik input.txt.

    John,Doe
    Jane,Doe
    
  2. Użyj narzędzia takiego jak Eksplorator usługi Azure Storage, aby wykonać następujące czynności:

    1. Utwórz kontener adfv2branch.
    2. Utwórz folder input w kontenerze adfv2branch.
    3. Przekaż plik input.txt do kontenera.

Tworzenie punktów końcowych przepływu pracy poczty e-mail

Aby uruchomić wysyłanie wiadomości e-mail z potoku, użyj usługi Azure Logic Apps do definiowania przepływu pracy. Aby uzyskać więcej informacji na temat tworzenia przepływu pracy w aplikacji logiki typu Consumption, zobacz Tworzenie przykładowego przepływu pracy w aplikacji logiki typu Consumption.

Przepływ pracy dla wiadomości e-mail dotyczących sukcesów

Utwórz przepływ pracy aplikacji logiki typu Consumption o nazwie CopySuccessEmail. Dodaj wyzwalacz o nazwie Gdy zostanie odebrane żądanie HTTP, a następnie dodaj akcję Office 365 Outlook o nazwie Wyślij wiadomość e-mail. Jeśli zostanie wyświetlony monit, zaloguj się do konta usługi Office 365 Outlook.

Pokazuje zrzut ekranu przepływu pracy wiadomości e-mail zatytułowanej

W przypadku wyzwalacza Żądanie wypełnij pole Schemat treści JSON następującym kodem JSON:

{
    "properties": {
        "dataFactoryName": {
            "type": "string"
        },
        "message": {
            "type": "string"
        },
        "pipelineName": {
            "type": "string"
        },
        "receiver": {
            "type": "string"
        }
    },
    "type": "object"
}

Wyzwalacz "Żądanie" w projektancie przepływu pracy powinien wyglądać jak na obrazie poniżej.

Przedstawia zrzut ekranu projektanta przepływu pracy z wyzwalaczem żądania.

W przypadku akcji Wyślij wiadomość e-mail dostosuj sposób formatowania wiadomości e-mail przy użyciu właściwości przekazanych w schemacie JSON treści żądania. Oto przykład:

Przedstawia zrzut ekranu projektanta przepływu pracy z akcją o nazwie Wyślij wiadomość e-mail.

Zapisz przepływ pracy. Zapisz adres URL żądania HTTP POST dla przepływu pracy wiadomości e-mail związanej z sukcesem:

//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

Przepływ pracy wiadomości e-mail z informacją o niepowodzeniu

Wykonaj te same kroki, aby utworzyć inny przepływ pracy aplikacji logiki o nazwie CopyFailEmail. W wyzwalaczu Żądanie wartość schematu JSON treści żądania jest taka sama. Zmień format wiadomości e-mail, na przykład element Subject, aby przekształcić wiadomość e-mail w wiadomość z informacją o niepowodzeniu. Oto przykład:

Zrzut ekranu projektanta przepływu pracy z nieudanym przepływem wiadomości e-mail.

Zapisz przepływ pracy. Zapisz adres URL żądania HTTP POST dla przepływu pracy wiadomości e-mail z informacją o niepowodzeniu:

//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

Teraz powinny być zapisane dwa adresy URL przepływów pracy:

//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

Tworzenie fabryki danych

  1. Uruchom przeglądarkę internetową Microsoft Edge lub Google Chrome. Obecnie interfejs użytkownika usługi Data Factory jest obsługiwany tylko przez przeglądarki internetowe Microsoft Edge i Google Chrome.

  2. Rozwiń menu w lewym górnym rogu i wybierz pozycję Utwórz zasób. Następnie wybierz pozycję Analytics>Data Factory :

    Zrzut ekranu wyboru usługi Data Factory w panelu

  3. Na stronie Nowa fabryka danych wprowadź wartość ADFTutorialDataFactory w polu Nazwa.

    Nowa strona fabryki danych

    Nazwa fabryki danych platformy Azure musi być globalnie unikatowa. Jeśli wystąpi poniższy błąd, zmień nazwę fabryki danych (np. twojanazwaADFTutorialDataFactory) i spróbuj utworzyć ją ponownie. Artykuł Data Factory — Naming Rules (Usługa Data Factory — reguły nazewnictwa) zawiera reguły nazewnictwa artefaktów usługi Data Factory.

    Nazwa fabryki danych "ADFTutorialDataFactory" jest niedostępna.

  4. Wybierz subskrypcję Azure, w której chcesz utworzyć fabrykę danych.

  5. Dla opcji Grupa zasobów wykonaj jedną z następujących czynności:

    • Wybierz pozycję Użyj istniejącej, a następnie wybierz istniejącą grupę zasobów z listy rozwijanej.

    • Wybierz pozycję Utwórz nową, a następnie wprowadź nazwę grupy zasobów.

      Informacje na temat grup zasobów znajdują się w artykule Using resource groups to manage your Azure resources (Używanie grup zasobów do zarządzania zasobami platformy Azure).

  6. Wybierz V2 dla wersji.

  7. Wybierz lokalizację dla fabryki danych. Na liście rozwijanej są wyświetlane tylko obsługiwane lokalizacje. Magazyny danych (Azure Storage, Azure SQL Database itp.) i jednostki obliczeniowe (HDInsight itp.) używane przez fabrykę danych mogą mieścić się w innych regionach.

  8. Wybierz opcję Przypnij do pulpitu nawigacyjnego.

  9. Kliknij pozycję Utwórz.

  10. Po zakończeniu tworzenia zostanie wyświetlona strona Fabryka danych, jak pokazano na poniższej ilustracji.

    Przedstawia zrzut ekranu przedstawiający stronę główną fabryki danych.

  11. Kliknij kafelek Otwórz Azure Data Factory Studio, aby uruchomić interfejs użytkownika usługi Azure Data Factory na osobnej karcie.

Utwórz potok

W tym kroku tworzysz potok z jednym działaniem kopiowania i dwoma działaniami sieciowymi. Do utworzenia potoku używasz następujących funkcji:

  • Parametry dla potoku, do których dostęp mają zestawy danych.
  • Działania sieciowe wywołujące przepływy pracy aplikacji Logic Apps w celu wysyłania wiadomości e-mail informujących o powodzeniu/niepowodzeniu.
  • Łączenie jednego działania z innym (w przypadku powodzenia i niepowodzenia)
  • Używanie danych wyjściowych działania jako danych wejściowych kolejnego działania
  1. Na stronie głównej interfejsu użytkownika usługi Data Factory kliknij kafelek Orkiestracja .

    Przedstawia zrzut ekranu strony głównej Data Factory z wyróżnionym kafelkiem Orchestrate.

  2. W oknie właściwości dla potoku przejdź do karty Parametry i użyj przycisku Nowy, aby dodać następujące trzy parametry typu String: sourceBlobContainer, sinkBlobContainer oraz receiver.

    • sourceBlobContainer — parametr w potoku używany przez zestaw danych źródłowych obiektu blob.
    • sinkBlobContainer — parametr w potoku używany przez zestaw danych obiektów blob ujścia
    • receiver — ten parametr jest używany przez dwa działania w sieci Web w przepływie pracy, które wysyłają wiadomości e-mail z informacją o sukcesie lub niepowodzeniu do odbiorcy, którego adres e-mail jest określony przez ten parametr.

    Przedstawia zrzut ekranu przedstawiający menu Nowy potok.

  3. W przyborniku Działania wyszukaj aktywność Kopiuj i upuść i przeciągnij aktywność Kopiuj na powierzchnię projektanta przepływu danych.

    Przedstawia zrzut ekranu przedstawiający, jak przeciągać i upuszczać aktywność kopiowania do projektanta rurociągu.

  4. Wybierz działanie Kopiowania przeciągnięte na obszar projektanta potoku. W oknie Właściwości dla działania Kopiowanie znajdującego się na dole przejdź do karty Źródło, a następnie kliknij pozycję + Nowy. W tym kroku utworzysz zestaw danych źródłowych dla działania kopiowania.

    Zrzut ekranu przedstawiający sposób tworzenia źródłowego zestawu danych dla działania kopiowania.

  5. W oknie Nowy zestaw danych wybierz kartę Azure u góry, a następnie wybierz pozycję Azure Blob Storage, a następnie wybierz pozycję Kontynuuj.

    Przedstawia zrzut ekranu przedstawiający przycisk Wybierz usługę Azure Blob Storage.

  6. W oknie Wybieranie formatu wybierz pozycję RozdzielanyTekst i wybierz pozycję Kontynuuj.

    Pokazuje zrzut ekranu okna

  7. Zostanie wyświetlona nowa karta o nazwie Ustaw właściwości. Zmień nazwę zestawu danych na SourceBlobDataset. Wybierz listę rozwijaną Połączona usługa i wybierz +Nowy, aby utworzyć nową połączoną usługę ze źródłowym zestawem danych.

    Przedstawia zrzut ekranu okna

  8. Zostanie wyświetlone okno Nowa połączona usługa , w którym można wypełnić wymagane właściwości połączonej usługi.

    Przedstawia zrzut ekranu przedstawiający okno połączenia zestawu danych z wyróżnionym przyciskiem nowej połączonej usługi.

  9. W oknie Nowa połączona usługa wykonaj następujące czynności:

    1. Wprowadź wartość AzureStorageLinkedService w polu Nazwa.
    2. Wybierz swoje konto usługi Azure Storage w polu Nazwa konta magazynu.
    3. Kliknij pozycję Utwórz.
  10. W wyświetlonym oknie Ustawianie właściwości wybierz pozycję Otwórz ten zestaw danych , aby wprowadzić sparametryzowaną wartość dla nazwy pliku.

    Pokazuje zrzut ekranu okna zestawu danych

  11. Wprowadź wartość @pipeline().parameters.sourceBlobContainer jako folder oraz emp.txt jako nazwę pliku.

    Przedstawia zrzut ekranu przedstawiający ustawienia źródłowego zestawu danych.

  12. Przełącz się z powrotem na kartę potoku (lub kliknij potok w widoku drzewa po lewej stronie), a następnie wybierz aktywność Kopiuj w kreatorze. Upewnij się, że dla zestawu danych źródłowych wybrano nowy zestaw danych.

    Przedstawia zrzut ekranu przedstawiający źródłowy zestaw danych.

  13. W oknie Właściwości przejdź do karty Ujście, a następnie kliknij pozycję + Nowy dla elementu Zestaw danych ujścia. W tym kroku utworzysz zestaw danych ujścia dla działania kopiowania w sposób podobny do tworzenia zestawu danych źródłowych.

    Przedstawia zrzut ekranu przycisku nowego zestawu danych 'sink'

  14. W oknie Nowy zestaw danych wybierz pozycję Azure Blob Storage, a następnie kliknij przycisk Kontynuuj, a następnie ponownie wybierz pozycję DelimitedText w oknie Wybieranie formatu i kliknij przycisk Kontynuuj ponownie.

  15. Na stronie Ustawianie właściwości zestawu danych wprowadź wartość SinkBlobDataset w polu Nazwa, a następnie wybierz pozycję AzureStorageLinkedService dla pozycji LinkedService.

  16. Rozwiń sekcję Zaawansowane na stronie właściwości i wybierz pozycję Otwórz ten zestaw danych.

  17. Na karcie Połączenie zestawu danych zmodyfikuj ścieżkę pliku. Wprowadź @pipeline().parameters.sinkBlobContainer dla folderu i @concat(pipeline().RunId, '.txt') dla nazwy pliku. Wyrażenie wykorzystuje identyfikator bieżącego uruchomienia potoku jako nazwę pliku. Aby uzyskać listę obsługiwanych zmiennych systemowych i wyrażeń, zobacz Zmienne systemowe i Język wyrażeń.

    Pokazuje zrzut ekranu ustawień zestawu danych Sink.

  18. Przejdź do zakładki pipeline na górze. Wyszukaj Web w polu wyszukiwania i przeciągnij i upuść aktywność Web na powierzchnię projektanta potoku. Ustaw nazwę działania na wartość SendSuccessEmailActivity. Działanie internetowe umożliwia wywołanie dowolnego punktu końcowego REST. Aby uzyskać więcej informacji na temat działania, zobacz Działanie internetowe. Ten pipeline używa Aktywności internetowej do uruchomienia przepływu pracy e-mail w usłudze Logic Apps.

    Przedstawia zrzut ekranu przedstawiający sposób przeciągania i upuszczania pierwszego działania internetowego.

  19. Z karty Ogólne przejdź do karty Ustawienia i wykonaj następujące czynności:

    1. W pozycji Adres URL podaj adres URL dla przepływu pracy aplikacji Logic Apps, który wysyła wiadomość e-mail z potwierdzeniem powodzenia.

    2. Wybierz wartość POST dla pozycji Metoda.

    3. Kliknij link + Dodaj nagłówek w sekcji Nagłówki.

    4. Dodaj nagłówek Content-Type i ustaw go na wartość application/json.

    5. Podaj następujący kod JSON w pozycji Treść.

      {
          "message": "@{activity('Copy1').output.dataWritten}",
          "dataFactoryName": "@{pipeline().DataFactory}",
          "pipelineName": "@{pipeline().Pipeline}",
          "receiver": "@pipeline().parameters.receiver"
      }
      

      Treść wiadomości zawiera następujące właściwości:

      • Komunikat: Przekazywanie wartości @{activity('Copy1').output.dataWritten. Uzyskuje dostęp do właściwości poprzedniego działania kopiowania danych i przekazuje wartość danych zapisanych. W przypadku niepowodzenia przekaż dane wyjściowe błędu zamiast @{activity('CopyBlobtoBlob').error.message.

      • Nazwa fabryki danych — przekazywanie wartości @{pipeline().DataFactory} To jest zmienna systemowa, umożliwiająca dostęp do odpowiedniej nazwy fabryki danych. Lista zmiennych systemowych jest dostępna w artykule Zmienne systemowe.

      • Nazwa pipeline'a — przekazywanie wartości @{pipeline().Pipeline}. Jest to również zmienna systemowa, która umożliwia dostęp do odpowiedniej nazwy potoku.

      • Odbiorca - przekazywanie wartości "@pipeline().parameters.receiver"). Dostęp do parametrów potoku.

        Przedstawia zrzut ekranu przedstawiający ustawienia pierwszego działania internetowego.

  20. Połącz aktywność Kopiuj z aktywnością Web, przeciągając zielony przycisk zaznaczenia obok aktywności Kopiuj i upuszczając go na aktywność Web.

    Przedstawia zrzut ekranu przedstawiający sposób łączenia działanie Kopiuj z pierwszym działaniem internetowym.

  21. Przeciągnij kolejną aktywność Web z przybornika Działania i upuść ją na obszarze projektanta potoku, a następnie ustaw nazwę na SendFailureEmailActivity.

    Przedstawia zrzut ekranu przedstawiający nazwę drugiego działania internetowego.

  22. Przejdź do karty Ustawienia i wykonaj następujące czynności:

    1. W pozycji Adres URL określ adres URL dla przepływu pracy aplikacji logicznych, który wysyła wiadomość e-mail o niepowodzeniu.

    2. Wybierz wartość POST dla pozycji Metoda.

    3. Kliknij link + Dodaj nagłówek w sekcji Nagłówki.

    4. Dodaj nagłówek Content-Type i ustaw go na wartość application/json.

    5. Podaj następujący kod JSON w pozycji Treść.

      {
          "message": "@{activity('Copy1').error.message}",
          "dataFactoryName": "@{pipeline().DataFactory}",
          "pipelineName": "@{pipeline().Pipeline}",
          "receiver": "@pipeline().parameters.receiver"
      }
      

      Przedstawia zrzut ekranu ustawień drugiej aktywności sieciowej.

  23. Wybierz czerwony przycisk X po prawej stronie akcji Kopiowanie w projektancie potoku i przenieś go na właśnie utworzoną aktywność SendFailureEmailActivity.

    Zrzut ekranu, który pokazuje, jak wybrać opcję Błąd w aktywności Kopiuj w projektancie potoku.

  24. Aby zweryfikować potok danych, kliknij przycisk Weryfikuj na pasku narzędzi. Zamknij okno Dane wyjściowe weryfikacji potoku, klikając na przycisk >>.

    Pokazuje zrzut ekranu przycisku Weryfikuj potok.

  25. Aby opublikować jednostki (zestawy danych, potoki itp.) w usłudze Data Factory, wybierz Opublikuj wszystko. Poczekaj na wyświetlenie komunikatu Pomyślnie opublikowano.

    Przedstawia zrzut ekranu przycisku Publikuj w portalu fabryki danych.

Wyzwól uruchomienie potoku, które zakończy się powodzeniem

  1. Aby uruchomić potok, kliknij Uruchom na pasku narzędzi, a następnie kliknij Uruchom teraz.

    Przedstawia zrzut ekranu przedstawiający przycisk Wyzwól teraz.

  2. W oknie Przebieg potoku wykonaj następujące czynności:

    1. Wprowadź wartość adftutorial/adfv2branch/input dla parametru sourceBlobContainer.

    2. Wprowadź wartość adftutorial/adfv2branch/output dla parametru sinkBlobContainer.

    3. Wprowadź adres e-mail odbiorcy receiver.

    4. Kliknij przycisk Zakończ

      Parametry uruchomienia potoku

Monitorowanie pomyślnego uruchomienia potoku

  1. Aby monitorować działanie potoku, przejdź do karty Monitorowanie po lewej stronie. Zostanie wyświetlone uruchomienie potoku, które zostało wyzwolone ręcznie przez Ciebie. Kliknij przycisk Odśwież, aby odświeżyć listę.

    Pomyślne zakończenie potoku

  2. Aby wyświetlić uruchomienia działań skojarzone z tym uruchomieniem potoku, kliknij na pierwszy link w kolumnie Akcje. Do poprzedniego widoku można wrócić, klikając pozycję Potoki u góry. Kliknij przycisk Odśwież, aby odświeżyć listę.

    Zrzut ekranu przedstawiający sposób wyświetlania listy przebiegów działań.

Uruchom potok, który zakończy się niepowodzeniem

  1. Przejdź do karty Edycja po lewej stronie.

  2. Aby uruchomić potok, kliknij Uruchom na pasku narzędzi, a następnie kliknij Uruchom teraz.

  3. W oknie Przebieg potoku wykonaj następujące czynności:

    1. Wprowadź adftutorial/dummy/input dla parametru sourceBlobContainer. Upewnij się, że folder „dummy” nie istnieje w kontenerze adftutorial.
    2. Wprowadź adftutorial/dummy/output jako parametr sinkBlobContainer.
    3. Wprowadź adres e-mail odbiorcy receiver.
    4. Kliknij przycisk Zakończ.

Monitoruj nieudane uruchomienie potoku

  1. Aby monitorować działanie potoku, przejdź do karty Monitorowanie po lewej stronie. Zostanie wyświetlone uruchomienie potoku, które zostało wyzwolone ręcznie przez Ciebie. Kliknij przycisk Odśwież, aby odświeżyć listę.

    Niepowodzenie uruchomienia potoku

  2. Kliknij link Błąd przebiegu potoku, aby wyświetlić szczegóły dotyczące błędu.

    Błąd pipeline'u

  3. Aby wyświetlić uruchomienia działań skojarzone z tym uruchomieniem potoku, kliknij na pierwszy link w kolumnie Akcje. Kliknij przycisk Odśwież, aby odświeżyć listę. Zwróć uwagę, że kopiowanie w potoku nie powiodło się. Działanie internetowe powiodło się i do określonego odbiorcy została wysłana wiadomość o niepowodzeniu.

    Wykonywanie działań

  4. Kliknij link Błąd w kolumnie Akcje, aby wyświetlić szczegóły dotyczące błędu.

    Błąd uruchamiania działania

W ramach tego samouczka wykonano następujące procedury:

  • Tworzenie fabryki danych.
  • Utwórz powiązaną usługę Azure Storage.
  • Utwórz zestaw danych Azure Blob
  • Utwórz potok zawierający akcję kopiowania i akcję sieciową.
  • Wysyłanie danych wyjściowych działań do kolejnych działań
  • Korzystanie z przekazywania parametrów i ze zmiennych systemowych
  • Rozpocznij uruchomienie potoku
  • Monitoruj potok i uruchomienia działań

Teraz możesz przejść do sekcji Pojęcia, aby uzyskać więcej informacji na temat usługi Azure Data Factory.