Udostępnij za pośrednictwem


Kopiowanie i przekształcanie danych w rozwiązaniu Snowflake w wersji 2 przy użyciu usługi Azure Data Factory lub Azure Synapse Analytics

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 artykule opisano sposób użycia aktywności Kopiuj w potokach usługi Azure Data Factory i Azure Synapse do kopiowania danych z usługi Snowflake i do niej oraz użycia Przepływu danych do przekształcania danych w Snowflake. Aby uzyskać więcej informacji, zobacz artykuł wprowadzający dotyczący usługi Data Factory lub Azure Synapse Analytics.

Ważne

Łącznik Snowflake V2 zapewnia ulepszoną natywną obsługę rozwiązania Snowflake. Jeśli używasz łącznika Snowflake V1 w rozwiązaniu, zaleca się uaktualnienie łącznika Snowflake przed 30 czerwca 2025 r. Zapoznaj się z tą sekcją , aby uzyskać szczegółowe informacje na temat różnic między wersjami V2 i V1.

Obsługiwane możliwości

Ten łącznik Snowflake jest obsługiwany dla następujących funkcjonalności:

Obsługiwane możliwości IR
Działanie kopiowania (źródło/ujście) (1) (2)
Przepływ danych mapowania (źródło/ujście)
Działanie wyszukiwania (1) (2)
Działanie skryptu (zastosuj wersję 1.1 (wersja zapoznawcza) podczas korzystania z parametru skryptu) (1) (2)

(1) Środowisko uruchomieniowe Azure Integration (2) Samodzielnie hostowane środowisko uruchomieniowe

Dla operacji Kopiuj ten łącznik Snowflake obsługuje następujące funkcje:

  • Skopiuj dane z usługi Snowflake przy użyciu polecenia COPY do lokalizacji [location], aby osiągnąć najlepszą wydajność.
  • Skopiuj dane do Snowflake, korzystając z polecenia COPY INTO [table] usługi Snowflake, aby uzyskać najlepszą wydajność. Obsługuje ona rozwiązanie Snowflake na platformie Azure.
  • Jeśli serwer proxy jest wymagany do nawiązania połączenia z usługą Snowflake z własnego środowiska Integration Runtime, należy skonfigurować zmienne środowiskowe dla HTTP_PROXY i HTTPS_PROXY na hoście środowiska Integration Runtime.

Wymagania wstępne

Jeśli magazyn danych znajduje się wewnątrz sieci lokalnej, sieci wirtualnej Azure lub Amazon Virtual Private Cloud, musisz skonfigurować własne środowisko Integration Runtime, aby się z nim połączyć. Pamiętaj, aby dodać adresy IP używane przez własne środowisko Integration Runtime do listy dozwolonych.

Jeśli magazyn danych jest zarządzaną usługą danych w chmurze, możesz użyć środowiska Azure Integration Runtime. Jeśli dostęp jest ograniczony do adresów IP zatwierdzonych w regułach zapory, możesz dodać adresy IP środowiska Azure Integration Runtime do listy dozwolonych.

Konto Snowflake używane dla źródła lub ujścia powinno mieć niezbędny USAGE właściwy dostęp do bazy danych i dostęp do odczytu i zapisu w schemacie oraz tabel/widoków w nim. Ponadto powinien on również być umieszczony w schemacie CREATE STAGE, aby móc utworzyć zewnętrzny etap przy użyciu URI sygnatury dostępu współdzielonego (SAS URI).

Należy ustawić następujące wartości właściwości konta

Nieruchomość Opis Wymagane Wartość domyślna
WYMAGANE INTEGRACJA MAGAZYNOWA DO TWORZENIA ETAPU Określa, czy należy wymagać obiektu integracji magazynowania jako poświadczeń chmury podczas tworzenia zewnętrznego etapu o nazwie (przy użyciu funkcji CREATE STAGE) w celu uzyskania dostępu do prywatnej lokalizacji magazynowania w chmurze. FAŁSZ FAŁSZ
WYMAGA_INTEGRACJI_MAGAZYNOWEJ_DLA_OPERACJI_STAGINGOWEJ Określa, czy należy użyć nazwanego etapu zewnętrznego, który odwołuje się do obiektu integracji magazynu jako poświadczeń chmury podczas ładowania danych z lub zwalniania danych do lokalizacji magazynu w chmurze prywatnej. FAŁSZ FAŁSZ

Aby uzyskać więcej informacji na temat mechanizmów zabezpieczeń sieci i opcji obsługiwanych przez usługę Data Factory, zobacz Strategie dostępu do danych.

Rozpocznij

Aby wykonać operację kopiowania za pomocą pipeline'u, możesz użyć jednego z następujących narzędzi lub zestawów SDK.

Tworzenie połączonej usługi z usługą Snowflake przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę Snowflake w interfejsie użytkownika portalu Azure.

  1. Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:

  2. Wyszukaj Snowflake i wybierz łącznik Snowflake.

    Zrzut ekranu przedstawiający łącznik Snowflake.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Zrzut ekranu przedstawiający połączoną konfigurację usługi snowflake.

Szczegóły konfiguracji łącznika

Poniższe sekcje zawierają szczegółowe informacje o właściwościach definiujących elementy specyficzne dla łącznika Snowflake.

Właściwości połączonej usługi

Te właściwości ogólne są obsługiwane w przypadku połączonej usługi Snowflake:

Nieruchomość Opis Wymagane
typ Właściwość type musi być ustawiona na SnowflakeV2. Tak
wersja Wersja, którą określisz. Zalecamy uaktualnienie do najnowszej wersji, aby skorzystać z najnowszych ulepszeń. Tak dla wersji 1.1 (wersja zapoznawcza)
identyfikator konta Nazwa konta wraz z jego organizacją. Na przykład myorg-account123. Tak
baza danych Domyślna baza danych używana na potrzeby sesji po nawiązaniu połączenia. Tak
magazyn Domyślny magazyn wirtualny używany na potrzeby sesji po nawiązaniu połączenia. Tak
typ uwierzytelniania Typ uwierzytelniania używanego do nawiązywania połączenia z usługą Snowflake. Dozwolone wartości to: Basic (Default) i KeyPair. Zapoznaj się z odpowiednimi sekcjami poniżej, aby uzyskać więcej właściwości i przykładów. Nie.
rola Domyślna rola zabezpieczeń używana dla sesji po nawiązaniu połączenia. Nie.
gospodarz Nazwa hosta konta Snowflake. Na przykład: contoso.snowflakecomputing.com. .cn jest również obsługiwany. Nie.
connectVia (połącz się) Środowisko uruchomieniowe integracji używane do nawiązywania połączenia z magazynem danych. Możesz użyć środowiska Azure Integration Runtime lub własnego środowiska Integration Runtime (jeśli magazyn danych znajduje się w sieci prywatnej). Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime. Nie.

Ten łącznik snowflake obsługuje następujące typy uwierzytelniania. Aby uzyskać szczegółowe informacje, zobacz odpowiednie sekcje.

Uwierzytelnianie podstawowe

Aby użyć uwierzytelniania podstawowego , oprócz właściwości ogólnych opisanych w poprzedniej sekcji, określ następujące właściwości:

Nieruchomość Opis Wymagane
Użytkownik Nazwa logowania użytkownika snowflake. Tak
hasło Hasło użytkownika snowflake. Oznacz to pole jako typ SecureString, aby przechowywać je bezpiecznie. Możesz również odwołać się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. Tak

Przykład:

{
    "name": "SnowflakeV2LinkedService",
    "properties": {
        "type": "SnowflakeV2",
        "typeProperties": {
            "accountIdentifier": "<accountIdentifier>",
            "database": "<database>",
            "warehouse": "<warehouse>",
            "authenticationType": "Basic",
            "user": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            },
            "role": "<role>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Hasło w usłudze Azure Key Vault:

{
    "name": "SnowflakeV2LinkedService",
    "properties": {
        "type": "SnowflakeV2",
        "typeProperties": {
            "accountIdentifier": "<accountIdentifier>",
            "database": "<database>",
            "warehouse": "<warehouse>",
            "authenticationType": "Basic",
            "user": "<username>",
            "password": {
                "type": "AzureKeyVaultSecret",
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>",
                    "type": "LinkedServiceReference"
                }, 
                "secretName": "<secretName>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Uwierzytelnianie pary kluczy

Aby użyć uwierzytelniania pary kluczy, należy skonfigurować i utworzyć użytkownika uwierzytelniania pary kluczy w usłudze Snowflake, zapoznając się z uwierzytelnianiem pary kluczy i rotacją pary kluczy. Następnie zanotuj klucz prywatny i hasło (opcjonalnie), które służy do definiowania połączonej usługi.

Oprócz właściwości ogólnych opisanych w poprzedniej sekcji określ następujące właściwości:

Nieruchomość Opis Wymagane
Użytkownik Nazwa logowania użytkownika snowflake. Tak
privateKey (klucz prywatny) Klucz prywatny używany do uwierzytelniania pary kluczy.

Aby upewnić się, że klucz prywatny jest prawidłowy w momencie jego wysyłania do usługi Azure Data Factory i biorąc pod uwagę, że plik privateKey zawiera znaki nowej linii (\n), ważne jest, aby poprawnie sformatować zawartość privateKey w formie literału tekstowego. Ten proces obejmuje jawne dodanie \n do każdego nowego wiersza.
Tak
hasło klucza prywatnego Hasło używane do odszyfrowywania klucza prywatnego, jeśli jest zaszyfrowane. Nie.

Przykład:

{
    "name": "SnowflakeV2LinkedService",
    "properties": {
        "type": "SnowflakeV2",
        "typeProperties": {
            "accountIdentifier": "<accountIdentifier>",
            "database": "<database>",
            "warehouse": "<warehouse>",
            "authenticationType": "KeyPair",
            "user": "<username>",
            "privateKey": {
                "type": "SecureString",
                "value": "<privateKey>"
            },
            "privateKeyPassphrase": { 
                "type": "SecureString",
                "value": "<privateKeyPassphrase>"
            },
            "role": "<role>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Uwaga

Dla odwzorowania przepływów danych zalecamy wygenerowanie nowego klucza prywatnego RSA używając standardu PKCS#8 w formacie PEM (plik .p8).

Właściwości zestawu danych

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania zestawów danych, zobacz artykuł Zestawy danych .

Następujące właściwości są obsługiwane dla zestawu danych Snowflake.

Nieruchomość Opis Wymagane
typ Właściwość type zestawu danych musi być ustawiona na SnowflakeV2Table. Tak
schemat Nazwa schematu. Zwróć uwagę, że w nazwie schematu jest uwzględniana wielkość liter. Nie dla źródła, tak dla zlewu
stół Nazwa tabeli/widoku. Zwróć uwagę, że w nazwie tabeli jest rozróżniana wielkość liter. Nie dla źródła, tak dla zlewu

Przykład:

{
    "name": "SnowflakeV2Dataset",
    "properties": {
        "type": "SnowflakeV2Table",
        "typeProperties": {
            "schema": "<Schema name for your Snowflake database>",
            "table": "<Table name for your Snowflake database>"
        },
        "schema": [ < physical schema, optional, retrievable during authoring > ],
        "linkedServiceName": {
            "referenceName": "<name of linked service>",
            "type": "LinkedServiceReference"
        }
    }
}

Właściwości działania kopiowania

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines. Ta sekcja zawiera listę właściwości obsługiwanych przez źródło i odbiornik Snowflake.

Płatk śniegu jako źródło

Łącznik Snowflake wykorzystuje polecenie Snowflake COPY into [location] w celu uzyskania najlepszej wydajności.

Jeśli magazyn danych ujścia i format są natywnie obsługiwane przez polecenie Snowflake COPY, możesz użyć aktywności Kopiuj, aby bezpośrednio skopiować z Snowflake do magazynu danych ujścia. Aby uzyskać szczegółowe informacje, zobacz Bezpośrednia kopia ze Snowflake. W przeciwnym razie użyj wbudowanej etapowej kopii zapasowej z usługi Snowflake.

Aby skopiować dane z usługi Snowflake, następujące właściwości są obsługiwane w sekcji Źródło działania kopiowania.

Nieruchomość Opis Wymagane
typ Właściwość type źródła działania Copy musi być ustawiona na SnowflakeV2Source. Tak
zapytanie Określa zapytanie SQL do odczytu danych z usługi Snowflake. Jeśli nazwy schematu, tabeli i kolumn zawierają małe litery, podaj identyfikator obiektu w zapytaniu, np. select * from "schema"."myTable".
Wykonywanie procedury składowanej nie jest obsługiwane.
Nie.
ustawienia eksportu Ustawienia zaawansowane używane do pobierania danych z usługi Snowflake. Można skonfigurować opcje obsługiwane przez polecenie COPY INTO, które usługa będzie stosować po wywołaniu tej instrukcji. Tak
W obszarze exportSettings:
typ Typ polecenia eksportu, ustawiony na SnowflakeExportCopyCommand. Tak
integracja przechowywania Określ nazwę integracji magazynu utworzonej w aplikacji Snowflake. Aby zapoznać się z krokami wstępnymi dotyczącymi korzystania z integracji przechowywania danych, zobacz w Konfigurowanie integracji przechowywania danych Snowflake. Nie.
dodatkoweOpcjeKopiowania Dodatkowe opcje kopiowania udostępniane w formie słownika par klucz-wartość. Przykłady: MAX_FILE_SIZE, NADPISAĆ. Aby uzyskać więcej informacji, zobacz Snowflake Copy Options. Nie.
dodatkoweOpcjeFormatowania Dodatkowe opcje formatowania pliku przekazywane poleceniu COPY jako słownik par klucz-wartość. Przykłady: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT, NULL_IF. Aby uzyskać więcej informacji, zobacz Snowflake Format Type Options (Opcje typu formatu snowflake).

W przypadku używania NULL_IF wartość NULL w usłudze Snowflake jest konwertowana na określoną wartość (która musi być ujęta w pojedynczy cudzysłów) podczas zapisywania w pliku tekstowym z ogranicznikami w magazynie tymczasowym. Określoną wartość traktuje się jako NULL podczas odczytywania z pliku przejściowego do pamięci docelowej. Domyślna wartość to 'NULL'.
Nie.

Uwaga

Upewnij się, że masz uprawnienia do wykonywania następującego polecenia i uzyskiwania dostępu do INFORMATION_SCHEMA schematu i tabeli COLUMNS.

  • COPY INTO <location>

Bezpośrednia kopia z usługi Snowflake

Jeśli magazyn danych docelowy i format spełniają kryteria opisane w tej sekcji, możesz użyć aktywności kopiowania, aby bezpośrednio skopiować z Snowflake do lokalizacji docelowej. Usługa sprawdza ustawienia i zakończy działanie Kopiowania niepowodzeniem, jeśli nie zostanie spełnione następujące kryterium.

  • Kiedy określisz storageIntegration w źródle:

    Magazyn danych ujścia to usługa Azure Blob Storage, o której mowa na etapie zewnętrznym w rozwiązaniu Snowflake. Przed skopiowaniem danych należy wykonać następujące czynności:

    1. Utwórz połączoną usługę Azure Blob Storage dla odbiornika usługi Azure Blob Storage z dowolnymi obsługiwanymi typami uwierzytelniania.

    2. Przyznaj co najmniej rolę Współautor danych obiektów blob jednostce usługi Snowflake w sekcji Kontrola dostępu (IAM) usługi Azure Blob Storage.

  • Jeśli nie określisz storageIntegration w źródle:

    Połączona usługa ujścia to Azure Blob Storage z uwierzytelnianiem sygnatury dostępu współdzielonego. Jeśli chcesz bezpośrednio skopiować dane do usługi Azure Data Lake Storage Gen2 w następującym obsługiwanym formacie, możesz utworzyć połączoną usługę Azure Blob Storage z uwierzytelnianiem SAS względem konta usługi Azure Data Lake Storage Gen2, aby uniknąć używania kopii etapowej z usługi Snowflake.

  • Format danych ujścia to Parquet, tekst rozdzielany lub JSON z następującymi konfiguracjami:

    • W przypadku formatu Parquet koder kompresji to None, Snappy lub Lzo.
    • W przypadku formatu tekstu rozdzielanego :
      • rowDelimiter jest \r\n, lub dowolny pojedynczy znak.
      • compression może być bez kompresji, gzip, bzip2 lub deflate.
      • encodingName jest pozostawiona domyślna lub ustawiona na utf-8.
      • quoteChar jest cudzysłowem podwójnym, pojedynczym cudzysłowem lub pustym ciągiem (bez znaku cudzysłowu).
    • W przypadku formatu JSON kopiowanie bezpośrednie obsługuje tylko przypadek, w przypadku którego źródłowa tabela Snowflake lub wynik zapytania zawiera tylko jedną kolumnę, a typ danych tej kolumny to VARIANT, OBJECT lub ARRAY.
      • compression może być bez kompresji, gzip, bzip2 lub deflate.
      • encodingName jest pozostawiona domyślna lub ustawiona na utf-8.
      • filePattern w obszarze docelowym działania kopiowania jest pozostawiona jako domyślna lub ustawiona na setOfObjects.
  • W źródle operacji kopiowania additionalColumns nie jest określony.

  • Nie określono mapowania kolumn.

Przykład:

"activities":[
    {
        "name": "CopyFromSnowflake",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Snowflake input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SnowflakeV2Source",
                "query": "SELECT * FROM MYTABLE",
                "exportSettings": {
                    "type": "SnowflakeExportCopyCommand",
                    "additionalCopyOptions": {
                        "MAX_FILE_SIZE": "64000000",
                        "OVERWRITE": true
                    },
                    "additionalFormatOptions": {
                        "DATE_FORMAT": "'MM/DD/YYYY'"
                    },
                    "storageIntegration": "< Snowflake storage integration name >"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Kopia etapowa z usługi Snowflake

Jeśli docelowy magazyn danych lub format nie jest natywnie zgodny z poleceniem Snowflake COPY, jak wspomniano w ostatniej sekcji, włącz wbudowaną etapową kopię przy użyciu tymczasowego wystąpienia usługi Azure Blob Storage. Funkcja kopiowania etapowego zapewnia również lepszą przepływność. Usługa eksportuje dane z usługi Snowflake do magazynu przejściowego, następnie kopiuje je do docelowego magazynu, a na koniec czyści tymczasowe dane z magazynu przejściowego. Zobacz Kopiowanie etapowe , aby uzyskać szczegółowe informacje na temat kopiowania danych przy użyciu przemieszczania.

Aby użyć tej funkcji, utwórz powiązaną usługę Azure Blob Storage, która odwołuje się do konta magazynowego Azure jako tymczasowego miejsca przechowywania. Następnie określ właściwości enableStaging i stagingSettings w czynności Kopiuj.

  • Po określeniu storageIntegration w źródle tymczasowe przechowywanie Azure Blob Storage powinno być tym, o którym mowa w zewnętrznym etapie w usłudze Snowflake. Upewnij się, że utworzono połączoną usługę Azure Blob Storage z dowolnym obsługiwanym uwierzytelnianiem podczas korzystania ze środowiska Azure Integration Runtime lub przy użyciu anonimowego klucza konta, sygnatury dostępu współdzielonego lub uwierzytelniania jednostki usługi podczas korzystania z własnego środowiska Integration Runtime. Ponadto przyznaj co najmniej rolę Współautor danych przechowywania obiektów blob jednostce usługi Snowflake w obszarze kontrola dostępu Azure Blob Storage (IAM).

  • Jeśli nie określisz storageIntegration w źródle, tymczasowa usługa łączona Azure Blob Storage musi korzystać z uwierzytelniania za pomocą współdzielonej sygnatury dostępu, zgodnie z wymaganiami polecenia Snowflake COPY. Upewnij się, że udzielono odpowiednich uprawnień dostępu do usługi Snowflake w przejściowej lokalizacji Azure Blob Storage. Aby dowiedzieć się więcej na ten temat, zobacz ten artykuł.

Przykład:

"activities":[
    {
        "name": "CopyFromSnowflake",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Snowflake input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "SnowflakeV2Source",               
                "query": "SELECT * FROM MyTable",
                "exportSettings": {
                    "type": "SnowflakeExportCopyCommand",
                    "storageIntegration": "< Snowflake storage integration name >"                    
                }
            },
            "sink": {
                "type": "<sink type>"
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingBlob",
                    "type": "LinkedServiceReference"
                },
                "path": "mystagingpath"
            }
        }
    }
]

Podczas wykonywania etapowej kopii z usługi Snowflake kluczowe jest ustawienie opcji kopiowania w lokalizacji docelowej na Scalanie plików. To ustawienie gwarantuje, że wszystkie partycjonowane pliki są poprawnie obsługiwane i scalane, uniemożliwiając problem polegający na tym, że skopiowany jest tylko ostatni plik partycjonowany.

Przykładowa konfiguracja

{
    "type": "Copy",
    "source": {
        "type": "SnowflakeSource",
        "query": "SELECT * FROM my_table"
    },
    "sink": {
        "type": "AzureBlobStorage",
        "copyBehavior": "MergeFiles"
    }
}

Uwaga

Niezastosowanie ustawienia zachowania kopiowania dla ujścia na scalanie plików może spowodować skopiowanie tylko ostatniego pliku partycjonowanego.

Płatki śniegu jako pochłaniacz

Łącznik Snowflake wykorzystuje polecenie Snowflake COPY INTO [table] w celu uzyskania najlepszej wydajności. Obsługuje zapisywanie danych w aplikacji Snowflake na platformie Azure.

Jeśli źródłowy magazyn danych i format są natywnie obsługiwane przez polecenie Snowflake COPY, możesz użyć aktywności Kopiuj, aby bezpośrednio skopiować ze źródła do Snowflake. Aby uzyskać szczegółowe informacje, zobacz Bezpośrednia kopia do Snowflake. W przeciwnym razie użyj wbudowanej funkcji Staged copy to Snowflake.

Aby skopiować dane do Snowflake, sekcja docelowa działania kopiowania obsługuje następujące właściwości.

Nieruchomość Opis Wymagane
typ Właściwość typu ujścia operacji kopiowania ustawiona na SnowflakeV2Sink. Tak
preCopyScript Określ zapytanie SQL dla działania kopiowania, aby uruchomić przed zapisaniem danych w Snowflake każdorazowo. Użyj tej właściwości, aby wyczyścić wstępnie załadowane dane. Nie.
ustawienia importu Ustawienia zaawansowane używane do zapisywania danych w usłudze Snowflake. Można skonfigurować opcje obsługiwane przez polecenie COPY INTO, które usługa będzie stosować po wywołaniu tej instrukcji. Tak
W obszarze importSettings:
typ Typ polecenia importu, ustawiony na SnowflakeImportCopyCommand. Tak
integracja przechowywania Określ nazwę integracji magazynu utworzonej w aplikacji Snowflake. Aby zapoznać się z krokami wstępnymi dotyczącymi korzystania z integracji przechowywania danych, zobacz w Konfigurowanie integracji przechowywania danych Snowflake. Nie.
dodatkoweOpcjeKopiowania Dodatkowe opcje kopiowania udostępniane w formie słownika par klucz-wartość. Przykłady: ON_ERROR, FORCE, ŁADUJ_NIEPEWNE_PLIKI. Aby uzyskać więcej informacji, zobacz Snowflake Copy Options. Nie.
dodatkoweOpcjeFormatowania Dodatkowe opcje formatów plików dostępne dla polecenia COPY, podane jako słownik par klucz-wartość. Przykłady: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Aby uzyskać więcej informacji, zobacz Snowflake Format Type Options (Opcje typu formatu snowflake). Nie.

Uwaga

Upewnij się, że masz uprawnienia do wykonywania następującego polecenia i uzyskiwania dostępu do INFORMATION_SCHEMA schematu i tabeli COLUMNS.

  • SELECT CURRENT_REGION()
  • COPY INTO <table>
  • SHOW REGIONS
  • CREATE OR REPLACE STAGE
  • DROP STAGE

Bezpośrednia kopia do Snowflake

Jeśli źródłowy magazyn danych i format spełniają kryteria opisane w tej sekcji, możesz użyć działanie Kopiuj, aby bezpośrednio skopiować ze źródła do usługi Snowflake. Usługa sprawdza ustawienia i zakończy działanie Kopiowania niepowodzeniem, jeśli nie zostanie spełnione następujące kryterium.

  • Po określeniu storageIntegration w ujściu:

    Źródłowy magazyn danych to Azure Blob Storage, o której wspomniałeś na etapie zewnętrznym w Snowflake. Przed skopiowaniem danych należy wykonać następujące czynności:

    1. Utwórz połączoną usługę Azure Blob Storage dla źródłowej usługi Azure Blob Storage z dowolnymi obsługiwanymi typami uwierzytelniania.

    2. Przyznaj co najmniej rolę Czytelnik danych obiektu blob usługi Storage jednostce usługi Snowflake w źródłowej kontroli dostępu do usługi Azure Blob Storage (IAM).

  • Jeśli nie określisz storageIntegration ujścia:

    Źródłowa połączona usługa to Azure Blob Storage z uwierzytelnianiem sygnaturą wspólnego dostępu. Jeśli chcesz bezpośrednio skopiować dane z usługi Azure Data Lake Storage Gen2 w następującym obsługiwanym formacie, możesz utworzyć połączoną usługę Azure Blob Storage z uwierzytelnianiem SAS względem konta usługi Azure Data Lake Storage Gen2, aby uniknąć używania kopii etapowej do usługi Snowflake.

  • Format danych źródłowych to Parquet, Rozdzielany tekst lub JSON z następującymi konfiguracjami:

    • W przypadku formatu Parquet koder kompresji to None lub Snappy.

    • W przypadku formatu tekstu rozdzielanego :

      • rowDelimiter jest \r\n, lub dowolny pojedynczy znak. Jeśli ogranicznik wierszy nie jest "\r\n", firstRowAsHeader musi być fałszywy i skipLineCount nie jest określony.
      • compression może być bez kompresji, gzip, bzip2 lub deflate.
      • encodingName jest pozostawiona jako domyślna lub ustawiona na "UTF-8", "UTF-16", "UTF-16BE", "UTF-32", "UTF-32BE", "BIG5", "EUC-JP", "EUC-KR", "GB18030", "ISO-2022-JP", "ISO-2022-KR", "ISO-8859-1", "ISO-8859-2", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "WINDOWS-1250", "WINDOWS-1251", "WINDOWS-1252", "WINDOWS-1253", "WINDOWS-1254", "WINDOWS-1255".
      • quoteChar jest cudzysłowem podwójnym, pojedynczym cudzysłowem lub pustym ciągiem (bez znaku cudzysłowu).
    • W przypadku formatu JSON kopiowanie bezpośrednie obsługuje jedynie sytuację, gdy docelowa tabela Snowflake ma jedną kolumnę, a typ danych tej kolumny to VARIANT, OBJECT lub ARRAY.

      • compression może być bez kompresji, gzip, bzip2 lub deflate.
      • encodingName jest pozostawiona domyślna lub ustawiona na utf-8.
      • Nie określono mapowania kolumn.
  • W źródle aktywności kopiowania

    • additionalColumns nie jest określony.
    • Jeśli źródło jest folderem, recursive ma wartość true.
    • prefix, , modifiedDateTimeStartmodifiedDateTimeEndi enablePartitionDiscovery nie są określone.

Przykład:

"activities":[
    {
        "name": "CopyToSnowflake",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Snowflake output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "SnowflakeV2Sink",
                "importSettings": {
                    "type": "SnowflakeImportCopyCommand",
                    "copyOptions": {
                        "FORCE": "TRUE",
                        "ON_ERROR": "SKIP_FILE"
                    },
                    "fileFormatOptions": {
                        "DATE_FORMAT": "YYYY-MM-DD"
                    },
                    "storageIntegration": "< Snowflake storage integration name >"
                }
            }
        }
    }
]

Kopiowanie etapowe do Snowflake

Jeśli źródłowy magazyn danych lub format nie jest natywnie zgodny z poleceniem Snowflake COPY, zgodnie z informacją zawartą w ostatniej sekcji, włącz wbudowane etapowe kopiowanie przy użyciu tymczasowego wystąpienia usługi Azure Blob Storage. Funkcja kopiowania etapowego zapewnia również lepszą przepływność. Usługa automatycznie konwertuje dane w celu spełnienia wymagań dotyczących formatu danych snowflake. Następnie wywołuje polecenie COPY w celu załadowania danych do usługi Snowflake. Na koniec czyści dane tymczasowe z magazynu obiektów BLOB. Zobacz Kopiowanie z etapowaniem, aby uzyskać szczegółowe informacje na temat kopiowania danych przy użyciu etapowania.

Aby użyć tej funkcji, utwórz powiązaną usługę Azure Blob Storage, która odwołuje się do konta magazynowego Azure jako tymczasowego miejsca przechowywania. Następnie określ właściwości enableStaging i stagingSettings w czynności Kopiuj.

  • Po określeniu storageIntegration w ujściu, tymczasowy przejściowy magazyn obiektów blob platformy Azure powinien być tym, który odwołano do etapu zewnętrznego w usłudze Snowflake. Upewnij się, że utworzono połączoną usługę Azure Blob Storage z dowolnym obsługiwanym uwierzytelnianiem podczas korzystania ze środowiska Azure Integration Runtime lub przy użyciu anonimowego klucza konta, sygnatury dostępu współdzielonego lub uwierzytelniania jednostki usługi podczas korzystania z własnego środowiska Integration Runtime. Ponadto przyznaj co najmniej rolę Czytelnik danych obiektu blob usługi Storage jednostce usługi Snowflake w przejściowej kontroli dostępu do usługi Azure Blob Storage (IAM).

  • Jeśli nie określisz storageIntegration w ujściu, tymczasowy powiązany serwis Azure Blob Storage musi używać uwierzytelniania za pomocą sygnatury dostępu współdzielonego, zgodnie z wymaganiami polecenia Snowflake COPY.

Przykład:

"activities":[
    {
        "name": "CopyToSnowflake",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Snowflake output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "SnowflakeV2Sink",
                "importSettings": {
                    "type": "SnowflakeImportCopyCommand",
                    "storageIntegration": "< Snowflake storage integration name >"
                }
            },
            "enableStaging": true,
            "stagingSettings": {
                "linkedServiceName": {
                    "referenceName": "MyStagingBlob",
                    "type": "LinkedServiceReference"
                },
                "path": "mystagingpath"
            }
        }
    }
]

Mapowanie właściwości przepływu danych

Podczas przekształcania danych w przepływie danych mapowania można odczytywać dane z tabel i zapisywać je w usłudze Snowflake. Aby uzyskać więcej informacji, zobacz transformację źródła i transformację ujścia w przepływach danych mapowania. Możesz użyć zestawu danych Snowflake lub wbudowanego zestawu danych jako typu źródła i ujścia.

Przekształcanie źródła

W poniższej tabeli wymieniono właściwości obsługiwane przez źródło Snowflake. Można edytować te właściwości na karcie Opcje źródła. Łącznik korzysta z wewnętrznego transferu danych Snowflake.

Nazwa/nazwisko Opis Wymagane Dozwolone wartości Właściwość skryptu przepływu danych
Stół W przypadku wybrania Tabela jako danych wejściowych przepływ danych pobierze wszystkie dane z tabeli określonej w zestawie danych Snowflake lub w opcjach źródła przy korzystaniu z wbudowanego zestawu danych. Nie. Struna (tylko w przypadku wbudowanego zestawu danych)
nazwaTabeli
nazwa schematu
Zapytanie Jeśli wybierzesz pozycję Zapytanie jako dane wejściowe, wprowadź zapytanie, aby pobrać dane z usługi Snowflake. To ustawienie zastępuje dowolną tabelę wybraną w zestawie danych.
Jeśli nazwy schematu, tabeli i kolumn zawierają małe litery, podaj identyfikator obiektu w zapytaniu, np. select * from "schema"."myTable".
Nie. Struna zapytanie
Włącz wyodrębnianie przyrostowe (wersja zapoznawcza) Użyj tej opcji, aby poinformować ADF o przetwarzaniu tylko tych wierszy, które uległy zmianie od czasu ostatniego uruchomienia potoku. Nie. boolean enableCdc
Kolumna przyrostowa W przypadku korzystania z funkcji wyodrębniania przyrostowego należy wybrać kolumnę typu daty, godziny lub liczbowego, której chcesz użyć jako znacznika w tabeli źródłowej. Nie. Struna kolumna znaków wodnych
Włącz Funkcję Śledzenia Zmian Snowflake (wersja zapoznawcza) Ta opcja umożliwia usłudze ADF wykorzystanie technologii wychwytywania zmian danych usługi Snowflake w celu przetwarzania wyłącznie danych delta od czasu poprzedniego uruchomienia potoku. Ta opcja automatycznie ładuje dane różnicowe poprzez operacje wstawiania, aktualizowania i usuwania wierszy bez konieczności używania żadnych dodatkowych kolumn. Nie. boolean enableNativeCdc
Zmiany netto W przypadku korzystania ze śledzenia zmian płatka śniegu można użyć tej opcji, aby uzyskać deduplikowane zmienione wiersze lub wyczerpujące zmiany. Odfiltrowane zmienione wiersze będą wyświetlać tylko najnowsze wersje wierszy, które uległy zmianie od określonego momentu czasu, natomiast wyczerpujące zmiany pokażą wszystkie wersje każdego wiersza, które uległy zmianie, w tym te, które zostały usunięte lub zaktualizowane. Jeśli na przykład zaktualizujesz wiersz, zobaczysz wersję usunięcia i wersję wstawienia w szczegółowych zmianach, ale tylko wersję wstawienia w zduplikowanych zmienionych wierszach. W zależności od przypadku użycia możesz wybrać opcję, która odpowiada Twoim potrzebom. Domyślna opcja to false, co oznacza wyczerpujące zmiany. Nie. boolean zmiany netto
Uwzględnij kolumny systemowe W przypadku korzystania ze śledzenia zmian płatka śniegu można użyć opcji systemColumns, aby kontrolować, czy kolumny strumienia metadanych dostarczone przez usługę Snowflake są uwzględniane lub wykluczone w danych wyjściowych śledzenia zmian. Domyślnie właściwość systemColumns jest ustawiona na wartość true, co oznacza, że kolumny strumienia metadanych są uwzględniane. Możesz ustawić wartość systemColumns na wartość false, jeśli chcesz je wykluczyć. Nie. boolean kolumny systemowe
Rozpocznij czytanie od początku Ustawienie tej opcji z wyodrębnianiem przyrostowym i śledzeniem zmian spowoduje, że usługa ADF odczyta wszystkie wiersze przy pierwszym wykonywaniu potoku z włączonym wyodrębnianiem przyrostowym. Nie. boolean pomińPoczątkoweŁadowanie

Przykłady skryptów źródłowych Snowflake

Jeśli używasz zestawu danych Snowflake jako typu źródła, skojarzony skrypt przepływu danych to:

source(allowSchemaDrift: true,
	validateSchema: false,
	query: 'select * from MYTABLE',
	format: 'query') ~> SnowflakeSource

Jeśli używasz wbudowanego zestawu danych, skojarzony skrypt przepływu danych to:

source(allowSchemaDrift: true,
	validateSchema: false,
	format: 'query',
	query: 'select * from MYTABLE',
	store: 'snowflake') ~> SnowflakeSource

Natywne śledzenie zmian

Usługa Azure Data Factory obsługuje teraz funkcję natywną w rozwiązaniu Snowflake znaną jako śledzenie zmian, która obejmuje śledzenie zmian w postaci dzienników. Ta funkcja płatka śniegu pozwala nam śledzić zmiany w danych w czasie, co ułatwia przyrostowe ładowanie i inspekcję danych. Aby użyć tej funkcji, po włączeniu przechwytywania zmian i wybraniu Śledzenia Zmian Snowflake, tworzymy obiekt Stream dla tabeli źródłowej, która umożliwia śledzenie zmian w źródłowej tabeli Snowflake. Następnie użyjemy klauzuli CHANGES w zapytaniu, aby pobrać tylko nowe lub zaktualizowane dane z tabeli źródłowej. Ponadto zaleca się zaplanowanie potoku tak, aby zmiany były przetwarzane w przedziale czasu przechowywania danych ustawionym dla tabeli źródłowej Snowflake, aby inaczej użytkownik nie zobaczył niespójnego zachowania w rejestrowanych zmianach.

Przekształcenie ujścia

W poniższej tabeli wymieniono właściwości obsługiwane przez sink Snowflake. Te właściwości można edytować na karcie Ustawienia . W przypadku korzystania z wbudowanego zestawu danych zobaczysz dodatkowe ustawienia, które są takie same jak właściwości opisane w sekcji właściwości zestawu danych . Łącznik korzysta z wewnętrznego transferu danych Snowflake.

Nazwa/nazwisko Opis Wymagane Dozwolone wartości Właściwość skryptu przepływu danych
Metoda aktualizacji Określ, jakie operacje są dozwolone na Twoim miejscu docelowym Snowflake.
Aby zaktualizować, wstawić lub usunąć wiersze, wymagane jest przekształcenie typu 'Alter row' do oznaczania wierszy dla tych akcji.
Tak true lub false możliwe do usunięcia
wstawialny
możliwe do aktualizacji
możliwość aktualizacji lub dodawania
Kolumny kluczy W przypadku aktualizacji, operacji upsert i usuwania należy ustawić kolumnę klucza lub kolumny w celu określenia, który wiersz ma zostać zmieniony. Nie. Tablica klucze
Działanie tabeli Określa, czy należy ponownie utworzyć lub usunąć wszystkie wiersze z tabeli docelowej przed zapisem.
- Brak: żadna akcja nie zostanie wykonana w tabeli.
- Stwórz ponownie: tabela zostanie usunięta i utworzona ponownie. Wymagane w przypadku dynamicznego tworzenia nowej tabeli.
- Truncate: Wszystkie wiersze z tabeli docelowej zostaną usunięte.
Nie. true lub false odtworzyć
skrócić

Przykłady skryptów odbiorników Snowflake

W przypadku użycia zestawu danych Snowflake jako typu ujścia skojarzony skrypt przepływu danych to:

IncomingStream sink(allowSchemaDrift: true,
	validateSchema: false,
	deletable:true,
	insertable:true,
	updateable:true,
	upsertable:false,
	keys:['movieId'],
	format: 'table',
	skipDuplicateMapInputs: true,
	skipDuplicateMapOutputs: true) ~> SnowflakeSink

Jeśli używasz wbudowanego zestawu danych, skojarzony skrypt przepływu danych to:

IncomingStream sink(allowSchemaDrift: true,
	validateSchema: false,
	format: 'table',
	tableName: 'table',
	schemaName: 'schema',
	deletable: true,
	insertable: true,
	updateable: true,
	upsertable: false,
	store: 'snowflake',
	skipDuplicateMapInputs: true,
	skipDuplicateMapOutputs: true) ~> SnowflakeSink

Optymalizacja przepychania zapytań

Ustawiając poziom rejestrowania potoku na Brak, wykluczamy przesyłanie metryk transformacji pośredniej, uniemożliwiając potencjalne przeszkody optymalizacjom platformy Spark i włączając optymalizację wypychania zapytań zapewnianą przez usługę Snowflake. Ta optymalizacja pushdown umożliwia znaczne ulepszenia wydajności dla dużych tabel Snowflake z dużymi zestawami danych.

Uwaga

Nie obsługujemy tabel tymczasowych w usłudze Snowflake, ponieważ są one lokalne dla sesji lub użytkownika, który je tworzy, co czyni je niedostępnymi dla innych sesji i podatnymi na zastępowanie jako zwykłe tabele przez usługę Snowflake. Chociaż Snowflake oferuje tabele przejściowe jako alternatywę, które są dostępne globalnie, wymagają jednak ręcznego usuwania, co jest sprzeczne z naszym podstawowym celem korzystania z tabel tymczasowych, jakim jest unikanie wszelkich operacji usuwania w schemacie źródłowym.

Mapowanie typów danych dla usługi Snowflake V2

Podczas kopiowania danych z Snowflake, następujące mapowania są używane z typów danych Snowflake do tymczasowych typów danych wewnątrz usługi. Aby dowiedzieć się, jak działanie kopiowania mapuje schemat źródłowy i typ danych na docelowy, zobacz Mapowanie schematu i typu danych.

Typ danych Snowflake Typ danych tymczasowych usługi
LICZBA (p,0) Liczba dziesiętna
LICZBA (p,s gdzie s>0) Liczba dziesiętna
PŁYWAĆ Podwójny
VARCHAR Struna
CHAR Struna
BINARNY Bajt[]
BOOLOWSKI boolean
DATA Data i Czas
CZAS Przedział czasu
TIMESTAMP_LTZ PrzesunięcieDatyICzasu
Znacznik czasu_NTZ PrzesunięcieDatyICzasu
TIMESTAMP_TZ PrzesunięcieDatyICzasu
WARIANT Struna
SPRZECIWIAĆ SIĘ Struna
TABLICA Struna

Właściwości działania wyszukiwania

Aby uzyskać więcej informacji na temat właściwości, zobacz Działanie wyszukiwania.

Cykl życia i aktualizacja łącznika Snowflake

W poniższej tabeli przedstawiono etap wydania i dzienniki zmian dla różnych wersji łącznika snowflake:

wersja Etap wydania Dziennik zmian
Snowflake V1 Ogłoszono zakończenie wsparcia /
Snowflake V2 (wersja 1.0) Wersja GA dostępna • Dodaj obsługę uwierzytelniania par kluczy.

• Dodaj obsługę storageIntegration działania kopiowania.

• Właściwości accountIdentifier, warehouse, database, schema i role służą do ustanawiania połączenia zamiast właściwości connectionstring.

• Dodano obsługę liczby dziesiętnej w działaniu wyszukiwania. Typ NUMBER, zgodnie z definicją w aplikacji Snowflake, będzie wyświetlany jako ciąg w działaniu Wyszukiwania. Jeśli chcesz przekształcić go na typ liczbowy w V2, możesz użyć parametru potoku z funkcją int lub funkcją float. Na przykład , int(activity('lookup').output.firstRow.VALUE)float(activity('lookup').output.firstRow.VALUE)

• Typ danych sygnatury czasowej w elemencie Snowflake jest odczytywany jako typ danych DateTimeOffset w działaniu Wyszukiwania i Skryptu. Jeśli nadal musisz użyć wartości DateTime jako parametru w potoku po uaktualnieniu do V2, możesz przekonwertować typ DateTimeOffset na typ DateTime przy użyciu funkcji formatDateTime (zalecane) lub funkcji concat. Na przykład: formatDateTime(activity('lookup').output.firstRow.DATETIMETYPE), concat(substring(activity('lookup').output.firstRow.DATETIMETYPE, 0, 19), 'Z')

• LICZBA (p,0) jest odczytywana jako typ danych dziesiętnych.

• TIMESTAMP_LTZ, TIMESTAMP_NTZ i TIMESTAMP_TZ są odczytywane jako typ danych DateTimeOffset.

• Parametry skryptu nie są obsługiwane w działaniu typu skrypt. Alternatywnie użyj wyrażeń dynamicznych dla parametrów skryptu. Aby uzyskać więcej informacji, zobacz Wyrażenia i funkcje w usługach Azure Data Factory i Azure Synapse Analytics.

• Wykonywanie wielu instrukcji SQL w działaniu skryptu nie jest obsługiwane.
Snowflake V2 (wersja 1.1) Dostępna wersja zapoznawcza • Dodaj obsługę parametrów skryptu.

• Dodano obsługę wykonywania wielu instrukcji w działaniu skryptu.

Uaktualnianie łącznika Snowflake z wersji 1 do wersji 2

Aby uaktualnić łącznik Snowflake z wersji 1 do wersji 2, możesz przeprowadzić aktualizację równoległą lub aktualizację w miejscu.

Uaktualnianie równoczesne

Aby przeprowadzić uaktualnienie równoległe, wykonaj następujące kroki:

  1. Utwórz nową połączoną usługę Snowflake i skonfiguruj ją, odwołując się do właściwości połączonej usługi w wersji 2.
  2. Utwórz zestaw danych na podstawie nowo utworzonej połączonej usługi Snowflake.
  3. Zastąp nowo utworzoną połączoną usługę i zestaw danych istniejącymi w potokach przeznaczonych dla obiektów V1.

Uaktualnienie w miejscu

Aby przeprowadzić aktualizację na miejscu, należy zmodyfikować istniejące definicje powiązanej usługi i zaktualizować zestaw danych, aby wykorzystać nową wersję powiązanej usługi.

  1. Zaktualizuj typ z Snowflake na SnowflakeV2.

  2. Zmodyfikuj ładunek połączonej usługi z formatu V1 do wersji 2. Możesz wypełnić każde pole z interfejsu użytkownika po zmianie typu wymienionego powyżej lub zaktualizować ładunek bezpośrednio za pośrednictwem edytora JSON. Zapoznaj się z sekcją Właściwości połączonej usługi w tym artykule, aby zapoznać się z obsługiwanymi właściwościami połączenia. Następujące przykłady pokazują różnice w ładunku dla połączonych usług Snowflake w wersjach V1 i V2.

    Ładunek JSON połączonej usługi Snowflake v1:

      {
         "name": "Snowflake1",
         "type": "Microsoft.DataFactory/factories/linkedservices",
         "properties": {
             "annotations": [],
             "type": "Snowflake",
             "typeProperties": {
                 "authenticationType": "Basic",
                 "connectionString": "jdbc:snowflake://<fake_account>.snowflakecomputing.com/?user=FAKE_USER&db=FAKE_DB&warehouse=FAKE_DW&schema=PUBLIC",
                 "encryptedCredential": "<your_encrypted_credential_value>"
             },
             "connectVia": {
                 "referenceName": "AzureIntegrationRuntime",
                 "type": "IntegrationRuntimeReference"
             }
         }
     }
    

    Ładunek JSON połączonej usługi Snowflake w wersji 2:

     {
         "name": "Snowflake2",
         "type": "Microsoft.DataFactory/factories/linkedservices",
         "properties": {
             "parameters": {
                 "schema": {
                     "type": "string",
                     "defaultValue": "PUBLIC"
                 }
             },
             "annotations": [],
             "type": "SnowflakeV2",
             "typeProperties": {
                 "authenticationType": "Basic",
                 "accountIdentifier": "<FAKE_Account>",
                 "user": "FAKE_USER",
                 "database": "FAKE_DB",
                 "warehouse": "FAKE_DW",
                 "encryptedCredential": "<placeholder>"
             },
             "connectVia": {
                 "referenceName": "AutoResolveIntegrationRuntime",
                 "type": "IntegrationRuntimeReference"
             }
         }
     }
    
  3. Zaktualizuj zestaw danych, aby korzystał z nowej połączonej usługi. Możesz utworzyć nowy zestaw danych na podstawie nowo utworzonej połączonej usługi lub zaktualizować właściwość typu istniejącego zestawu danych z tabeli SnowflakeTable do tabeli SnowflakeV2Table.

Uwaga

Podczas przenoszenia połączonych usług, sekcja parametrów szablonu zastąpienia może wyświetlać tylko właściwości bazy danych. Możesz rozwiązać ten problem, ręcznie edytując parametry. Po wykonaniu sekcji Zmiana parametrów szablonu zostaną wyświetlone ciągi połączenia.

Uaktualnij łącznik Snowflake V2 z wersji 1.0 do wersji 1.1 (wersja zapoznawcza)

Na stronie Edytowanie połączonej usługi wybierz pozycję 1.1 dla wersji. Aby uzyskać więcej informacji, zobacz Właściwości połączonej usługi.

Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia według działania kopiowania, zobacz obsługiwane magazyny danych i formaty.