Kopiowanie danych z usługi Azure Blob Storage do bazy danych w usłudze Azure SQL Database przy użyciu usługi Azure Data Factory

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

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 utworzysz fabrykę danych przy użyciu interfejsu użytkownika usługi Azure Data Factory. Potok w tej fabryce danych kopiuje dane z usługi Azure Blob Storage do bazy danych w usłudze Azure SQL Database. Wzorzec konfiguracji w tym samouczku ma zastosowanie do kopiowania danych z magazynu opartego na plikach do relacyjnego magazynu danych. Aby zapoznać się z listą magazynów danych obsługiwanych jako źródła i ujścia, zobacz tabelę zawierającą obsługiwane magazyny danych.

Uwaga

Jeśli jesteś nowym użytkownikiem usługi Data Factory, zobacz Wprowadzenie do usługi Azure Data Factory.

Ten samouczek obejmuje wykonanie następujących kroków:

  • Tworzenie fabryki danych.
  • Tworzenie potoku z działaniem kopiowania.
  • Testowe uruchamianie potoku.
  • Ręczne wyzwalanie potoku.
  • Wyzwalanie potoku zgodnie z harmonogramem.
  • Monitorowanie uruchomień potoku i działań.

Wymagania wstępne

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

Tworzenie obiektu blob i tabeli SQL

Teraz przygotuj swój magazyn obiektów blob i bazę danych SQL na potrzeby tego samouczka, wykonując następujące kroki.

Tworzenie źródłowego obiektu Blob

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

    FirstName,LastName
    John,Doe
    Jane,Doe
    
  2. W magazynie obiektów blob utwórz kontener o nazwie adftutorial. W tym kontenerze utwórz folder o nazwie input. Następnie przekaż plik emp.txt do folderu input. Do wykonania tych zadań użyj witryny Azure Portal lub narzędzi takich jak Eksplorator usługi Azure Storage.

Tworzenie tabeli SQL ujścia

  1. Użyj następującego skryptu SQL, aby utworzyć tabelę dbo.emp w bazie danych:

    CREATE TABLE dbo.emp
    (
        ID int IDENTITY(1,1) NOT NULL,
        FirstName varchar(50),
        LastName varchar(50)
    )
    GO
    
    CREATE CLUSTERED INDEX IX_emp_ID ON dbo.emp (ID);
    
  2. Zezwól usługom platformy Azure na dostęp do programu SQL Server. Upewnij się, że ustawienie Zezwalaj na dostęp do usług platformy Azure jest włączone i ma wartość WŁĄCZ dla programu SQL Server, aby usługa Data Factory mogła zapisywać dane w programie SQL Server. Aby sprawdzić i włączyć to ustawienie, przejdź do pozycji Omówienie serwera logicznego SQL > — > ustawianie zapory> serwera ustaw opcję Zezwalaj na dostęp do usług platformy Azure na wartość .

Tworzenie fabryki danych

W tym kroku utworzysz fabrykę danych i uruchomisz interfejs użytkownika usługi Data Factory, aby utworzyć potok w fabryce danych.

  1. Otwórz przeglądarkę 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. W menu po lewej stronie wybierz pozycję Utwórz zasób>Integration>Data Factory.

  3. Na stronie Tworzenie fabryki danych na karcie Podstawy wybierz subskrypcję platformy Azure, w której chcesz utworzyć fabrykę danych.

  4. W obszarze Grupa zasobów wykonaj jedną z następujących czynności:

    a. Wybierz istniejącą grupę zasobów z listy rozwijanej.

    b. Wybierz pozycję Utwórz nową i wprowadź nazwę nowej 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).

  5. W obszarze Region wybierz lokalizację fabryki danych. Na liście rozwijanej są wyświetlane tylko obsługiwane lokalizacje. Magazyny danych (np. usługi Azure Storage i SQL Database) oraz jednostki obliczeniowe (np. usługa Azure HDInsight) używane przez fabrykę danych mogą znajdować się w innych regionach.

  6. W obszarze Nazwa wprowadź wartość ADFTutorialDataFactory.

    Nazwa fabryki danych platformy Azure musi być globalnie unikatowa. Jeśli zostanie wyświetlony komunikat o błędzie dotyczącym wartości nazwy, wprowadź inną nazwę dla fabryki danych. (na przykład twojanazwaADFTutorialDataFactory). Reguły nazewnictwa dla artefaktów usługi Data Factory można znaleźć w artykule Data Factory — reguły nazewnictwa.

    New data factory error message for duplicate name.

  7. W obszarze Wersja wybierz pozycję V2.

  8. Wybierz kartę Konfiguracja usługi Git u góry, a następnie zaznacz pole wyboru Konfiguruj usługę Git później .

  9. Wybierz pozycję Przejrzyj i utwórz, a następnie wybierz pozycję Utwórz po zakończeniu walidacji.

  10. Po zakończeniu tworzenia zostanie wyświetlone powiadomienie w Centrum powiadomień. Wybierz pozycję Przejdź do zasobu , aby przejść do strony Fabryka danych.

  11. Wybierz pozycję Otwórz na kafelku Otwórz usługę Azure Data Factory Studio , aby uruchomić interfejs użytkownika usługi Azure Data Factory na osobnej karcie.

Tworzenie potoku

W tym kroku utworzysz potok z działaniem kopiowania w fabryce danych. Działanie kopiowania kopiuje dane z magazynu obiektów blob do usługi SQL Database. W samouczku szybkiego startu utworzono potok, wykonując następujące czynności:

  1. Utworzenie połączonej usługi.
  2. Utworzenie wejściowych i wyjściowych zestawów danych.
  3. Tworzenie potoku.

W tym samouczku zaczniesz od utworzenia potoku. Następnie utworzysz usługi połączone i zestawy danych, gdy będą potrzebne do skonfigurowania potoku.

  1. Na stronie głównej wybierz pozycję Orkiestruj.

    Screenshot that shows the ADF home page.

  2. W panelu Ogólne w obszarze Właściwości określ wartość CopyPipeline w polu Nazwa. Następnie zwiń panel, klikając ikonę Właściwości w prawym górnym rogu.

  3. W polu narzędzia Działania rozwiń kategorię Przenieś i Przekształć, a następnie przeciągnij i upuść działanie Kopiuj dane z pola narzędzia do powierzchni projektanta potoku. Wprowadź wartość CopyFromBlobToSql w polu Nazwa.

    Copy activity

Konfigurowanie źródła

Napiwek

W tym samouczku użyjesz klucza konta jako typu uwierzytelniania dla źródłowego magazynu danych, ale w razie potrzeby możesz wybrać inne obsługiwane metody uwierzytelniania: identyfikator URI sygnatury dostępu współdzielonego, jednostka usługi i tożsamość zarządzana. Aby uzyskać szczegółowe informacje, zapoznaj się z odpowiednimi sekcjami w tym artykule . Aby bezpiecznie przechowywać wpisy tajne dla magazynów danych, zaleca się również używanie usługi Azure Key Vault. Zapoznaj się z tym artykułem, aby uzyskać szczegółowe ilustracje.

  1. Przejdź do karty Źródło . Wybierz pozycję + Nowy , aby utworzyć źródłowy zestaw danych.

  2. W oknie dialogowym Nowy zestaw danych wybierz pozycję Azure Blob Storage, a następnie wybierz pozycję Kontynuuj. Dane źródłowe znajdują się w magazynie obiektów blob, musisz więc wybrać usługę Azure Blob Storage dla źródłowego zestawu danych.

  3. W oknie dialogowym Wybieranie formatu wybierz typ formatu danych, a następnie wybierz pozycję Kontynuuj.

  4. W oknie dialogowym Ustawianie właściwości wprowadź wartość SourceBlobDataset w polu Nazwa. Zaznacz pole wyboru Pierwszy wiersz jako nagłówek. W polu tekstowym Połączona usługa wybierz pozycję + Nowy.

  5. W oknie dialogowym Nowa połączona usługa (Azure Blob Storage) wprowadź wartość AzureStorageLinkedService jako nazwę, wybierz konto magazynu z listy Nazwa konta magazynu. Przetestuj połączenie, wybierz pozycję Utwórz , aby wdrożyć połączoną usługę.

  6. Po utworzeniu połączonej usługi nastąpi powrót do strony Ustawianie właściwości . Wybierz przycisk Przeglądaj obok pozycji Ścieżka pliku.

  7. Przejdź do folderu adftutorial/input , wybierz plik emp.txt , a następnie wybierz przycisk OK.

  8. Wybierz przycisk OK. Automatycznie przechodzi do strony potoku. Na karcie Źródło upewnij się, że wybrano pozycję SourceBlobDataset . Aby wyświetlić podgląd danych na tej stronie, wybierz pozycję Podgląd danych.

    Source dataset

Konfigurowanie ujścia

Napiwek

W tym samouczku używasz uwierzytelniania SQL jako typu uwierzytelniania dla magazynu danych ujścia, ale w razie potrzeby możesz wybrać inne obsługiwane metody uwierzytelniania: Jednostka usługi i Tożsamość zarządzana. Aby uzyskać szczegółowe informacje, zapoznaj się z odpowiednimi sekcjami w tym artykule . Aby bezpiecznie przechowywać wpisy tajne dla magazynów danych, zaleca się również używanie usługi Azure Key Vault. Zapoznaj się z tym artykułem, aby uzyskać szczegółowe ilustracje.

  1. Przejdź do karty Ujście, a następnie wybierz pozycję + Nowy, aby utworzyć zestaw danych będący ujściem.

  2. W oknie dialogowym Nowy zestaw danych wprowadź ciąg "SQL" w polu wyszukiwania, aby filtrować łączniki, wybierz pozycję Azure SQL Database, a następnie wybierz pozycję Kontynuuj. W tym samouczku skopiujesz dane do bazy danych SQL.

  3. W oknie dialogowym Ustawianie właściwości wprowadź wartość OutputSqlDataset w polu Nazwa. Z listy rozwijanej Połączona usługa wybierz pozycję + Nowy. Zestaw danych musi być skojarzony z połączoną usługą. Połączona usługa ma parametry połączenia używane przez usługę Data Factory do nawiązywania połączenia z usługą SQL Database w czasie wykonywania. Zestaw danych określa kontener, folder i plik (opcjonalnie), do którego dane są kopiowane.

  4. W oknie dialogowym Nowa połączona usługa (Azure SQL Database) wykonaj następujące kroki:

    a. W obszarze Nazwa wprowadź wartość AzureSqlDatabaseLinkedService.

    b. W polu Nazwa serwera wybierz swoje wystąpienie programu SQL Server.

    c. W obszarze Nazwa bazy danych wybierz bazę danych.

    d. W polu Nazwa użytkownika wprowadź nazwę użytkownika.

    e. W polu Hasło wprowadź hasło użytkownika.

    f. Wybierz pozycję Testuj połączenie, aby przetestować połączenie.

    g. Wybierz pozycję Utwórz , aby wdrożyć połączoną usługę.

    Save new linked service

  5. Automatycznie przechodzi do okna dialogowego Ustawianie właściwości . W obszarze Tabela wybierz pozycję [dbo].[emp]. Następnie wybierz opcję OK.

  6. Przejdź do karty z potokiem i upewnij się, że w obszarze Zestaw danych będący ujściem wybrano pozycję OutputSqlDataset.

    Pipeline tab

Opcjonalnie można mapować schemat źródła na odpowiedni schemat docelowy, postępując zgodnie z mapowaniem schematu w działaniu kopiowania.

Weryfikowanie potoku

Wybierz na pasku narzędzi pozycję Weryfikuj, aby zweryfikować potok.

Kod JSON skojarzony z potokiem można wyświetlić, klikając pozycję Kod w prawym górnym rogu.

Debugowanie i publikowanie potoku

Przed opublikowaniem artefaktów (połączone usługi, zestawy danych i potok) w usłudze Data Factory lub własnym repozytorium Git usługi Azure Repos możesz debugować potok.

  1. Aby debugować potok, wybierz na pasku narzędzi pozycję Debuguj. Na karcie Dane wyjściowe w dolnej części okna wyświetlany jest stan uruchomienia potoku.

  2. Po pomyślnym uruchomieniu potoku na górnym pasku narzędzi wybierz pozycję Opublikuj wszystko. Ta akcja powoduje opublikowanie utworzonych jednostek (zestawy danych i potok) w usłudze Data Factory.

  3. Poczekaj na wyświetlenie komunikatu Pomyślnie opublikowano. Aby wyświetlić komunikaty powiadomień, kliknij pozycję Pokaż powiadomienia w prawym górnym rogu (przycisk dzwonka).

Ręczne wyzwalanie potoku

W tym kroku ręcznie wyzwolisz potok, który został opublikowany w poprzednim kroku.

  1. Wybierz pozycję Wyzwól na pasku narzędzi, a następnie wybierz pozycję Wyzwól teraz. Na stronie Uruchamianie potoku wybierz przycisk OK.

  2. Przejdź do karty Monitorowanie po lewej stronie. Widoczne jest uruchomienie potoku, które zostało wyzwolone za pomocą wyzwalacza ręcznego. Możesz użyć linków w kolumnie NAZWA POTOKu, aby wyświetlić szczegóły działania i ponownie uruchomić potok.

    Monitor pipeline runs

  3. Aby wyświetlić uruchomienia działań skojarzone z uruchomieniem potoku, wybierz link CopyPipeline w kolumnie NAZWA POTOKU. W tym przykładzie istnieje tylko jedno działanie, dlatego na liście jest widoczny tylko jeden wpis. Aby uzyskać szczegółowe informacje na temat operacji kopiowania, wybierz link Szczegóły (ikona okularów) w kolumnie NAZWA DZIAŁANIA. Wybierz pozycję Wszystkie uruchomienia potoku u góry, aby wrócić do widoku Uruchomienia potoku. Aby odświeżyć widok, wybierz pozycję Odśwież.

    Monitor activity runs

  4. Sprawdź, czy do tabeli emp w bazie danych są dodawane jeszcze dwa wiersze.

Wyzwalanie potoku zgodnie z harmonogramem

W tym kroku utworzysz wyzwalacz harmonogramu potoku. Wyzwalacz uruchamia potok zgodnie z określonym harmonogramem, na przykład co godzinę lub codziennie. W tym miejscu ustawisz wyzwalacz tak, aby był uruchamiany co minutę do określonej daty/godziny zakończenia.

  1. Przejdź do karty Tworzenie po lewej stronie karty Monitorowanie.

  2. Przejdź do potoku, kliknij pozycję Wyzwalacz na pasku narzędzi, a następnie wybierz pozycję Nowy/Edytuj.

  3. W oknie dialogowym Dodawanie wyzwalaczy wybierz pozycję + Nowy w obszarze Wybierz wyzwalacz.

  4. W oknie Nowy wyzwalacz wykonaj następujące czynności:

    a. W obszarze Nazwa wprowadź wartość RunEveryMinute.

    b. Zaktualizuj datę rozpoczęcia wyzwalacza. Jeśli data przypada przed bieżącą datą/godziną, wyzwalacz zacznie obowiązywać po opublikowaniu zmiany.

    c. W obszarze Strefa czasowa wybierz listę rozwijaną.

    d. Ustaw wartość Cykl na co 1 minutę.

    e. Zaznacz pole wyboru w polu Określ datę zakończenia i zaktualizuj część End On ( Koniec) w ciągu kilku minut po bieżącej dacie/godzinie. Wyzwalacz zostanie aktywowany tylko w przypadku, gdy opublikujesz zmiany. Jeśli ustawisz go tylko na kilka minut i nie opublikujesz go do tego czasu, nie widzisz uruchomienia wyzwalacza.

    f. W obszarze Aktywowano wybierz pozycję Tak.

    g. Kliknij przycisk OK.

    Ważne

    Za poszczególne uruchomienia potoku są naliczane opłaty, zatem określ stosowną datę zakończenia.

  5. Na stronie Edytowanie wyzwalacza przejrzyj ostrzeżenie, a następnie wybierz pozycję Zapisz. Potok w tym przykładzie nie przyjmuje żadnych parametrów.

  6. Kliknij pozycję Opublikuj wszystko , aby opublikować zmianę.

  7. Przejdź do karty Monitorowanie po lewej stronie, aby zobaczyć wyzwolone uruchomienia potoku.

    Triggered pipeline runs

  8. Aby przełączyć się z widoku Uruchomienia potoku do widoku Uruchomienia wyzwalacza, wybierz pozycję Uruchomienia wyzwalacza po lewej stronie okna.

  9. Uruchomienia wyzwalacza znajdują się na liście.

  10. Sprawdź, czy do tabeli emp są wstawiane dwa wiersze na minutę (dla każdego uruchomienia potoku), aż do określonego czasu zakończenia.

Potok w tym przykładzie kopiuje dane z jednej lokalizacji do innej lokalizacji w magazynie obiektów blob. W tym samouczku omówiono:

  • Tworzenie fabryki danych.
  • Tworzenie potoku z działaniem kopiowania.
  • Testowe uruchamianie potoku.
  • Ręczne wyzwalanie potoku.
  • Wyzwalanie potoku zgodnie z harmonogramem.
  • Monitorowanie uruchomień potoku i działań.

Aby dowiedzieć się, jak kopiować dane ze środowiska lokalnego do chmury, przejdź do następującego samouczka: