Azure Data Factory veya Azure Synapse Analytics kullanarak Snowflake V2'de verileri kopyalama ve dönüştürme

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

Tip

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Bu makalede, Azure Data Factory ve Azure Synapse işlem hatlarındaki Kopyalama etkinliği kullanarak Snowflake'ten ve Snowflake'e veri kopyalama ve Snowflake'deki verileri dönüştürmek için Veri Akışı kullanma işlemleri özetlenmiştir. Daha fazla bilgi için Data Factory veya Azure Synapse Analytics giriş makalesine bakın.

Note

Bu bağlayıcı Microsoft Fabric'daki Data Factory'de de kullanılabilir. Fabric özgü yapılandırma ve özellikler için Fabric Snowflake bağlayıcısı belgelerine bakın.

Important

Snowflake V1 bağlayıcısı kaldırma aşamasındadır. Snowflake bağlayıcısını V1'den V2'ye yükseltmeniz önerilir.

Desteklenen özellikler

Bu Snowflake bağlayıcısı aşağıdaki özellikler için desteklenir:

Desteklenen özellikler IR
Kopyalama etkinliği (kaynak/havuz) (1) (2)
Veri akışı eşleme (kaynak/havuz)
Arama etkinliği (1) (2)
Betik etkinliği (Betik parametresini kullanırken sürüm 1.1'i uygula) (1) (2)

(1) Azure tümleştirme çalışma zamanı (2) Yerel barındırılan tümleştirme çalışma zamanı

Kopyalama etkinliği için bu Snowflake bağlayıcısı aşağıdaki işlevleri destekler:

  • En iyi performansı elde etmek için Snowflake'in COPY komutunu kullanan Verileri Snowflake'den [location] komutuna kopyalayın.
  • En iyi performansı elde etmek için Snowflake'in COPY into [table] komutundan yararlanarak verileri Snowflake'e kopyalayın. Azure'da Snowflake'i destekler.
  • Şirket içinde barındırılan bir Integration Runtime'dan Snowflake'e bağlanmak için bir ara sunucu gerekiyorsa, Integration Runtime konağındaki HTTP_PROXY ve HTTPS_PROXY çevresel değişkenlerini yapılandırmanız gerekir.

Prerequisites

Veri deponuz bir yerel ağ, Azure sanal ağ veya Amazon Sanal Özel Bulut içinde bulunuyorsa, ona bağlanmak için kendinden barındırılan bir tümleştirme çalışma zamanı yapılandırmanız gerekir. Kendinde barındırılan tümleştirme çalışma zamanının kullandığı IP adreslerini izinli listeye eklediğinizden emin olun.

Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa, izin verilenler listesine Azure Integration Runtime IP ekleyebilirsiniz.

Kaynak veya Havuz için kullanılan Snowflake hesabı, veritabanında gerekli USAGE erişime ve şemada ve altındaki tablolarda/görünümlerde okuma/yazma erişimine sahip olmalıdır. Ayrıca, SAS URI'siyle Dış aşamayı oluşturabilmek için şemada da olması CREATE STAGE gerekir.

Aşağıdaki Hesap özellikleri değerleri ayarlanmalıdır

Property Description Required Default
REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_CREATION Özel bir bulut depolama konumuna erişmek için adlandırılmış bir dış aşama oluştururken (CREATE STAGE kullanarak) bulut kimlik bilgileri olarak depolama tümleştirme nesnesinin gerekli olup olmayacağını belirtir. FALSE FALSE
REQUIRE_STORAGE_INTEGRATION_FOR_STAGE_OPERATION Verileri özel bir bulut depolama konumundan yüklerken veya kaldırırken bulut kimlik bilgileri olarak depolama tümleştirme nesnesine başvuran adlandırılmış bir dış aşamanın kullanılmasının gerekip gerekmediğini belirtir. FALSE FALSE

Data Factory tarafından desteklenen ağ güvenlik mekanizmaları ve seçenekleri hakkında daha fazla bilgi için bkz. Veri erişim stratejileri.

Get started

Kopyalama etkinliğini bir işlem hattıyla gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:

Kullanıcı arabirimini kullanarak Snowflake'e bağlı hizmet oluşturma

Azure portalı kullanıcı arabiriminde Snowflake'e bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.

  1. Azure Data Factory veya Synapse çalışma alanınızdaki Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:

    Azure Data Factory UI ile yeni bir bağlı hizmet oluşturma ekranının ekran görüntüsü.

  2. Snowflake araması yapın ve Snowflake bağlayıcısını seçin.

    Snowflake bağlayıcısının ekran görüntüsü.

  3. Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.

    Snowflake için bağlı hizmet yapılandırmasının ekran görüntüsü.

Bağlayıcı yapılandırma ayrıntıları

Aşağıdaki bölümlerde, Snowflake bağlayıcısına özgü varlıkları tanımlayan özelliklerle ilgili ayrıntılar sağlanır.

Bağlı hizmet özellikleri

Bu genel özellikler Snowflake bağlı hizmeti için desteklenir:

Property Description Required
type Type özelliği SnowflakeV2 olarak ayarlanmalıdır. Yes
version Belirttiğiniz sürüm. En yeni geliştirmelerden yararlanmak için en son sürüme yükseltmenizi öneririz. Sürüm 1.1 için Evet
accountIdentifier Hesabın adı ve bağlı olduğu kuruluş. Örneğin, myorg-account123. Yes
database Bağlandıktan sonra oturum için kullanılan varsayılan veritabanı. Yes
warehouse Bağlandıktan sonra oturum için kullanılan varsayılan sanal ambar. Yes
authenticationType Snowflake hizmetine bağlanmak için kullanılan kimlik doğrulama türü. İzin verilen değerler şunlardır: Temel (Varsayılan) ve KeyPair. Sırasıyla daha fazla özellik ve örnek için aşağıdaki ilgili bölümlere bakın. No
role Bağlandıktan sonra oturum için kullanılan varsayılan güvenlik rolü. No
host Snowflake hesabının ana bilgisayar adı. Örneğin: contoso.snowflakecomputing.com. .cn da desteklenir. No
connectVia Veri deposuna bağlanmak için kullanılan tümleştirme çalışma zamanı . Azure tümleştirme çalışma zamanını veya şirket içinde barındırılan tümleştirme çalışma zamanını (veri deponuz özel bir ağda bulunuyorsa) kullanabilirsiniz. Belirtilmezse, varsayılan Azure tümleştirme çalışma zamanını kullanır. No

Bağlı hizmette, servis talebinize bağlı olarak aşağıdaki ek bağlantı özelliklerini ayarlayabilirsiniz.

Property Description Required Varsayılan değer
Kullanım: UTC Zaman Damgalarını Kullanın false Doğru saat diliminde TIMESTAMP_LTZ türü ve TIMESTAMP_TZ türü döndürmek ve saat dilimi bilgisi olmadan TIMESTAMP_NTZ türünü belirtmek için bunu belirtin. UTC'de tüm Snowflake zaman damgası türlerini döndürmek için true öğesini belirtin. No false
schema Bağlandıktan sonra sorgu oturumu için şemayı belirtir. No /

Bu Snowflake bağlayıcısı aşağıdaki kimlik doğrulama türlerini destekler. Ayrıntılar için ilgili bölümlere bakın.

Basic authentication

Temel kimlik doğrulamasını kullanmak için, önceki bölümde açıklanan genel özelliklere ek olarak aşağıdaki özellikleri belirtin:

Property Description Required
user Snowflake kullanıcısının oturum açma adı. Yes
password Snowflake kullanıcısının parolası. Güvenli bir şekilde depolamak için bu alanı SecureString türü olarak işaretleyin. Azure Key Vault'ta depolanan bir gizli anahtara da başvurabilirsiniz. Yes

Example:

{
    "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"
        }
    }
}

Azure Key Vault içerisindeki Şifre:

{
    "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"
        }
    }
}

Anahtar çifti kimlik doğrulaması

Anahtar çifti kimlik doğrulamasını kullanmak için, Anahtar Çifti Kimlik Doğrulaması ve Anahtar Çifti Döndürme'ye başvurarak Snowflake'de bir anahtar çifti kimlik doğrulama kullanıcısı yapılandırmanız ve oluşturmanız gerekir. Daha sonra, bağlı hizmeti tanımlamak için kullandığınız özel anahtarı ve parolayı (isteğe bağlı) not edin.

Önceki bölümde açıklanan genel özelliklere ek olarak aşağıdaki özellikleri belirtin:

Property Description Required
user Snowflake kullanıcısının oturum açma adı. Yes
privateKey Anahtar çifti kimlik doğrulaması için kullanılan özel anahtar.

özel anahtarın Azure Data Factory'ye gönderildiğinde geçerli olduğundan emin olmak için ve privateKey dosyasının yeni satır karakterleri (\n) içerdiğini dikkate alarak, privateKey içeriğini dize değişmez değeri biçiminde doğru biçimlendirmek önemlidir. Bu işlem, her yeni satıra açıkça \n eklemeyi içerir.
Yes
privateKeyPassphrase Şifreleniyorsa, özel anahtarın şifresini çözmek için kullanılan parola. No

Example:

{
    "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"
        }
    }
}

Note

Veri akışlarını eşlemek için PEM biçiminde (.p8 dosyası) PKCS#8 standardını kullanarak yeni bir RSA özel anahtarı oluşturmanızı öneririz.

Veri kümesi özellikleri

Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Veri kümeleri makalesine bakın.

Snowflake veri kümesi için aşağıdaki özellikler desteklenir.

Property Description Required
type Veri kümesinin type özelliği SnowflakeV2Table olarak ayarlanmalıdır. Yes
schema Şemanın adı. Şema adının büyük/küçük harfe duyarlı olduğuna dikkat edin. Kaynak için hayır, havuz için evet
table Tablo/görünümün adı. Tablo adının harf büyüklüğüne duyarlı olduğunu unutmayın. Kaynak için hayır, havuz için evet

Example:

{
    "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"
        }
    }
}

Kopyalama etkinliği özellikleri

Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları makalesine bakın. Bu bölümde Snowflake kaynağı ve havuzu tarafından desteklenen özelliklerin listesi sağlanır.

Kaynak olarak Snowflake

Snowflake bağlayıcısı, en iyi performansı elde etmek için Snowflake'in COPY to [location] komutunu kullanır.

Eğer havuz veri deposu ve biçimi Snowflake COPY komutu tarafından yerel olarak destekleniyorsa, Snowflake'ten havuza doğrudan kopyalamak için Kopyalama etkinliği'yi kullanabilirsiniz. Ayrıntılar için bkz. Snowflake'ten doğrudan kopyalama. Aksi takdirde Snowflake'teki yerleşik Hazırlanmış kopyayı kullanın.

Snowflake'ten veri kopyalamak için Kopyalama etkinliği source bölümünde aşağıdaki özellikler desteklenir.

Property Description Required
type Kopyalama etkinliği kaynağının type özelliği SnowflakeV2Source olarak ayarlanmalıdır. Yes
query Snowflake'ten veri okunacak SQL sorgusunu belirtir. Şema, tablo ve sütunların adları küçük harf içeriyorsa, sorgudaki nesne tanımlayıcısını tırnak içine alın; örneğin. select * from "schema"."myTable"
Saklı yordam yürütülmesi desteklenmiyor.
No
exportSettings Snowflake'ten veri almak için kullanılan gelişmiş ayarlar. COPY into komutu tarafından desteklenenleri, hizmetin ifadeniz çalıştırıldığında ileteceği şekilde konfigüre edebilirsiniz. Yes
treatDecimalAsString Ondalık türünü arama ve betik işlemlerinde dize türü olarak kabul edilmesini belirtin. Varsayılan değer şudur: false.

Bu özellik yalnızca sürüm 1.1'de desteklenir.
No
altında exportSettings:
type SnowflakeExportCopyCommand olarak ayarlanan dışarı aktarma komutu türü. Yes
storageIntegration Snowflake'de oluşturduğunuz depolama tümleştirmenizin adını belirtin. Depolama tümleştirmesini kullanmanın önkoşul adımları için bkz. Snowflake depolama tümleştirmesini yapılandırma. No
additionalCopyOptions Anahtar-değer çiftlerinin sözlüğü olarak sağlanan ek kopyalama seçenekleri. Örnekler: MAX_FILE_SIZE, OVERWRITE. Daha fazla bilgi için bkz. Snowflake Kopyalama Seçenekleri. No
additionalFormatOptions COPY komutuna anahtar-değer çiftlerinin sözlüğü olarak sağlanan ek dosya biçimi seçenekleri. Örnekler: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT NULL_IF. Daha fazla bilgi için bkz. Snowflake Biçim Türü Seçenekleri.

NULL_IF kullandığınızda, Snowflake'teki NULL değeri, hazırlama depolamasındaki sınırlandırılmış metin dosyasına yazılırken belirtilen (ve tek tırnak içine alınması gereken) değere dönüştürülür. Bu belirtilen değer, hazırlama dosyasından havuz depolama alanına okunurken NULL olarak kabul edilir. Varsayılan değer şudur: 'NULL'.
No

Note

Aşağıdaki komutu yürütme ve şema INFORMATION_SCHEMA ve COLUMNS tablosuna erişme izniniz olduğundan emin olun.

  • COPY INTO <location>

Snowflake'ten doğrudan kopya

Havuz veri deponuz ve biçiminiz bu bölümde açıklanan ölçütleri karşılıyorsa, snowflake'den havuza doğrudan kopyalamak için Kopyalama etkinliği kullanabilirsiniz. Hizmet ayarları denetler ve aşağıdaki ölçütlere uyulmazsa Kopyalama etkinliği çalıştırılamaz:

  • Kaynağa storageIntegration belirttiğinizde:

    Havuz veri deposu, Snowflake'deki dış aşamada başvurduğunuz Azure Blob Depolama. Verileri kopyalamadan önce aşağıdaki adımları tamamlamanız gerekir:

    1. Desteklenen tüm kimlik doğrulama türleriyle havuz Azure Blob Depolama için bir Azure Blob Depolama bağlı hizmeti oluşturun.

    2. Snowflake hizmet sorumlusuna Azure Blob Depolama Access Control (IAM) içinde en az Depolama Blob Verileri Katkıda Bulunucusu rolünü verin.

  • Kaynakta belirtmediğinizde storageIntegration :

    sink bağlı hizmetiAzure Blob depolama, paylaşılan erişim imzası kimlik doğrulamasıdır. Verileri aşağıdaki desteklenen biçimde doğrudan Azure Data Lake Storage 2. Nesil'ye kopyalamak istiyorsanız, Snowflake'ten staged kopyasını kullanmaktan kaçınmak için Azure Blob Depolama adına, SAS kimlik doğrulaması ile Azure Data Lake Storage 2. Nesil hesabınıza bağlı bir hizmet oluşturabilirsiniz.

  • Havuz veri biçimiParquet, sınırlandırılmış metin veya JSON biçimindedir ve aşağıdaki yapılandırmaları içerir:

    • Parquet biçimi için sıkıştırma codec'i None, Snappy veya Lzo'dur.
    • Sınırlandırılmış metin biçimi için:
      • rowDelimiter \r\n veya herhangi bir tek karakterdir.
      • compression sıkıştırma yok, gzip, bzip2, veya deflate olabilir.
      • encodingName varsayılan olarak bırakılır veya utf-8 olarak ayarlanır.
      • quoteChar çift tırnak, tek tırnak veya boş dizedir (tırnak karakteri yoktur).
    • JSON biçimi için doğrudan kopyalama yalnızca kaynak Snowflake tablosunun veya sorgu sonucunun yalnızca tek sütuna sahip olması ve bu sütunun veri türünün VARIANT, OBJECT veya ARRAY olması durumunu destekler.
      • compression sıkıştırma yok, gzip, bzip2, veya deflate olabilir.
      • encodingName varsayılan olarak bırakılır veya utf-8 olarak ayarlanır.
      • filePattern kopyalama etkinliği havuzu varsayılan olarak bırakılır veya setOfObjects olarak ayarlanır.
  • Kopyalama etkinliği kaynağında additionalColumns belirtilmedi.

  • Sütun eşlemesi belirtilmemiş.

Example:

"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>"
            }
        }
    }
]

Snowflake'ten hazırlanmış kopya

Havuz veri deponuz veya biçiminiz, son bölümde belirtildiği gibi Snowflake COPY komutuyla yerel olarak uyumlu değilse, geçici bir Azure Blob depolama örneği kullanarak yerleşik aşamalı kopyayı etkinleştirin. Aşamalı kopyalama özelliği size daha iyi aktarım hızı da sağlar. Hizmet, Snowflake'deki verileri geçici depolamaya aktarır, ardından verileri havuza kopyalar ve son olarak geçici depolamadan verilerinizi temizler. Hazırlamayı kullanarak veri kopyalama hakkında ayrıntılı bilgi için bkz. Aşamalı kopyalama.

Bu özelliği kullanmak için Azure depolama hesabını geçici bir hazırlama aşaması olarak kullanan bir Azure Blob depolama bağlantılı hizmet oluşturun. Ardından Kopyalama aktivitesi içindeki enableStaging ve stagingSettings özelliklerini belirtin.

  • Kaynakta storageIntegration belirttiğinizde, ara aşama olarak kullandığınız Azure Blob Depolama, Snowflake'deki dış aşama olarak başvurduğunuz yer olmalıdır. Azure tümleştirme çalışma zamanını kullanırken desteklenen herhangi bir kimlik doğrulamasıyla veya şirket içinde barındırılan tümleştirme çalışma zamanını kullanırken anonim, hesap anahtarı, paylaşılan erişim imzası veya hizmet sorumlusu kimlik doğrulaması ile bunun için Azure Blob Depolama bağlı bir hizmet oluşturduğunuzdan emin olun. Ayrıca, hazırlama amacıyla kullanılan Azure Blob Depolama Access Control (IAM)'de, Snowflake hizmet sorumlusuna en azından Storage Blob Veri Katkıda Bulunan rolünü verin.

  • Kaynakta storageIntegration belirtmediğinizde, hazırlama amacıyla kullanılan Azure Blob Depolama bağlantılı hizmetinin, Snowflake COPY komutunun gerektirdiği üzere paylaşılan erişim imzası ile kimlik doğrulaması yapması gerekir. Azure Blob Depolama'un hazırlanmasında Snowflake'e uygun erişim izni verdiğinizden emin olun. Bu konuda daha fazla bilgi edinmek için bu makaleye bakın.

Example:

"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"
            }
        }
    }
]

Snowflake'ten hazırlanan bir kopya gerçekleştirirken, Hedef Kopyalama Davranışı'nı Dosyaları Birleştir olarak ayarlamak çok önemlidir. Bu ayar, tüm bölümlenmiş dosyaların doğru şekilde işlenmesini ve birleştirilmesini sağlayarak yalnızca son bölümlenmiş dosyanın kopyalanması sorununu önler.

Örnek Yapılandırma

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

Note

"Sink Kopyalama Davranışını Dosyaları Birleştir olarak ayarlamamak, yalnızca son bölümlenmiş dosyanın kopyalanmasıyla sonuçlanabilir."

Havuz olarak kar tanesi

Snowflake bağlayıcısı, en iyi performansı elde etmek için Snowflake'in COPY to [table] komutunu kullanır. Azure'da Snowflake'e veri yazmayı destekler.

Kaynak veri deposu ve biçimi Snowflake COPY komutuyla yerel olarak destekleniyorsa, kaynaktan Snowflake'e doğrudan kopyalamak için Kopyalama etkinliği kullanabilirsiniz. Ayrıntılar için bkz. Snowflake'e doğrudan kopyalama. Aksi takdirde, yerleşik Snowflake'e Aşamalı Veri Kopyası özelliğini kullanın.

Snowflake'e veri kopyalamak için Kopyalama etkinliği sink bölümünde aşağıdaki özellikler desteklenir.

Property Description Required
type Copy etkinliği hedefinin tür özelliği, SnowflakeV2Sink olarak ayarlanır. Yes
preCopyScript Her çalıştırmada Snowflake'e veri yazmadan önce çalıştırılacak Kopyalama etkinliği için bir SQL sorgusu belirtin. Önceden yüklenmiş verileri temizlemek için bu özelliği kullanın. No
importSettings Snowflake'e veri yazmak için kullanılan gelişmiş ayarlar. COPY into komutu tarafından desteklenenleri, hizmetin ifadeniz çalıştırıldığında ileteceği şekilde konfigüre edebilirsiniz. Yes
altında importSettings:
type SnowflakeImportCopyCommand olarak ayarlanan içeri aktarma komutunun türü. Yes
storageIntegration Snowflake'de oluşturduğunuz depolama tümleştirmenizin adını belirtin. Depolama tümleştirmesini kullanmanın önkoşul adımları için bkz. Snowflake depolama tümleştirmesini yapılandırma. No
additionalCopyOptions Anahtar-değer çiftlerinin sözlüğü olarak sağlanan ek kopyalama seçenekleri. Örnekler: ON_ERROR, FORCE, LOAD_UNCERTAIN_FILES. Daha fazla bilgi için bkz. Snowflake Kopyalama Seçenekleri. No
additionalFormatOptions COPY komutuna sağlanan ek dosya biçimi seçenekleri, anahtar-değer çiftlerinin sözlüğü olarak sağlanır. Örnekler: DATE_FORMAT, TIME_FORMAT, TIMESTAMP_FORMAT. Daha fazla bilgi için bkz. Snowflake Biçim Türü Seçenekleri. No

Note

Aşağıdaki komutu yürütme ve şema INFORMATION_SCHEMA ve COLUMNS tablosuna erişme izniniz olduğundan emin olun.

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

Snowflake'e doğrudan kopyalama

Kaynak veri deponuz ve biçiminiz bu bölümde açıklanan ölçütleri karşılıyorsa, kaynaktan Snowflake'e doğrudan kopyalamak için Kopyalama etkinliği kullanabilirsiniz. Hizmet ayarları denetler ve aşağıdaki ölçütlere uyulmazsa Kopyalama etkinliği çalıştırılamaz:

  • Lavabo içinde storageIntegration belirttiğinizde:

    Azure Blob Depolama, Snowflake'deki harici aşamada referans verdiğiniz kaynak veri deposudur. Verileri kopyalamadan önce aşağıdaki adımları tamamlamanız gerekir:

    1. Desteklenen tüm kimlik doğrulama türleriyle kaynak Azure Blob Depolama için bir Azure Blob Depolama bağlı hizmeti oluşturun.

    2. Kaynak Azure Blob Depolama Erişim Kontrolü (IAM) içindeki Snowflake hizmet sorumlusuna en azından Storage Blob Data Reader rolünü verin.

  • Lavaboda storageIntegration belirtmediğinizde

    source bağlı hizmeti, Azure Blob depolama ve paylaşımlı erişim imzası ile kimlik doğrulaması yapar. tr-TR: Eğer verileri aşağıdaki desteklenen biçimde doğrudan Azure Data Lake Storage 2. Nesil'dan kopyalamak istiyorsanız, Azure Data Lake Storage 2. Nesil hesabınıza karşı SAS kimlik doğrulaması ile Azure Blob Depolama bağlantılı bir hizmet oluşturabilirsiniz ve böylece Snowflake'e staged kopyasını kullanmaktan kaçınabilirsiniz.

  • Kaynak veri biçimiParquet, Sınırlandırılmış metin veya aşağıdaki yapılandırmalara sahip JSON'dır:

    • Parquet biçimi için sıkıştırma codec'i Yok veya Snappy'dir.

    • Sınırlandırılmış metin biçimi için:

      • rowDelimiter \r\n veya herhangi bir tek karakterdir. Satır sınırlayıcısı “\r\n” değilse, firstRowAsHeaderfalse olmalı ve skipLineCount belirtilmemelidir.
      • compression sıkıştırma yok, gzip, bzip2, veya deflate olabilir.
      • encodingName varsayılan olarak bırakılır veya "UTF-8", "UTF-16" olarak ayarlanır, "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 çift tırnak, tek tırnak veya boş dizedir (tırnak karakteri yoktur).
    • JSON biçimi için doğrudan kopyalama yalnızca havuz Snowflake tablosunun yalnızca tek sütuna sahip olduğu ve bu sütunun veri türünün VARIANT, OBJECT veya ARRAY olduğu durumu destekler.

      • compression sıkıştırma yok, gzip, bzip2, veya deflate olabilir.
      • encodingName varsayılan olarak bırakılır veya utf-8 olarak ayarlanır.
      • Sütun eşlemesi belirtilmemiş.
  • Kopyalama etkinliği kaynağında:

    • additionalColumns belirtilmemiş.
    • Kaynağınız bir klasörse, recursive true olarak ayarlanır.
    • prefix, modifiedDateTimeStart, modifiedDateTimeEndve enablePartitionDiscovery belirtilmedi.

Example:

"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 >"
                }
            }
        }
    }
]

Snowflake'e etaplı kopyalama

Kaynak veri deponuz veya biçiminiz, son bölümde belirtildiği gibi Snowflake COPY komutuyla yerel olarak uyumlu değilse, geçici bir Azure Blob depolama örneği kullanarak yerleşik aşamalı kopyayı etkinleştirin. Aşamalı kopyalama özelliği size daha iyi aktarım hızı da sağlar. Hizmet, snowflake'in veri biçimi gereksinimlerini karşılamak için verileri otomatik olarak dönüştürür. Ardından Verileri Snowflake'e yüklemek için COPY komutunu çağırır. Son olarak, blob depolama alanından geçici verilerinizi temizler. Veri kopyalamayı hazırlama kullanımı hakkında ayrıntılı bilgi için bkz. Katmanlı kopyalama.

Bu özelliği kullanmak için Azure depolama hesabını geçici bir hazırlama aşaması olarak kullanan bir Azure Blob depolama bağlantılı hizmet oluşturun. Ardından Kopyalama aktivitesi içindeki enableStaging ve stagingSettings özelliklerini belirtin.

  • Havuza storageIntegration belirttiğinizde, ara hazırlama için kullandığınız Azure Blob Depolama, Snowflake'deki harici aşamada başvurduğunuz alan olmalıdır. Azure tümleştirme çalışma zamanını kullanırken desteklenen herhangi bir kimlik doğrulamasıyla veya şirket içinde barındırılan tümleştirme çalışma zamanını kullanırken anonim, hesap anahtarı, paylaşılan erişim imzası veya hizmet sorumlusu kimlik doğrulaması ile bunun için Azure Blob Depolama bağlı bir hizmet oluşturduğunuzdan emin olun. Ayrıca, hazırlık Azure Blob Depolama Access Control (IAM) bünyesinde Snowflake hizmet sorumlusuna en az Storage Blob Veri Okuyucusu rolü verin.

  • Hedef olarak storageIntegration belirtmediğinizde, hazırlama işlemi için kullanılan Azure Blob Depolama bağlı hizmetinin Snowflake COPY komutunun gerektirdiği gibi paylaşılan erişim imzası ile kimlik doğrulama yapması gerekir.

Example:

"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"
            }
        }
    }
]

Veri akışı eşleme özellikleri

Eşleme veri akışındaki verileri dönüştürürken Snowflake'teki tablolardan okuma ve tablo yazma işlemi yapabilirsiniz. Daha fazla bilgi için veri akışı eşlemelerinde kaynak dönüştürme ve alıcı dönüştürme kısmına bakın. Snowflake veri kümesini veya satır içi veri kümesini kaynak ve havuz türü olarak kullanmayı seçebilirsiniz.

Kaynak dönüştürme

Aşağıdaki tabloda Snowflake kaynağı tarafından desteklenen özellikler listelenmiştir. Bu özellikleri Kaynak seçenekleri sekmesinde düzenleyebilirsiniz. Bağlayıcı Snowflake iç veri aktarımını kullanır.

Name Description Required İzin verilen değerler Veri akışı betiği özelliği
Table Giriş olarak Tablo'yı seçerseniz, veri akışı Snowflake veri kümesinde belirtilen tablodan veya satır içi veri kümesi kullanılırken kaynak seçeneklerden tüm verileri getirir. No String (yalnızca satır içi veri kümesi için)
tableName
schemaName
Query Giriş olarak Sorgu'yu seçerseniz Snowflake'ten veri getirmek için bir sorgu girin. Bu ayar, veri kümesinde seçtiğiniz tüm tabloları geçersiz kılar.
Şema, tablo ve sütunların adları küçük harf içeriyorsa, sorgudaki nesne tanımlayıcısını tırnak içine alın; örneğin. select * from "schema"."myTable"
No String query
Artımlı ayıklamayı etkinleştirme (Önizleme) ADF'ye yalnızca işlem hattının son yürütülmesinden bu yana değişen satırları işlemesini bildirmek için bu seçeneği kullanın. No Boolean enableCdc
Otomatik Artış Sütunu Artımlı ayıklama özelliğini kullanırken, kaynak tablonuzda filigran olarak kullanmak istediğiniz tarih/saat/sayısal sütunu seçmeniz gerekir. No String waterMarkColumn
Kar Tanesi Değişiklik İzleme Etkinleştirme (Önizleme) Bu seçenek, ADF'nin snowflake değişiklik veri yakalama teknolojisinden yararlanarak önceki işlem hattı yürütme işleminden bu yana yalnızca delta verilerini işlemesini sağlar. Bu seçenek, artımlı sütun gerektirmeden satır ekleme, güncelleştirme ve silme işlemleriyle delta verilerini otomatik olarak yükler. No Boolean enableNativeCdc
Net Değişiklikler Kar tanesi değişiklik izleme özelliğini kullanırken yinelenenleri kaldırılmış satırlar veya kapsamlı değişiklikler almak için bu seçeneği kullanabilirsiniz. Yinelenmeleri kaldırılmış değişen satırlar, belirli bir zamandan bu yana değişen satırların yalnızca en son sürümlerini gösterirken, tüm değişiklikler size silinen veya güncellenenler de dahil olmak üzere, değişen her satırın tüm sürümlerini gösterir. Örneğin, bir satırı güncellerseniz, kapsamlı değişikliklerde bir silme sürümü ve bir ekleme sürümü görürsünüz, ancak yinelenen satırlardan arındırılmış değişikliklerde yalnızca ekleme sürümünü görürsünüz. Kullanım örneğine bağlı olarak, ihtiyaçlarınıza uygun seçeneği belirleyebilirsiniz. Varsayılan seçenek false'tur, bu da kapsamlı değişiklikler anlamına gelir. No Boolean netChanges
Sistem Sütunlarını ekle Kar tanesi değişiklik izleme özelliğini kullanırken, Snowflake tarafından sağlanan meta veri akışı sütunlarının değişiklik izleme çıkışına dahil edilip edilmediğini denetlemek için systemColumns seçeneğini kullanabilirsiniz. Varsayılan olarak, systemColumns true olarak ayarlanır ve bu da meta veri akışı sütunlarının dahil olduğu anlamına gelir. Hariç tutmak istiyorsanız systemColumns değerini false olarak ayarlayabilirsiniz. No Boolean systemColumns
Okumaya baştan başlama Artımlı ayıklama ve değişiklik izleme ile bu seçeneğin ayarlanması, ADF'ye artımlı ayıklamanın açık olduğu bir işlem hattının ilk yürütülmesinde tüm satırları okumasını bildirecektir. No Boolean skipInitialLoad

Snowflake kaynak betiği örnekleri

Kaynak türü olarak Snowflake veri kümesini kullandığınızda, ilişkili veri akışı betiği şöyledir:

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

Satır içi veri kümesi kullanıyorsanız, ilişkili veri akışı betiği şu şekildedir:

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

Yerel Değişiklik İzleme

Azure Data Factory artık Snowflake'de değişiklik izleme olarak bilinen ve günlük biçimindeki değişiklikleri izlemeyi içeren yerel bir özelliği destekliyor. Snowflake'in bu özelliği, verilerdeki değişiklikleri zaman içinde izlememize olanak tanır ve bu sayede artımlı veri yükleme ve denetim amacıyla yararlı olur. Bu özelliği kullanmak için Veri yakalamayı değiştir'i etkinleştirip Snowflake Değişiklik İzleme seçtiğinizde kaynak tablo için kaynak kar tanesi tablosunda değişiklik izlemeyi etkinleştiren bir Stream nesnesi oluştururuz. Daha sonra, kaynak tablodan yalnızca yeni veya güncelleştirilmiş verileri getirmek için sorgumuzdaki CHANGES yan tümcesini kullanırız. Ayrıca, Snowflake kaynak tablosu için belirlenen veri saklama süresi aralığında değişikliklerin aktarılması amacıyla işlem hattının zamanlanması önerilir, aksi takdirde kullanıcı yakalanan değişikliklerde tutarsız davranışlar görebilir.

Havuz dönüşümü

Aşağıdaki tabloda Snowflake havuzu tarafından desteklenen özellikler listelenmektedir. Bu özellikleri Ayarlar sekmesinde düzenleyebilirsiniz. Satır içi veri kümesini kullanırken, veri kümesi özellikleri bölümünde açıklanan özelliklerle aynı olan ek ayarlar görürsünüz. Bağlayıcı Snowflake iç veri aktarımını kullanır.

Name Description Required İzin verilen değerler Veri akışı betiği özelliği
Update yöntemi Snowflake hedefinizde hangi işlemlere izin verileceğini belirtin.
Satırları güncellemek, eklemek veya silmek için, bu eylemler için satırları etiketlemek üzere bir Satır değiştirme dönüşümü gereklidir.
Yes true veya false deletable
insertable
updateable
upsertable
Anahtar sütunlar Güncellemeler, güncellemeli eklemeler ve silmeler için, hangi satırın değiştirileceğini belirlemek üzere bir veya daha fazla anahtar sütun ayarlanmalıdır. No Array keys
Tablo İşlemi Yazmadan önce hedef tablodan tüm satırların yeniden oluşturulmasını veya kaldırılıp kaldırılmayacağını belirler.
- Yok: Tabloda hiçbir işlem yapılmayacak.
- Yeniden oluştur: Tablo silinir ve yeniden oluşturulur. Dinamik olarak yeni bir tablo oluşturuyorsanız gereklidir.
- Kısalt: Hedef tablodaki tüm satırlar silinir.
No true veya false recreate
truncate

Snowflake havuz betiği örnekleri

Snowflake veri kümesini havuz türü olarak kullandığınızda, ilişkili veri akışı betiği şöyledir:

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

Satır içi veri kümesi kullanıyorsanız, ilişkili veri akışı betiği şu şekildedir:

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

Sorgu İtme Optimizasyonu

İşlem hattı Günlük Düzeyi'ni Yok olarak ayarlayarak, ara dönüşüm ölçümlerinin iletilmesini engelleyerek Spark optimizasyonlarına olası engelleri önler ve Snowflake tarafından sağlanan sorgu gönderme optimizasyonunu etkinleştiririz. Bu pushdown optimizasyonu, geniş veri kümelerine sahip büyük Snowflake tabloları için önemli performans iyileştirmeleri sağlar.

Note

Snowflake'de geçici tabloları desteklemiyoruz çünkü bunlar oturum veya bunları oluşturan kullanıcının yerelidir ve diğer oturumlara erişilemez hale gelir ve Snowflake tarafından normal tablolar olarak üzerine yazılmaya eğilimli olur. Snowflake, alternatif olarak küresel olarak erişilebilen geçici tablolar sunsa da, kaynak şemadaki silme işlemlerini önlemek için Temp tablolarını kullanma birincil hedefimizle çelişerek el ile silmeye ihtiyaç duyarlar.

Snowflake V2 için veri türü eşlemesi

Snowflake'ten veri kopyaladığınızda, aşağıdaki eşlemeler Snowflake veri türlerinden hizmet içindeki ara veri türlerine dahili olarak kullanılır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri.

Snowflake veri türü Hizmet ara veri türü
SAYI (s,0) Decimal
SAYI (p,s, burada s< c0 />0) Decimal
FLOAT Double
VARCHAR String
CHAR String
BINARY Byte[]
BOOLEAN Boolean
DATE DateTime
TIME TimeSpan
TIMESTAMP_LTZ DateTimeOffset
TIMESTAMP_NTZ DateTimeOffset
TIMESTAMP_TZ DateTimeOffset
VARIANT String
OBJECT String
ARRAY String

Arama etkinliği özellikleri

Özellikler hakkında daha fazla bilgi için bkz. Arama etkinliği.

Snowflake bağlayıcısı yaşam döngüsü ve yükseltme

Aşağıdaki tabloda Snowflake bağlayıcısının farklı sürümleri için yayın aşaması ve değişiklik günlükleri gösterilmektedir:

Version Yayın aşaması Değişiklik günlüğü
Kar Tanesi V1 Removed Uygulanamaz.
Snowflake V2 (sürüm 1.0) Ga sürümü kullanılabilir • Anahtar çifti kimlik doğrulaması için destek ekleyin.

• Kopyalama etkinliği için storageIntegration desteği ekle.

accountIdentifier, warehouse, database, schema ve role özellikleri, connectionstring özelliği yerine bağlantı kurmak için kullanılır.

• Arama etkinliğinde Ondalık için destek ekleyin. Snowflake'de tanımlandığı gibi SAYI türü, Arama etkinliğinde dize olarak görüntülenir. V2'de sayısal türe dönüştürmek istiyorsanız, int işlevi veya float işlevi ile işlem hattı parametresini kullanabilirsiniz. Örneğin, int(activity('lookup').output.firstRow.VALUE), float(activity('lookup').output.firstRow.VALUE)

• Snowflake'deki zaman damgası veri türü, Arama ve Betik etkinliğinde DateTimeOffset veri türü olarak okunur. V2'ye yükselttikten sonra işlem hattınızda datetime değerini parametre olarak kullanmaya devam etmeniz gerekiyorsa, formatDateTime işlevini (önerilen) veya concat işlevini kullanarak DateTimeOffset türünü DateTime türüne dönüştürebilirsiniz. Örneğin: formatDateTime(activity('lookup').output.firstRow.DATETIMETYPE), concat(substring(activity('lookup').output.firstRow.DATETIMETYPE, 0, 19), 'Z')

• SAYI (p,0) Ondalık veri türü olarak okunur.

• TIMESTAMP_LTZ, TIMESTAMP_NTZ ve TIMESTAMP_TZ DateTimeOffset veri türü olarak okunur.

• Betik parametreleri Betik etkinliğinde desteklenmez. Alternatif olarak, betik parametreleri için dinamik ifadeler kullanın. Daha fazla bilgi için Azure Data Factory ve Azure Synapse Analytics'te İfadeler ve işlevler bölümüne bakın.

• Betik etkinliğinde birden çok SQL deyimi yürütülmesi desteklenmez.
Snowflake V2 (sürüm 1.1) Ga sürümü kullanılabilir • Betik parametrelerine destek ekleyin.

Birden fazla deyimi çalıştırma desteğini Betik etkinliğine ekleyin.

• Ara ve Betik etkinliğinde treatDecimalAsString özelliği ekleyin.

• Ek bağlantı özelliği UseUtcTimestampsekleyin.

Snowflake bağlayıcısını V1'den V2'ye yükseltme

Snowflake bağlayıcısını V1'den V2'ye yükseltmek için yan yana yükseltme veya yerinde yükseltme yapabilirsiniz.

Paralel yükseltme

Yan yana yükseltme gerçekleştirmek için aşağıdaki adımları tamamlayın:

  1. Yeni bir Snowflake bağlı hizmeti oluşturun ve V2 bağlı hizmet özelliklerine başvurarak bunu yapılandırın.
  2. Yeni oluşturulan Snowflake bağlı hizmetini temel alan bir veri kümesi oluşturun.
  3. Yeni bağlı hizmeti ve veri kümesini, V1 nesnelerini hedefleyen işlem hatlarında var olanlarla değiştirin.

Yerinde yükseltme

Yerinde yükseltme gerçekleştirmek için mevcut bağlı hizmet yükünü düzenlemeniz ve veri kümesini yeni bağlı hizmeti kullanacak şekilde güncelleştirmeniz gerekir.

  1. Snowflake türünüSnowflakeV2 olarak güncelleştirin.

  2. Bağlı hizmet yükünü V1 biçiminden V2 olarak değiştirin. Yukarıda belirtilen türü değiştirdikten sonra her alanı kullanıcı arabiriminden doldurabilir veya yükü doğrudan JSON Düzenleyicisi aracılığıyla güncelleştirebilirsiniz. Desteklenen bağlantı özellikleri için bu makaledeki Bağlı hizmet özellikleri bölümüne bakın. Aşağıdaki örneklerde V1 ve V2 Snowflake bağlı hizmetleri için yük farkları gösterilmektedir:

    Snowflake V1 bağlantılı hizmet JSON yükü:

      {
         "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"
             }
         }
     }
    

    Snowflake V2 bağlı hizmet JSON yükü:

     {
         "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. Veri kümesini yeni bağlı hizmeti kullanacak şekilde güncelleştirin. Yeni oluşturulan bağlı hizmeti temel alan yeni bir veri kümesi oluşturabilir veya mevcut bir veri kümesinin tür özelliğini SnowflakeTable'dan SnowflakeV2Table'a güncelleştirebilirsiniz.

Note

Bağlı hizmetler geçiş yaptığında, şablon parametresi geçersiz kılma bölümü sadece veritabanı özelliklerini görüntüleyebilir. Parametreleri el ile düzenleyerek bu sorunu çözebilirsiniz. Bundan sonra Şablon parametrelerini geçersiz kıl bölümünde bağlantı dizeleri gösterilir.

Snowflake V2 bağlayıcısını sürüm 1.0'dan sürüm 1.1'e yükseltme

Bağlı hizmeti düzenle sayfasında sürüm için 1.1'i seçin. Daha fazla bilgi için bkz . Bağlı hizmet özellikleri.

Kopyalama etkinliği tarafından kaynak ve hedef olarak desteklenen veri depolarının listesi için bkz. desteklenen veri depoları ve biçimleri.