Azure Data Factory ile dosyaları taşıma

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

Bahşiş

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!

ADF kopyalama etkinliği, depolama depoları arasında ikili dosyaları kopyalarken "taşıma" senaryosunda yerleşik desteğe sahiptir. Bunu etkinleştirmenin yolu, kopyalama etkinliğinde "deleteFilesAfterCompletion" değerini true olarak ayarlamaktır. Bunu yaptığınızda kopyalama etkinliği, iş tamamlandıktan sonra veri kaynağı deposundaki dosyaları siler.

Bu makalede, aynı senaryoya ulaşmak için ADF esnek denetim akışının yanı sıra kopyalama etkinliği ve silme etkinliğinden yararlanan başka bir yaklaşım olarak bir çözüm şablonu açıklanmaktadır. Bu şablonu kullanmanın yaygın senaryolarından biri: Dosyalar sürekli olarak kaynak deponuzun bir giriş klasörüne bırakılır. Bir zamanlama tetikleyicisi oluşturarak, ADF işlem hattı bu dosyaları kaynaktan hedef depoya düzenli aralıklarla taşıyabilir. ADF işlem hattının "dosyaları taşıma" işlemini gerçekleştirmesinin yolu, dosyaları giriş klasöründen almak, her birini hedef depodaki başka bir klasöre kopyalamak ve ardından aynı dosyaları kaynak depodaki giriş klasöründen silmektir.

Dekont

Bu şablonun klasörleri taşımak yerine dosyaları taşımak için tasarlandığını unutmayın. Veri kümesini değiştirerek yalnızca klasör yolu içerecek şekilde taşımak ve ardından kopyalama etkinliğini ve silme etkinliğini kullanarak klasörü temsil eden aynı veri kümesine başvurmak istiyorsanız, çok dikkatli olmanız gerekir. Bunun nedeni, kopyalama işlemi ile silme işlemi arasında klasöre gelen yeni dosyaların OLMAYACAĞıNDAN emin olmanız gerekir. Kopyalama etkinliğinizin kopyalama işini yeni tamamladığı ancak Delete etkinliğinin yıldızlanmadığı şu anda klasöre gelen yeni dosyalar varsa, Delete etkinliği henüz hedefe kopyalanmamış olan bu yeni gelen dosyayı klasörün tamamını silerek silebilir.

Bu çözüm şablonu hakkında

Bu şablon dosyaları kaynak dosya tabanlı deponuzdan alır. Ardından her birini hedef depoya taşır.

Şablon beş etkinlik içerir:

  • GetMetadata , kaynak depodaki klasörünüzdeki dosyalar ve alt klasörler de dahil olmak üzere nesnelerin listesini alır. Nesneleri özyinelemeli olarak almayacaktır.
  • Yalnızca dosyaları seçmek için GetMetadata etkinliğindeki nesne listesini filtreleyin.
  • ForEach, Filtre etkinliğinden dosya listesini alır ve ardından listeyi yineler ve her dosyayı Kopyalama etkinliği ve Sil etkinliğine geçirir.
  • Bir dosyayı kaynaktan hedef depoya kopyalar .
  • Delete , kaynak depodan aynı dosyayı siler.

Şablon dört parametre tanımlar:

  • SourceStore_Location, dosyaları taşımak istediğiniz kaynak deponuzun klasör yoludur.
  • SourceStore_Directory, dosyaları taşımak istediğiniz kaynak deponuzun alt klasör yoludur.
  • DestinationStore_Location, hedef deponuzun dosyaları taşımak istediğiniz klasör yoludur.
  • DestinationStore_Directory, hedef deponuzun dosyaları taşımak istediğiniz alt klasör yoludur.

Bu çözüm şablonunu kullanma

  1. Dosyaları taşı şablonuna gidin. Mevcut bağlantıyı seçin veya dosyaları taşımak istediğiniz kaynak dosya deponuza yeni bir bağlantı oluşturun. DataSource_Folder ve DataSource_File kaynak dosya deponuzun aynı bağlantısına başvuruda bulunduğunu unutmayın.

    Screenshot showing creation of a new connection to the source.

  2. Mevcut bağlantıyı seçin veya dosyaları taşımak istediğiniz hedef dosya deponuza yeni bir bağlantı oluşturun.

    Screenshot showing creation a new connection to the destination.

  3. Bu şablon sekmesini kullan'ı seçin.

  4. aşağıdaki örnekte olduğu gibi işlem hattını görürsünüz:

    Screenshot showing the pipeline.

  5. Hata Ayıkla'yı seçin, Parametreler'i girin ve son'u seçin. Parametreler, dosyaları taşımak istediğiniz klasör yolu ve dosyaları taşımak istediğiniz klasör yoludur.

    Screenshot showing where to run the pipeline.

  6. Sonucu gözden geçirin.

    Screenshot showing the result of the pipeline run.