Aracılığıyla paylaş


Azure Data Factory veya Synapse Analytics kullanarak FTP sunucusundan veri kopyalama

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

İpucu

Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!

Bu makalede FTP sunucusundan verilerin nasıl kopyalandığı özetlenmiştir. Daha fazla bilgi edinmek için Azure Data Factory ve Synapse Analytics'e yönelik giriş makalelerini okuyun.

Desteklenen özellikler

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

Desteklenen özellikler IR
Kopyalama etkinliği (kaynak/-) (1) (2)
Arama etkinliği (1) (2)
GetMetadata etkinliği (1) (2)
Etkinliği sil (1) (2)

① Azure tümleştirme çalışma zamanı ② Kendi kendine barındırılan tümleştirme çalışma zamanı

Özellikle, bu FTP bağlayıcısı şunları destekler:

  • Temel veya Anonim kimlik doğrulaması kullanarak dosyaları kopyalama.
  • Dosyaları olduğu gibi kopyalama veya desteklenen dosya biçimleri ve sıkıştırma codec bileşenleriyle dosyaları ayrıştırma.

FTP bağlayıcısı pasif modda çalışan FTP sunucusunu destekler. Etkin mod desteklenmez.

Önkoşullar

Veri deponuz bir şirket içi ağ, Azure sanal ağı veya Amazon Sanal Özel Bulut içinde bulunuyorsa, şirket içinde barındırılan tümleştirme çalışma zamanını buna bağlanmak için yapılandırmanız gerekir.

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 Azure Integration Runtime IP'lerini izin verme listesine ekleyebilirsiniz.

Azure Data Factory'de yerel ağa, yerleşik tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan erişmek için yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.

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

Kullanmaya başlayın

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 FTP sunucusuna bağlı hizmet oluşturma

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

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

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

    FTP 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.

    FTP sunucusu 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 FTP'ye özgü varlıkları tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.

Bağlı hizmet özellikleri

FTP bağlı hizmeti için aşağıdaki özellikler desteklenir:

Mülk Açıklama Gerekli
Tür Tür özelliği şu şekilde ayarlanmalıdır: FtpServer. Yes
ev sahibi FTP sunucusunun adını veya IP adresini belirtin. Yes
liman FTP sunucusunun dinlediği bağlantı noktasını belirtin.
İzin verilen değerler şunlardır: tamsayı, varsayılan değer 21'dir.
Hayır
enableSsl (SSL'yi etkinleştir) SSL/TLS kanalı üzerinden FTP kullanılıp kullanılmayacağını belirtin.
İzin verilen değerler şunlardır: true (varsayılan), false.
Hayır
Sunucu Sertifikası Doğrulamasını Etkinleştir SSL/TLS kanalı üzerinden FTP kullanırken sunucu TLS/SSL sertifika doğrulamasının etkinleştirilip etkinleştirilmeyeceğini belirtin.
İzin verilen değerler şunlardır: true (varsayılan), false.
Hayır
kimlik doğrulama türü Kimlik doğrulama türünü belirtin.
İzin verilen değerler şunlardır: Temel, Anonim
Yes
userName FTP sunucusuna erişimi olan kullanıcıyı belirtin. Hayır
şifre Kullanıcının parolasını belirtin (userName). Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun. Hayır
connectVia Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünden daha fazla bilgi edinin. Belirtilmezse, varsayılan Azure Integration Runtime'ı kullanır. Hayır

Not

FTP bağlayıcısı, şifreleme veya açık SSL/TLS şifrelemesi olmadan FTP sunucusuna erişimi destekler; örtük SSL/TLS şifrelemeyi desteklemez.

Örnek 1: Anonim kimlik doğrulaması kullanma

{
    "name": "FTPLinkedService",
    "properties": {
        "type": "FtpServer",
        "typeProperties": {
            "host": "<ftp server>",
            "port": 21,
            "enableSsl": true,
            "enableServerCertificateValidation": true,
            "authenticationType": "Anonymous"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Örnek 2: Temel kimlik doğrulaması kullanma

{
    "name": "FTPLinkedService",
    "properties": {
        "type": "FtpServer",
        "typeProperties": {
            "host": "<ftp server>",
            "port": 21,
            "enableSsl": true,
            "enableServerCertificateValidation": true,
            "authenticationType": "Basic",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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.

Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.

Aşağıdaki özellikler, biçim tabanlı veri kümesindeki ayarlar altında location FTP için desteklenir:

Mülk Açıklama Gerekli
Tür veri kümesinde altındaki type özelliği location FtpServerLocation olarak ayarlanmalıdır. Yes
klasörYolu Klasörün yolu. Klasörü filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarlarında belirtin. Hayır
dosyaAdı Verilen folderPath altındaki dosya adı. Dosyaları filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarlarında belirtin. Hayır

Örnek:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<FTP linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "FtpServerLocation",
                "folderPath": "root/folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

Kopyalama etkinliğinin özellikleri

Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Pipelines makalesine bakın. Bu bölüm, FTP kaynağı tarafından desteklenen özelliklerin listesini sağlar.

Kaynak olarak FTP

Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.

Aşağıdaki özellikler, biçim tabanlı kopyalama kaynağındaki ayarlar altında storeSettings FTP için desteklenir:

Mülk Açıklama Gerekli
Tür altındaki storeSettings tür özelliği FtpReadSettings olarak ayarlanmalıdır. Yes
Kopyalanacak dosyaları bulun:
SEÇENEK 1: statik yol
Veri kümesinde belirtilen belirtilen klasörden/dosya yolundan kopyalayın. Bir klasörden tüm dosyaları kopyalamak istiyorsanız, ek olarak wildcardFileName* olarak belirtin.
SEÇENEK 2: Joker Karakter
- wildcardFolderPath
Kaynak klasörleri filtrelemek için joker karakterler içeren klasör yolu.
İzin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir); gerçek klasör adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış yapmak için kullanın ^ .
Klasör ve dosya filtresi örnekleri'ndeki diğer örneklere bakın.
Hayır
SEÇENEK 2: Joker Karakter
- wildcardDosyaAdı
Kaynak dosyaları filtrelemek için verilen folderPath/wildcardFolderPath altında joker karakterler içeren dosya adı.
İzin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir); gerçek dosya adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış yapmak için kullanın ^ . Klasör ve dosya filtresi örnekleri'ndeki diğer örneklere bakın.
Yes
SEÇENEK 3: dosyaların listesi
- fileListPath
Belirli bir dosya kümesinin kopyalandığını gösterir. Kopyalamak istediğiniz dosyaların listesini içeren bir metin dosyasını belirtin. Her satır, veri kümesinde yapılandırılmış yola göreli yol olan tek bir dosya içermelidir.
Bu seçeneği kullanırken veri kümesinde dosya adı belirtmeyin. Dosya listesi örnekleri'ndeki diğer örneklere bakın.
Hayır
Ek ayarlar:
Özyinelemeli Verilerin alt klasörlerden veya yalnızca belirtilen klasörden özyinelemeli olarak okunup okunmadığını gösterir. Özyineleme true olarak ayarlandığında ve havuz dosya tabanlı bir depo olduğunda, havuza boş bir klasör veya alt klasör kopyalanmadı veya oluşturulmadı.
İzin verilen değerler true (varsayılan) ve false değerleridir.
Bu özellik, fileListPath yapılandırıldığında geçerli değildir.
Hayır
TamamlandıktanSonraDosyalarıSil hedef depoya başarıyla taşındıktan sonra ikili dosyaların kaynak depodan silinip silinmeyeceğini gösterir. Dosya silme işlemi dosya başınadır, bu nedenle kopyalama etkinliği başarısız olduğunda bazı dosyaların hedefe kopyalandığını ve kaynaktan silindiğini, diğerleri ise kaynak depoda kaldığını görürsünüz.
Bu özellik yalnızca ikili dosya kopyalama senaryosunda geçerlidir. Varsayılan değer: false.
Hayır
useBinaryTransfer İkili aktarım modunun kullanılıp kullanılmayacağını belirtin. değerler ikili mod için true (varsayılan) ve ASCII için false değerleridir. Hayır
Bölüm Keşfini Etkinleştir Bölümlenmiş dosyalar için, bölümlerin dosya yolundan ayrıştırılıp ayrıştırılmayacağını belirtin ve bunları ek kaynak sütunlar olarak ekleyin.
İzin verilen değerler false (varsayılan) ve true değerleridir.
Hayır
partitionRootPath Bölüm bulma etkinleştirildiğinde, bölümlenmiş klasörleri veri sütunları olarak okumak için mutlak kök yolu belirtin.

Belirtilmezse, varsayılan olarak,
- Veri kümesinde dosya yolunu veya kaynaktaki dosyaların listesini kullandığınızda, bölüm kök yolu veri kümesinde yapılandırılan yoldur.
- Joker karakter klasör filtresi kullandığınızda, bölüm kök yolu ilk joker karakterden önceki alt yoldur.

Örneğin, veri kümesindeki yolu "root/folder/year=2020/month=08/day=27" olarak yapılandırdığınız varsayılır:
- Bölüm kök yolunu "root/folder/year=2020" olarak belirtirseniz kopyalama etkinliği, dosyaların içindeki sütunlara ek olarak sırasıyla "08" ve "27" değerine sahip iki sütun monthday daha oluşturur.
- Bölüm kök yolu belirtilmezse, ek sütun oluşturulmaz.
Hayır
Maksimum Eşzamanlı Bağlantılar Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. Hayır
parçalamayı devre dışı bırak FTP'den veri kopyalarken, hizmet önce dosya uzunluğunu almaya çalışır, ardından dosyayı birden çok bölüme böler ve paralel olarak okur. FTP sunucunuzun dosya uzunluğunu almayı mı yoksa belirli bir uzaklığı okumayı mı desteklediğini belirtin.
İzin verilen değerler false (varsayılan), true değerleridir.
Hayır

Örnek:

"activities":[
    {
        "name": "CopyFromFTP",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Delimited text input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "DelimitedTextSource",
                "formatSettings":{
                    "type": "DelimitedTextReadSettings",
                    "skipLineCount": 10
                },
                "storeSettings":{
                    "type": "FtpReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv",
                    "disableChunking": false
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Klasör ve dosya filtresi örnekleri

Bu bölümde, joker karakter filtreleriyle klasör yolunun ve dosya adının elde edilen davranışı açıklanmaktadır.

klasörYolu dosyaAdı Özyinelemeli Kaynak klasör yapısı ve filtre sonucu (kalın yazılmış dosyalar alınır)
Folder* (boş, varsayılanı kullan) yanlış KlasörA
     File1.csv
     File2.json
    Alt Klasör 1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* (boş, varsayılanı kullan) doğru KlasörA
     File1.csv
     File2.json
    Alt Klasör 1
         File3.csv
         File4.json
         File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv yanlış KlasörA
     File1.csv
    File2.json
    Alt Klasör 1
        File3.csv
        File4.json
        File5.csv
AnotherFolderB
    File6.csv
Folder* *.csv doğru KlasörA
     File1.csv
    File2.json
    Alt Klasör 1
         File3.csv
        File4.json
         File5.csv
AnotherFolderB
    File6.csv

Dosya listesi örnekleri

Bu bölümde, kopyalama etkinliği kaynağında dosya listesi yolunu kullanmanın elde edilen davranışı açıklanmaktadır.

Aşağıdaki kaynak klasör yapısına sahip olduğunuzu ve dosyaları kalın yazıyla kopyalamak istediğinizi varsayarsak:

Örnek kaynak yapısı FileListToCopy.txt'in içeriği Yapılandırma
kök
    KlasörA
         File1.csv
        File2.json
        Alt Klasör 1
             File3.csv
            File4.json
             File5.csv
    Meta veri
        FileListToCopy.txt
File1.csv
alt klasör1/Dosya3.csv
Alt Klasör1/File5.csv
Veri kümesinde:
- Klasör yolu: root/FolderA

Kopyalama etkinliği kaynağında:
- Dosya listesi yolu: root/Metadata/FileListToCopy.txt

Dosya listesi yolu, kopyalamak istediğiniz dosyaların listesini içeren ve her satırda bir dosya olacak şekilde veri kümesinde yapılandırılan yolu içeren aynı veri deposundaki bir metin dosyasına işaret eder.

Sorgu etkinliği özellikleri

Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.

GetMetadata etkinlik özellikleri

Özellikler hakkında ayrıntılı bilgi edinmek için GetMetadata etkinliğini denetleyin

Etkinlik özelliklerini silme

Özellikler hakkında ayrıntılı bilgi edinmek için Silme etkinliği'ne bakın

Eski modeller

Not

Aşağıdaki modeller geriye dönük uyumluluk için olduğu gibi desteklenmektedir. İleride yukarıdaki bölümlerde bahsedilen yeni modeli kullanmanız önerilir ve yazma kullanıcı arabirimi yeni modeli oluşturmaya geçti.

Eski veri kümesi modeli

Mülk Açıklama Gerekli
Tür Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: FileShare Yes
klasörYolu Klasöre giden yol. Joker karakter filtresi desteklenir, izin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir); gerçek klasör adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış yapmak için kullanın ^ .

Örnekler: kök klasör/alt klasör/, Klasör ve dosya filtresi örnekleri'ndeki diğer örneklere bakın.
Yes
dosyaAdı Belirtilen "folderPath" altındaki dosyalar için ad veya joker karakter filtresi . Bu özellik için bir değer belirtmezseniz, veri kümesi klasördeki tüm dosyaları gösterir.

Filtre için izin verilen joker karakterler şunlardır: * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek karakterle eşleşir).
- Örnek 1: "fileName": "*.csv"
- Örnek 2: "fileName": "???20180427.txt"
Gerçek dosya adınızın içinde joker karakter veya bu kaçış karakteri varsa ^ kullanarak kaçış yapın.
Hayır
biçim Dosyaları dosya tabanlı depolar (ikili kopya) arasında olduğu gibi kopyalamak istiyorsanız, hem giriş hem de çıkış veri kümesi tanımlarında biçim bölümünü atlayın.

Dosyaları belirli bir biçimde ayrıştırmak istiyorsanız, şu dosya biçimi türleri desteklenir: TextFormat, JsonFormat, AvroFormat, OrcFormat, ParquetFormat. biçim altındaki type özelliğini bu değerlerden birine ayarlayın. Daha fazla bilgi için bkz. Metin Biçimi, JSON Biçimi, Avro Biçimi, Ork Biçimi ve Parquet Biçimi bölümleri.
Hayır (yalnızca ikili kopyalama senaryosu için)
sıkıştırma Verilerin sıkıştırma türünü ve düzeyini belirtin. Daha fazla bilgi için bkz . Desteklenen dosya biçimleri ve sıkıştırma codec'leri.
Desteklenen türler şunlardır: GZip, Deflate, BZip2 ve ZipDeflate.
Desteklenen düzeyler şunlardır: En uygun ve en hızlı.
Hayır
useBinaryTransfer İkili aktarım modunun kullanılıp kullanılmayacağını belirtin. değerler ikili mod için true (varsayılan) ve ASCII için false değerleridir. Hayır

İpucu

Bir klasörün altındaki tüm dosyaları kopyalamak için yalnızca folderPath değerini belirtin.
Belirli bir ada sahip tek bir dosyayı kopyalamak için, folderPath ile klasör yolunu ve fileName ile dosya adını belirtin.
Bir klasörün altındaki dosyaların bir alt kümesini kopyalamak için klasör bölümü ile folderPath ve joker karakter filtresiyle fileName belirtin.

Not

Dosya filtresi için "fileFilter" özelliğini kullandıysanız, yine de olduğu gibi desteklenir, ancak bundan sonra "fileName" dosyasına eklenen yeni filtre özelliğini kullanmanız önerilir.

Örnek:

{
    "name": "FTPDataset",
    "properties": {
        "type": "FileShare",
        "linkedServiceName":{
            "referenceName": "<FTP linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "folderPath": "folder/subfolder/",
            "fileName": "myfile.csv.gz",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

Geçmiş kopyalama etkinliği kaynak modeli

Mülk Açıklama Gerekli
Tür Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: FileSystemSource Yes
Özyinelemeli Verilerin alt klasörlerden veya yalnızca belirtilen klasörden özyinelemeli olarak okunup okunmadığını gösterir. Özyineleme true olarak ayarlandığında ve havuz dosya tabanlı depo olduğunda boş klasör/alt klasör havuza kopyalanmaz/oluşturulmaz.
İzin verilen değerler şunlardır: true (varsayılan), false
Hayır
Maksimum Eşzamanlı Bağlantılar Etkinlik çalıştırması sırasında veri deposuna kurulan eş zamanlı bağlantıların üst sınırı. Yalnızca eşzamanlı bağlantıları sınırlamak istediğinizde bir değer belirtin. Hayır

Örnek:

"activities":[
    {
        "name": "CopyFromFTP",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<FTP input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "FileSystemSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

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