Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ŞUNLARA UYGULANIR:
Azure Data Factory
Azure Synapse Analytics
İpucu
Microsoft Fabric'daki
Bu makalede, güvenli FTP (SFTP) sunucusundan veri kopyalamak ve SFTP sunucusundaki verileri dönüştürmek için Veri Akışı kullanmak için Kopyalama Etkinliği'nin nasıl kullanılacağı özetlenmiştir. Daha fazla bilgi için Azure Data Factory veya Azure Synapse Analytics için giriş makalesine bakınız.
Not
Bu bağlayıcı Microsoft Fabric'daki Data Factory'de de kullanılabilir. Fabric özgü yapılandırma ve özellikler için Fabric SFTP bağlayıcısı belgelerine bakın.
Desteklenen özellikler
Bu SFTP bağlayıcısı aşağıdaki özellikler için desteklenir:
| Desteklenen özellikler | Kızılötesi |
|---|---|
| Kopyalama etkinliği (kaynak/havuz) | (1) (2) |
| Veri akışının haritalanması (kaynak/hedef) | (1) |
| Arama etkinliği | (1) (2) |
| GetMetadata etkinliği | (1) (2) |
| Etkinliği sil | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Yerel barındırılan tümleştirme çalışma zamanı
SFTP bağlayıcısı özellikle şunları destekler:
- Dosyaları Basic, SSH açık anahtar veya çok faktörlü kimlik doğrulama kullanarak SFTP sunucusundan ve sunucusuna kopyalamak.
- Desteklenen dosya biçimleri ve sıkıştırma codec bileşenleriyle dosyaları olduğu gibi kopyalama veya ayrıştırma ya da oluşturma.
Önkoşullar
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.
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 verme listesine Azure Integration Runtime IP ekleyebilirsiniz.
Şirket içi ağa erişmek için, şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan Azure Data Factory 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:
- Veri Kopyalama aracı
- Azure portalı
- .NET SDK
- Python SDK'sı
- Azure PowerShell
- REST API'si
- Azure Resource Manager şablonu
Kullanıcı arabirimini kullanarak SFTP bağlı hizmeti oluşturma
Azure portalı kullanıcı arabiriminde SFTP bağlı hizmeti oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine gidin ve Bağlı Hizmetler'i ve ardından Yeni'yi seçin:
Azure Data Factory UI ile yeni bir bağlı hizmet oluşturma ekranının ekran görüntüsü. SFTP'yi arayın ve SFTP bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlantı testi başarılı olduktan sonra, SFTP bağlantılı servis Bağlantılı hizmetler altında görünür ve veri setleri ile pipeline'larda kullanıma hazırdır.
Bağlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde SFTP'ye özgü varlıkları tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
SFTP bağlı hizmeti için aşağıdaki özellikler desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | type özelliği Sftp olarak ayarlanmalıdır. | Yes |
| sunucu | SFTP sunucusunun adı veya IP adresi. | Yes |
| bağlantı noktası | SFTP sunucusunun dinlediği bağlantı noktası. İzin verilen değer bir tamsayıdır ve varsayılan değer 22'dir. |
Hayır |
| skipHostKeyValidation | Sunucu anahtarı doğrulamasının atlanıp atlanmayacağını belirtin. İzin verilen değerler true ve false (varsayılan) değerleridir. |
Hayır |
| hostKeyFingerprint | Konak anahtarının parmak izini belirtin. | Evet, "skipHostKeyValidation" false olarak ayarlandıysa. |
| kimlik doğrulama türü | Kimlik doğrulama türünü belirtin. İzin verilen değerler Basic, SshPublicKey ve MultiFactor'dır. Diğer özellikler için Temel kimlik doğrulamasını kullanma bölümüne bakın. JSON örnekleri için SSH ortak anahtar kimlik doğrulamasını kullanma bölümüne bakın. |
Yes |
| connectVia | Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Daha fazla bilgi edinmek için Önkoşullar bölümüne bakın. integration runtime belirtilmezse, hizmet varsayılan Azure Integration Runtime kullanır. | Hayır |
Temel kimlik doğrulamayı kullanma
Temel kimlik doğrulamasını kullanmak için authenticationType özelliğini Temel olarak ayarlayın ve önceki bölümde tanıtılan SFTP bağlayıcısı genel özelliklerine ek olarak aşağıdaki özellikleri belirtin:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| userName | SFTP sunucusuna erişimi olan kullanıcı. | Yes |
| şifre | Kullanıcının parolası (userName). Bu alanı güvenli bir şekilde depolamak için SecureString olarak işaretleyin veya Azure Key Vault içinde depolanan bir gizli diziye referans yapın. | Yes |
Örnek:
{
"name": "SftpLinkedService",
"properties": {
"type": "Sftp",
"typeProperties": {
"host": "<sftp server>",
"port": 22,
"skipHostKeyValidation": false,
"hostKeyFingerprint": "ssh-rsa 2048 xx:00:00:00:xx:00:x0:0x:0x:0x:0x:00:00:x0:x0:00",
"authenticationType": "Basic",
"userName": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of integration runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
SSH ortak anahtar kimlik doğrulamasını kullanma
SSH ortak anahtar kimlik doğrulamasını kullanmak için "authenticationType" özelliğini SshPublicKey olarak ayarlayın ve son bölümde sunulan SFTP bağlayıcısı genel özelliklerinin yanında aşağıdaki özellikleri belirtin:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| userName | SFTP sunucusuna erişimi olan kullanıcı. | Yes |
| özelAnahtarYolu | Tümleştirme çalışma zamanının erişebileceği özel anahtar dosyasının mutlak yolunu belirtin. Bu yalnızca "connectVia" içinde kendi barındırdığı tümleştirme çalışma zamanı türü belirtildiğinde geçerlidir. |
privateKeyPath veya privateKeyContentbelirtin. |
| privateKeyContent | Base64 kodlanmış SSH özel anahtar içeriği. SSH özel anahtarı OpenSSH biçiminde olmalıdır. Bu alanı güvenli bir şekilde depolamak için SecureString olarak işaretleyin veya Azure Key Vault içinde depolanan bir gizli diziye referans yapın. |
privateKeyPath veya privateKeyContentbelirtin. |
| parola | Anahtar dosyası veya anahtar içeriği bir geçiş tümceciğiyle korunuyorsa özel anahtarın şifresini çözmek için geçiş tümceciği veya parola belirtin. Bu alanı güvenli bir şekilde depolamak için SecureString olarak işaretleyin veya Azure Key Vault içinde depolanan bir gizli diziye referans yapın. | Evet, özel anahtar dosyası veya anahtar içeriği bir geçiş tümceciğiyle korunuyorsa. |
Not
SFTP bağlayıcısı bir RSA/DSA OpenSSH anahtarını destekler. Anahtar dosyanızın içeriğinin "-----BEGIN [RSA/DSA] PRIVATE KEY-----" ile başladığından emin olun. Özel anahtar dosyası PPK biçiminde bir dosyaysa, PPK'den OpenSSH biçimine dönüştürmek için PuTTY aracını kullanın.
Örnek 1: Özel anahtar filePath kullanarak SshPublicKey kimlik doğrulaması
{
"name": "SftpLinkedService",
"properties": {
"type": "Sftp",
"typeProperties": {
"host": "<sftp server>",
"port": 22,
"skipHostKeyValidation": true,
"authenticationType": "SshPublicKey",
"userName": "xxx",
"privateKeyPath": "D:\\privatekey_openssh",
"passPhrase": {
"type": "SecureString",
"value": "<pass phrase>"
}
},
"connectVia": {
"referenceName": "<name of integration runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Örnek 2: Özel anahtar içeriği kullanılarak SshPublicKey kimlik doğrulaması
{
"name": "SftpLinkedService",
"properties": {
"type": "Sftp",
"typeProperties": {
"host": "<sftp server>",
"port": 22,
"skipHostKeyValidation": true,
"authenticationType": "SshPublicKey",
"userName": "<username>",
"privateKeyContent": {
"type": "SecureString",
"value": "<base64 string of the private key content>"
},
"passPhrase": {
"type": "SecureString",
"value": "<pass phrase>"
}
},
"connectVia": {
"referenceName": "<name of integration runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Çok faktörlü kimlik doğrulamasını kullanma
Çok faktörlü kimlik doğrulamayı kullanmak için, yani temel ve SSH açık anahtar kimlik doğrulamalarının birleşimi, kullanıcı adı, şifre ve önceki bölümlerde açıklanan özel anahtar bilgilerini belirtin.
Örnek: çok faktörlü kimlik doğrulama
{
"name": "SftpLinkedService",
"properties": {
"type": "Sftp",
"typeProperties": {
"host": "<host>",
"port": 22,
"authenticationType": "MultiFactor",
"userName": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
},
"privateKeyContent": {
"type": "SecureString",
"value": "<base64 encoded private key content>"
},
"passPhrase": {
"type": "SecureString",
"value": "<passphrase for private key>"
}
},
"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.
- Avro biçimi
- İkili biçim
- Sınırlandırılmış metin biçimi
- Excel biçimi
- JSON biçimi
- ORC biçimi
- Parquet biçimi
- XML biçimi
Aşağıdaki özellikler, biçim tabanlı veri kümesindeki ayarlar altında location SFTP için desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip |
veri kümesinde altındaki type özelliği location SftpLocation olarak ayarlanmalıdır. |
Yes |
| folderPath | Klasörün yolu. Klasörü filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarlarında yolu belirtin. | Hayır |
| dosyaAdı | Belirtilen folderPath altındaki dosya adı. Dosyaları filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarlarında dosya adını belirtin. | Hayır |
Örnek:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<SFTP linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "SftpLocation",
"folderPath": "root/folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
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üm, SFTP kaynağı tarafından desteklenen özelliklerin listesini sağlar.
Kaynak olarak SFTP
Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.
- Avro biçimi
- İkili biçim
- Sınırlandırılmış metin biçimi
- Excel biçimi
- JSON biçimi
- ORC biçimi
- Parquet biçimi
- XML biçimi
SFTP için aşağıdaki özellikler, biçim tabanlı Kopyalama kaynağındaki ayarlar altında storeSettings desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip |
altındaki storeSettings özelliği SftpReadSettings olarak ayarlanmalıdır. |
Yes |
| Kopyalanacak dosyaları bulma | ||
| SEÇENEK 1: statik yol |
Veri kümesinde belirtilen klasörden/dosya yolundan kopyalayın. Bir klasörden tüm dosyaları kopyalamak istiyorsanız, ek olarak wildcardFileNameolarak 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 ^ . Daha fazla örnek için bkz . Klasör ve dosya filtresi örnekleri. |
Hayır |
| SEÇENEK 2: joker karakter - wildcardDosyaAdı |
Kaynak dosyaları filtrelemek için belirtilen 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çış için kullanın ^ . Daha fazla örnek için bkz . Klasör ve dosya filtresi örnekleri. |
Yes |
| SEÇENEK 3: dosyaların listesi - fileListPath |
Belirtilen dosya kümesinin kopyalandığını gösterir. Kopyalamak istediğiniz dosyaların listesini içeren bir metin dosyasının üzerine gelin (satır başına bir dosya, veri kümesinde yapılandırılmış yolun göreli yolu). Bu seçeneği kullandığınızda, veri kümesinde dosya adını belirtmeyin. Daha fazla örnek için bkz . Dosya listesi örnekleri. |
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 kopyalanır veya oluşturulmaz. İzin verilen değerler true (varsayılan) ve false değerleridir. Bu özelliği fileListPath yapılandırdığınızda 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 dosya başına yapılır, yani kopyalama faaliyeti başarısız olduğunda, bazı dosyalar zaten hedef hedefe kopyalanıp kaynaktan silinmiş olurken, diğerleri ise hâlâ kaynak depoda kalıyor. Bu özellik yalnızca ikili dosya kopyalama senaryosunda geçerlidir. Varsayılan değer: false. |
Hayır |
| değiştirilmişTarihSaatBaşlangıç | Dosyalar, Son Değiştirme Tarihi özniteliğine göre filtrelenir. Dosyalar, son değiştirme süreleri değerinden büyük veya buna eşit modifiedDatetimeStart ve değerinden modifiedDatetimeEndküçükse seçilir. Saat UTC saat dilimine 2018-12-01T05:00:00Z biçiminde uygulanır. Özellikler NULL olabilir; başka bir deyişle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. Bir datetime değeri olduğunda modifiedDatetimeStart ancak modifiedDatetimeEnd NULL olduğunda, son değiştirilen özniteliği datetime değerinden büyük veya buna eşit olan dosyaların seçildiği anlamına gelir. Tarih saat değeri olduğunda modifiedDatetimeEnd ancak modifiedDatetimeStart NULL olduğunda, son değiştirilen özniteliği datetime değerinden küçük olan dosyaların seçili olduğu anlamına gelir.Bu özelliği fileListPath yapılandırdığınızda geçerli değildir. |
Hayır |
| değişiklikTarihSaatiSonu | Dosyalar, Son Değiştirilmiş özniteliğine göre filtrelenir, aynı modifiedDatetimeStartşekilde . Dosyalar, son değiştirilme süresi daha küçükse modifiedDatetimeEndseçilir. Saat UTC saat dilimine 2018-12-01T05:00:00Z biçiminde uygulanır. Bu özelliği fileListPath yapılandırdığınızda geçerli değildir. |
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çalama devre dışı bırak | SFTP'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. SFTP 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": "CopyFromSFTP",
"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": "SftpReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv",
"disableChunking": false
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Havuz olarak SFTP
Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.
SFTP için, biçim tabanlı kopyalama havuzundaki ayarlar altında storeSettings aşağıdaki özellikler desteklenir:
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | altındaki 'ki storeSettings özelliği SftpWriteSettings olarak ayarlanmalıdır. |
Yes |
| kopyalamaDavranışı | Kaynak dosya tabanlı bir veri deposundaki dosyalar olduğunda kopyalama davranışını tanımlar. İzin verilen değerler şunlardır: - PreserveHierarchy (varsayılan): Hedef klasördeki dosya hiyerarşisini korur. Kaynak dosyanın kaynak klasöre göreli yolu, hedef dosyanın hedef klasöre göreli yolu ile aynıdır. - FlattenHierarchy: Kaynak klasördeki tüm dosyalar hedef klasörün ilk düzeyindedir. Hedef dosyalar otomatik olarak oluşturulan adlara sahiptir. - MergeFiles: Kaynak klasördeki tüm dosyaları tek bir dosyayla birleştirir. Dosya adı belirtilirse, birleştirilmiş dosya adı belirtilen addır. Aksi takdirde, otomatik olarak oluşturulan bir dosya adıdır. |
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 |
| useTempFileRename | Geçici dosyalara yükleyip yeniden adlandıracak mısınız, yoksa doğrudan hedef klasöre veya dosya konumuna mı yazacaksınız, belirtin. Varsayılan olarak, hizmet önce geçici dosyalara yazar ve karşıya yükleme tamamlandığında bunları yeniden adlandırır. Bu dizi (1) aynı dosyaya yazan başka işlemleriniz varsa dosyanın bozulmasına neden olabilecek çakışmaları önlemeye ve (2) aktarım sırasında dosyanın özgün sürümünün mevcut olduğundan emin olmanıza yardımcı olur. SFTP sunucunuz yeniden adlandırma işlemini desteklemiyorsa bu seçeneği devre dışı bırakın ve hedef dosyaya eşzamanlı yazma işlemine sahip olmadığınızdan emin olun. Daha fazla bilgi için bu tablonun sonundaki sorun giderme ipucuna bakın. | Hayır Varsayılan değer true değeridir. |
| işlem zaman aşımı | SFTP sunucusuna yapılan her yazma isteğinin zaman aşımına uğramadan önceki bekleme süresi. Varsayılan ayar 60 dakikadır (01:00:00). | Hayır |
İpucu
SFTP'ye veri yazarken "UserErrorSftpPathNotFound", "UserErrorSftpPermissionDenied" veya "SftpOperationFail" hatasını alırsanız ve kullandığınız SFTP kullanıcısı uygun izinlere sahipse , SFTP sunucunuzun dosya yeniden adlandırma işleminin çalışıp çalışmadığını denetleyin. Değilse, Geçici dosya ile yüklemeyi seçeneğini devre dışı bırakın ve yeniden deneyin. Bu özellik hakkında daha fazla bilgi edinmek için önceki tabloya bakın. Kopyalama etkinliği için kendin barındırılan tümleştirme çalışma zamanı kullanıyorsanız, 4.6 veya daha sonraki bir sürümü kullandığınızdan emin olun.
Örnek:
"activities":[
{
"name": "CopyToSFTP",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "BinarySink",
"storeSettings":{
"type": "SftpWriteSettings",
"copyBehavior": "PreserveHierarchy"
}
}
}
}
]
Klasör ve dosya filtresi örnekleri
Bu bölümde, klasör yolları ve dosya adlarıyla joker karakter filtrelerinin kullanılmasından kaynaklanan davranış açıklanmaktadır.
| folderPath | 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 AltKlasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
(boş, varsayılanı kullan) | doğru | KlasörA File1.csv File2.json AltKlasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
yanlış | KlasörA File1.csv File2.json AltKlasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
doğru | KlasörA File1.csv File2.json AltKlasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Dosya listesi örnekleri
Bu tabloda, Kopyalama etkinliği kaynağında dosya listesi yolunun kullanılmasından kaynaklanan davranış açıklanır. Aşağıdaki kaynak klasör yapısına sahip olduğunuzu ve kalın yazı tipindeki dosyaları kopyalamak istediğinizi varsayar:
| Örnek kaynak yapısı | FileListToCopy.txt dosyasının içeriği | Azure Data Factory yapılandırması |
|---|---|---|
| kök KlasörA File1.csv File2.json AltKlasör1 File3.csv File4.json File5.csv Meta veri FileListToCopy.txt |
File1.csv Alt Klasör1/File3.csv Alt Klasör1/File5.csv |
Veri kümesinde: - Klasör yolu: root/FolderAKopyalama etkinliğinin kaynağında: - Dosya listesi yolu: root/Metadata/FileListToCopy.txt Dosya listesi yolu, kopyalamak istediğiniz dosyaların listesini içeren aynı veri deposundaki bir metin dosyasını gösterir (veri kümesinde yapılandırılmış yolun göreli yolu ile her satırda bir dosya). |
Veri akışı haritalama özellikleri
Eşleme veri akışlarında verileri dönüştürürken, SFTP'den dosyaları aşağıdaki biçimlerde okuyabilir ve yazabilirsiniz:
Her formatın dokümantasyonunda formata özgü ayarlar bulunur. Daha fazla bilgi için bkz. Eşleme veri akışında kaynak dönüşümü ve eşleme veri akışında havuz dönüşümü.
Not
Veri akışını eşlemek, SSH ana anahtarı doğrulamasını desteklemez.
Not
Yerel SFTP sunucusuna erişmek için Azure Data Factory veya Synapse workspace Managed Sanal Ağ kullanarak özel uç nokta kullanmanız gerekir. Detaylı adımlar için bu eğitime bakınız.
Kaynak dönüştürme
Aşağıdaki tablo, SFTP kaynağı tarafından desteklenen özellikleri listelemektedir. Bu özellikleri Kaynak seçenekleri sekmesinde düzenleyebilirsiniz. Bir veri seti kullandığınızda, veri seti özellikleri bölümünde açıklanan özelliklerle aynı olan ek ayarlar görürsünüz.
| Veri Akışı Adı | Açıklama | Gerekli | İzin verilen değerler | Veri akışı betiği özelliği |
|---|---|---|---|---|
| Joker karakter yolu | Bir joker desen kullanmak, servisin her eşleşen klasör ve dosyayı tek bir kaynak dönüşümünde döngüye sokmasını sağlar. Bu yöntem, tek bir akış içinde birden fazla dosyayı işlemenin etkili bir yoludur. | Hayır | Dize[] | joker karakter yolları |
| Disk Bölümü Kök Yolu | Dosya kaynağınızda bir key=value biçime (örneğin, ) sahip bölümlenmiş klasörleriniz varsa, year=2019bu bölüm klasörü ağacının en üst düzeyini veri akışı veri akışınızdaki bir sütun adına atayabilirsiniz. |
Hayır | String | partitionRootPath |
| Dosya bulunamadığında izin ver | Doğruysa, hizmet dosya bulamazsa hata atmaz. | Hayır |
true veya false |
ignoreNoFilesFound |
| Dosya listesi | Bu bir dosya kümesidir. İşlenmek üzere göreli yol dosyalarının listesini içeren bir metin dosyası oluşturun. Bu metin dosyasına işaret edin. | Hayır |
true veya false |
dosyaListesi |
| Dosya adını depolamak için sütun | Kaynak dosyanın adını verilerinizdeki bir sütunda depolayın. Dosya adı dizesini depolamak için buraya yeni bir sütun adı girin. | Hayır | String | rowUrlColumn |
| Tamamlandıktan sonra | Veri akışı çalıştırıldıktan sonra kaynak dosyayla hiçbir işlem yapmayı, kaynak dosyayı silmeyi veya kaynak dosyayı taşımayı seçin. Taşımanın yolları görelidir. | Hayır | Sil: true veya false Hareket etmek: ['<from>', '<to>'] |
dosyaları temizle moveFiles |
| Son değiştirme tarihine göre filtrele | İşlediğiniz dosyaları, en son değiştirildikleri tarih aralığını belirterek filtreleyebilirsiniz. Tüm tarih-saatler UTC olarak belirlenir. | Hayır | Zaman damgası | sonraDeğiştirildi önce_değiştirildi |
SFTP kaynak betiği örneği
Kaynak türü olarak SFTP veri kümesini kullandığınızda, ilişkili veri akışı betiği şöyle olur:
source(allowSchemaDrift: true,
validateSchema: false,
ignoreNoFilesFound: true,
purgeFiles: true,
fileList: true,
modifiedAfter: (toTimestamp(1647388800000L)),
modifiedBefore: (toTimestamp(1647561600000L)),
partitionRootPath: 'partdata',
wildcardPaths:['partdata/**/*.csv']) ~> SFTPSource
Havuz dönüşümü
Aşağıdaki tablo, SFTP sink tarafından desteklenen özellikleri listelemektedir. Bu özellikleri Ayarlar sekmesinde düzenleyebilirsiniz. Bir veri seti kullandığınızda, veri seti özellikleri bölümünde açıklanan özelliklerle aynı olan ek ayarlar görürsünüz.
| Veri Akışı Adı | Açıklama | Gerekli | İzin verilen değerler | Veri akışı betiği özelliği |
|---|---|---|---|---|
| Klasörü temizleme | Veriler yazılmadan önce hedef klasörün temizlenip temizlenmeyeceğini belirler. | Hayır |
true veya false |
kesmek |
| Dosya adı seçeneği | Yazılan verilerin adlandırma biçimi. Her bölüm için varsayılan olarak part-#####-tid-<guid> formatında bir dosya. |
Hayır | Desen: Dize Bölüm başına: Dizgi[] Dosyayı sütun verileri olarak adlandır: Dize Klasörü sütun verileri olarak adlandır: Dize Tek bir dosyaya çıkış: ['<fileName>'] |
filePattern bölümDosyaAdları rowUrlColumn rowFolderUrlColumn bölümDosyaAdları |
| Tümünü alıntıla | Tüm değerlerin tırnak içine alınıp alınmayacağını belirler. | Hayır |
true veya false |
quoteAll |
SFTP havuz betiği örneği
Havuz türü olarak SFTP veri kümesini kullandığınızda, ilişkili veri akışı betiği şöyle olur:
IncomingStream sink(allowSchemaDrift: true,
validateSchema: false,
filePattern:'loans[n].csv',
truncate: true,
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> SFTPSink
Arama etkinliği özellikleri
Arama etkinliği özellikleri hakkında bilgi için Arama etkinliği kısmına bakın.
GetMetadata etkinlik özellikleri
GetMetadata aktivite özellikleri hakkında bilgi için bkz. GetMetadata aktivitesi.
Etkinlik özelliklerini silme
Silme etkinliği özellikleri hakkında bilgi için bkz Silme etkinliği.
Eski modeller
Not
Aşağıdaki modeller geriye dönük uyumluluk için olduğu gibi hala desteklenmektedir. Yazma kullanıcı arabirimi yeni modeli oluşturmaya geçtiğinden, daha önce tartışılan yeni modeli kullanmanızı öneririz.
Eski veri kümesi modeli
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | Veri kümesinin type özelliği FileShare olarak ayarlanmalıdır. | Yes |
| folderPath | Klasörün yolu. Joker karakter filtresi desteklenir. İzin verilen joker karakterler şunlardır * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek bir 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 ^ . Ö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 * (sıfır veya daha fazla karakterle eşleşir) ve ? (sıfır veya tek bir karakterle eşleşir) şeklindedir.- Örnek 1: "fileName": "*.csv"- Örnek 2: "fileName": "???20180427.txt"Klasör adınızda bir joker karakter veya bu kaçış karakteri varsa, kaçış yapmak için ^ kullanın. |
Hayır |
| değiştirilmişTarihSaatBaşlangıç | Dosyalar, Son Değiştirme Tarihi özniteliğine göre filtrelenir. Dosyalar, son değiştirme süreleri değerinden büyük veya buna eşit modifiedDatetimeStart ve değerinden modifiedDatetimeEndküçükse seçilir. Saat UTC saat dilimine 2018-12-01T05:00:00Z biçiminde uygulanır. Çok sayıda dosyadan dosya filtresi uygulamak istediğinizde veri taşımanın genel performansı bu ayarın etkinleştirilmesinden etkilenir. Özellikler NULL olabilir; başka bir deyişle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. Bir datetime değeri olduğunda modifiedDatetimeStart ancak modifiedDatetimeEnd NULL olduğunda, son değiştirilen özniteliği datetime değerinden büyük veya buna eşit olan dosyaların seçildiği anlamına gelir. Tarih saat değeri olduğunda modifiedDatetimeEnd ancak modifiedDatetimeStart NULL olduğunda, son değiştirilen özniteliği datetime değerinden küçük olan dosyaların seçili olduğu anlamına gelir. |
Hayır |
| değişiklikTarihSaatiSonu | Dosyalar, Son Değiştirme Tarihi özniteliğine göre filtrelenir. Dosyalar, son değiştirme süreleri değerinden büyük veya buna eşit modifiedDatetimeStart ve değerinden modifiedDatetimeEndküçükse seçilir. Saat UTC saat dilimine 2018-12-01T05:00:00Z biçiminde uygulanır. Çok sayıda dosyadan dosya filtresi uygulamak istediğinizde veri taşımanın genel performansı bu ayarın etkinleştirilmesinden etkilenir. Özellikler NULL olabilir; başka bir deyişle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. Bir datetime değeri olduğunda modifiedDatetimeStart ancak modifiedDatetimeEnd NULL olduğunda, son değiştirilen özniteliği datetime değerinden büyük veya buna eşit olan dosyaların seçildiği anlamına gelir. Tarih saat değeri olduğunda modifiedDatetimeEnd ancak modifiedDatetimeStart NULL olduğunda, son değiştirilen özniteliği datetime değerinden küçük olan dosyaların seçili olduğu anlamına gelir. |
Hayır |
| format | 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 ve 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 GZip, Deflate, BZip2 ve ZipDeflate'tır. Desteklenen düzeyler En uygun ve en hızlı düzeylerdir. |
Hayır |
İpucu
Bir klasörün altındaki tüm dosyaları kopyalamak için yalnızca folderPath değerini belirtin.
Tek bir dosyayı belirtilen ada göre kopyalamak için, klasör bölümünü folderPath olarak ve dosya adını fileName olarak belirtin.
Bir klasörün altındaki dosyaların bir alt kümesini kopyalamak için klasör bölümüyle folderPath ve joker karakter filtresiyle fileName belirtin.
Not
Dosya filtresi için fileFilter özelliğini kullanıyorsanız, hala olduğu gibi destekleniyor, ancak bundan sonra fileName'e eklenen yeni filtre özelliğini kullanın.
Örnek:
{
"name": "SFTPDataset",
"type": "Datasets",
"properties": {
"type": "FileShare",
"linkedServiceName":{
"referenceName": "<SFTP linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "folder/subfolder/",
"fileName": "*",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Eski Kopyalama etkinliği kaynak modeli
| Özellik | Açıklama | Gerekli |
|---|---|---|
| Tip | Kopyalama etkinliği kaynağının type özelliği FileSystemSource olarak ayarlanmalıdır. | 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ı bir depo olduğunda, boş klasörler ve alt klasörler havuza kopyalanamaz veya oluşturulmaz. İzin verilen değerler true (varsayılan) ve 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": "CopyFromSFTP",
"type": "Copy",
"inputs": [
{
"referenceName": "<SFTP input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "FileSystemSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
İlgili içerik
Kopyalama etkinliği kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz. desteklenen veri depoları.