Başarılı ve başarısız olduğunda verileri kopyalama ve e-posta bildirimleri gönderme
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 öğreticide, bazı denetim akışı özelliklerini gösteren bir Data Factory işlem hattı oluşturacaksınız. Bu işlem hattı, Azure Blob Depolama içindeki kapsayıcıdan aynı depolama hesabındaki başka bir kapsayıcıya basit bir kopyalama işlemi yapar. Kopyalama etkinliği başarılı olursa, işlem hattı başarılı kopyalama işleminin ayrıntılarını (örneğin, yazılan veri miktarı) bir başarı e-postası ile gönderir. Kopyalama etkinliği başarısız olursa, işlem hattı kopyalama hatasının ayrıntılarını (örneğin, hata iletisi) bir hata e-postası ile gönderir. Öğretici boyunca parametreleri nasıl geçireceğinizi göreceksiniz.
Senaryoya üst düzey bir genel bakış:
Bu öğreticide aşağıdaki adımları gerçekleştireceksiniz:
- Veri fabrikası oluşturma.
- Azure Depolama bağlı hizmeti oluşturma.
- Azure blob veri kümesi oluşturma
- Kopyalama etkinliği ve bir Web etkinliği içeren işlem hattı oluşturma
- Etkinliklerin çıktılarını sonraki etkinliklere gönderme
- Parametre geçirme ve sistem değişkenlerini kullanma
- Bir işlem hattı çalıştırması başlatma
- İşlem hattı ve etkinlik çalıştırmalarını izleme
Bu öğreticide Azure portalı kullanılır. Azure Data Factory ile etkileşim kurmak için başka mekanizmalar kullanabilirsiniz; içindekiler tablosunda "Hızlı Başlangıçlar" bölümüne bakın.
Önkoşullar
- Azure aboneliği. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
- Azure Depolama hesabı. Blob depolama alanını kaynak veri deposu olarak kullanabilirsiniz. Azure depolama hesabınız yoksa, oluşturma adımları için Depolama hesabı oluşturma makalesine bakın.
- Azure SQL Veritabanı. Veritabanını havuz veri deposu olarak kullanabilirsiniz. Azure SQL Veritabanı'da veritabanınız yoksa, oluşturma adımları için Azure SQL Veritabanı'da veritabanı oluşturma makalesine bakın.
Blob tablosu oluşturma
Not Defteri'ni başlatın. Aşağıdaki metni kopyalayıp diskinizde input.txt dosyası olarak kaydedin.
John,Doe Jane,Doe
Azure Depolama Gezgini gibi araçları kullanarak aşağıdaki adımları uygulayın:
- adfv2branch kapsayıcısını oluşturun.
- adfv2branch kapsayıcısında giriş klasörünü oluşturun.
- input.txt dosyasını kapsayıcıya yükleyin.
E-posta iş akışı uç noktaları oluşturma
İşlem hattından e-posta göndermeyi tetikleme amacıyla iş akışını tanımlamak için Azure Logic Apps'i kullanırsınız. Mantıksal uygulama iş akışı oluşturma hakkında daha fazla bilgi için bkz . Örnek tüketim mantıksal uygulaması iş akışı oluşturma.
Başarı e-postası iş akışı
adlı CopySuccessEmail
bir Tüketim mantıksal uygulaması iş akışı oluşturun. HTTP isteği alındığında adlı İstek tetikleyicisini ekleyin ve E-posta gönder adlı Office 365 Outlook eylemini ekleyin. İstenirse, Office 365 Outlook hesabınızda oturum açın.
İstek tetikleyicisi için İstek Gövdesi JSON Şeması kutusunu aşağıdaki JSON ile doldurun:
{
"properties": {
"dataFactoryName": {
"type": "string"
},
"message": {
"type": "string"
},
"pipelineName": {
"type": "string"
},
"receiver": {
"type": "string"
}
},
"type": "object"
}
İş akışı tasarımcısındaki İstek tetikleyicisi aşağıdaki görüntü gibi görünmelidir:
E-posta gönder eylemi için, istek Gövdesi JSON şemasında geçirilen özellikleri kullanarak e-postayı nasıl biçimlendirmek istediğinizi özelleştirin. Örnek aşağıda verilmiştir:
İş akışını kaydedin. Başarı e-postası iş akışınız için HTTP Post isteği URL’sini not alın:
//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
Hata e-postası iş akışı
adlı CopyFailEmail
başka bir mantıksal uygulama iş akışı oluşturmak için aynı adımları izleyin. İstek tetikleyicisinde İstek Gövdesi JSON şema değeri aynıdır. Hata e-postasına uyarlamak için e-postanızın biçimini Subject
olarak değiştirin. Örnek aşağıda verilmiştir:
İş akışını kaydedin. Hata e-postası iş akışınız için HTTP Post isteği URL’sini not alın:
//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
Şu anda iki iş akışı URL'niz olmalıdır:
//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000
Veri fabrikası oluşturma
Microsoft Edge veya Google Chrome web tarayıcısını açın. Şu anda Data Factory kullanıcı arabirimi yalnızca Microsoft Edge ve Google Chrome web tarayıcılarında desteklenmektedir.
Sol üstteki menüyü genişletin ve Kaynak oluştur'u seçin. Ardından Integration>Data Factory'yi seçin:>
Yeni veri fabrikası sayfasında ad için ADFTutorialDataFactory adını girin.
Azure data factory adı küresel olarak benzersiz olmalıdır. Aşağıdaki hatayı alırsanız veri fabrikasının adını değiştirin (örneğin adınızADFTutorialDataFactory) ve oluşturmayı yeniden deneyin. Data Factory yapıtlarının adlandırma kuralları için Data Factory - Adlandırma Kuralları makalesine bakın.
"ADFTutorialDataFactory" veri fabrikası adı kullanılamıyor.
Veri fabrikasını oluşturmak istediğiniz Azure aboneliğini seçin.
Kaynak Grubu için aşağıdaki adımlardan birini uygulayın:
Var olanı kullan’ı seçin ve ardından açılır listeden var olan bir kaynak grubu belirleyin.
Yeni oluştur’u seçin ve bir kaynak grubunun adını girin.
Kaynak grupları hakkında daha fazla bilgi için bkz. Azure kaynaklarınızı yönetmek için kaynak gruplarını kullanma.
Sürüm için V2'yi seçin.
Data factory için konum seçin. Açılan listede yalnızca desteklenen konumlar görüntülenir. Veri fabrikası tarafından kullanılan verileri depoları (Azure Depolama, Azure SQL Veritabanı vb.) ve işlemler (HDInsight vb.) başka bölgelerde olabilir.
Panoya sabitle’yi seçin.
Oluştur’a tıklayın.
Oluşturma işlemi tamamlandıktan sonra, görüntüde gösterildiği gibi Data Factory sayfasını görürsünüz.
Azure Data Factory kullanıcı arabirimini (UI) ayrı bir sekmede başlatmak için Azure Data Factory Studio'yu Aç kutucuğuna tıklayın.
İşlem hattı oluşturma
Bu adımda, bir Kopyalama etkinliği ve iki Web etkinliği ile bir işlem hattı oluşturursunuz. İşlem hattını oluşturmak için aşağıdaki özellikleri kullanırsınız:
- Veri kümeleri tarafından erişilen işlem hattına yönelik parametreler.
- Başarı/hata e-postaları göndermek için Logic Apps iş akışlarını çağıracak web etkinliği.
- Bir etkinliği başka bir etkinliğe bağlama (başarı veya hata durumunda)
- Bir etkinliğin çıktısını sonraki etkinliğin girdisi olarak kullanma
Data Factory kullanıcı arabiriminin giriş sayfasında Orchestrate kutucuğuna tıklayın.
İşlem hattının özellikler penceresinde Parametreler sekmesine geçin ve Yeni düğmesini kullanarak String türündeki şu üç parametreyi ekleyin: sourceBlobContainer, sinkBlobContainer ve receiver.
- sourceBlobContainer - işlem hattında kaynak blob veri kümesi tarafından tüketilen parametre.
- sinkBlobContainer - havuz blobu veri kümesi tarafından kullanılan işlem hattındaki parametre
- receiver - Bu parametre, işlem hattında e-posta adresi bu parametre tarafından belirtilen alıcıya başarı veya başarısızlık e-postaları gönderen iki Web etkinliği tarafından kullanılır.
Etkinlikler araç kutusunda Kopyala'yı arayın ve Kopyalama etkinliğini sürükleyip işlem hattı tasarımcısının yüzeyine bırakın.
İşlem hattı tasarımcısı yüzeyine sürüklediğiniz Kopyalama etkinliğini seçin. Alttaki Kopyalama etkinliğinin Özellikler penceresinde Kaynak sekmesine geçip + Yeni’ye tıklayın. Bu adımda kopyalama etkinliği için bir kaynak veri kümesi oluşturursunuz.
Yeni Veri Kümesi penceresinde, en üstteki Azure sekmesini seçin ve ardından Azure Blob Depolama'ı seçin ve Devam'ı seçin.
Biçim seç penceresinde Sınırlandırılmış Metin'i ve devam et'i seçin.
Özellikleri ayarla başlıklı yeni bir sekme görürsünüz. Veri kümesinin adını SourceBlobDataset olarak değiştirin. Bağlı Hizmet açılan listesini seçin ve +Yeni'yi seçerek kaynak veri kümenize yeni bir bağlı hizmet oluşturun.
Bağlı hizmet için gerekli özellikleri doldurabileceğiniz Yeni bağlı hizmet penceresini görürsünüz.
Yeni Bağlı Hizmet penceresinde aşağıdaki adımları tamamlayın:
- Ad için AzureStorageLinkedService adını girin.
- Depolama hesabı adı için Azure depolama hesabınızı seçin.
- Oluştur’a tıklayın.
Ardından görüntülenen Özellikleri ayarla penceresinde Bu veri kümesini aç'ı seçerek dosya adı için parametreli bir değer girin.
Klasör için
@pipeline().parameters.sourceBlobContainer
, klasör adı içinemp.txt
adını girin.İşlem hattı sekmesine geri dönün (veya soldaki ağaç görünümünde işlem hattına tıklayın) ve tasarımcıda Kopyalama etkinliğini seçin. Kaynak Veri Kümesi için yeni veri kümenizin seçildiğini onaylayın.
Özellikler penceresinde Havuz sekmesine geçin ve Havuz Veri Kümesi için + Yeni’ye tıklayın. Bu adımda, kaynak veri kümesi oluştururken olduğu gibi kopyalama etkinliği için bir havuz veri kümesi oluşturursunuz.
Yeni Veri Kümesi penceresinde Azure Blob Depolama'yi seçin, Devam'a tıklayın ve biçim seç penceresinde Sınırlanmış Metin'i yeniden seçin ve yeniden Devam'a tıklayın.
Veri kümesinin Özellikleri ayarla sayfasında Ad için SinkBlobDataset yazın ve LinkedService için AzureStorageLinkedService'i seçin.
Özellikler sayfasının Gelişmiş bölümünü genişletin ve Bu veri kümesini aç'ı seçin.
Veri kümesi Bağlantısı sekmesinde Dosya yolunu düzenleyin. Klasör
@concat(pipeline().RunId, '.txt')
ve dosya adı için girin@pipeline().parameters.sinkBlobContainer
. İfade, dosya adı olarak geçerli işlem hattı çalıştırmasının kimliğini kullanır. Desteklenen sistem değişkenleri ve ifadelerin listesi için bkz. Sistem değişkenleri ve İfade dili.Üstteki işlem hattı sekmesine geri dönün. Arama kutusunda Web'i arayın ve bir Web etkinliğini sürükleyerek işlem hattı tasarımcısı yüzeyine bırakın. Etkinliğin adını SendSuccessEmailActivity olarak ayarlayın. Web Etkinliği herhangi bir REST uç noktasına çağrı yapmaya olanak tanır. Etkinlik hakkında daha fazla bilgi için bkz. Web Etkinliği. Bu işlem hattı, Logic Apps e-posta iş akışını çağırmak için bir Web Etkinliği kullanır.
Genel sekmesinden Ayarlar sekmesine geçin ve aşağıdaki adımları uygulayın:
URL için başarı e-postasını gönderen Logic Apps iş akışının URL’sini belirtin.
Metot için POST’u seçin.
Üst bilgiler bölümünde + Üst bilgi ekle bağlantısına tıklayın.
Bir üst bilgi Content-Type ekleyin ve application/json olarak ayarlayın.
Gövde için aşağıdaki JSON’u belirtin.
{ "message": "@{activity('Copy1').output.dataWritten}", "dataFactoryName": "@{pipeline().DataFactory}", "pipelineName": "@{pipeline().Pipeline}", "receiver": "@pipeline().parameters.receiver" }
İleti gövdesi aşağıdaki özellikleri içerir:
İleti - değerini
@{activity('Copy1').output.dataWritten
geçirme. Önceki kopyalama etkinliğinin bir özelliğine erişir ve dataWritten değerini geçirir. Hata durumunda@{activity('CopyBlobtoBlob').error.message
yerine hata çıktısını geçirir.Data Factory Adı - Bu değerinin
@{pipeline().DataFactory}
geçirilmesi, karşılık gelen veri fabrikası adına erişmenizi sağlayan bir sistem değişkenidir. Sistem değişkenlerinin listesi için Sistem Değişkenleri makalesine bakın.İşlem Hattı Adı - değerini
@{pipeline().Pipeline}
geçirme. Bu da ilgili işlem hattı adına erişmenize olanak tanıyan bir sistem değişkenidir.Alıcı - "@pipeline().parameters.receiver" değerini geçirme. İşlem hattı parametrelerine erişim.
Kopyalama etkinliği yanındaki yeşil onay kutusunu sürükleyip Web etkinliğine bırakarak Kopyalama etkinliğini Web etkinliğine bağlayın.
Etkinlikler araç kutusundaki başka bir Web etkinliğini sürükleyip işlem hattı tasarımcısının yüzeyine bırakın ve ad alanını SendFailureEmailActivity olarak ayarlayın.
Ayarlar sekmesine geçin ve aşağıdaki adımları uygulayın:
URL için hata e-postasını gönderen Logic Apps iş akışının URL’sini belirtin.
Metot için POST’u seçin.
Üst bilgiler bölümünde + Üst bilgi ekle bağlantısına tıklayın.
Bir üst bilgi Content-Type ekleyin ve application/json olarak ayarlayın.
Gövde için aşağıdaki JSON’u belirtin.
{ "message": "@{activity('Copy1').error.message}", "dataFactoryName": "@{pipeline().DataFactory}", "pipelineName": "@{pipeline().Pipeline}", "receiver": "@pipeline().parameters.receiver" }
İşlem hattı tasarımcısında Kopyalama etkinliğinin sağ tarafındaki kırmızı X düğmesini seçin ve sürükleyip yeni oluşturduğunuz SendFailureEmailActivity üzerine bırakın.
İşlem hattını doğrulamak için araç çubuğundaki Doğrula düğmesine tıklayın. >> düğmesine tıklayarak İşlem Hattı Doğrulama Çıktı penceresini kapatın.
Varlıkları (veri kümeleri, işlem hatları, vb.) Data Factory hizmetinde yayımlamak için Tümünü Yayımla’yı seçin. Başarıyla yayımlandı iletisini görene kadar bekleyin.
Başarılı olan bir işlem hattı çalıştırması tetikleme
Bir işlem hattı çalışması tetiklemek için araç çubuğunda Tetikle’ye tıklayıp Şimdi Tetikle’ye tıklayın.
İşlem Hattı Çalıştırması penceresinde aşağıdaki adımları uygulayın:
sourceBlobContainer parametresi için adftutorial/adfv2branch/input yolunu girin.
sinkBlobContainer parametresi için adftutorial/adfv2branch/output yolunu girin.
Receiver parametresine ait bir e-posta adresi girin.
Son’a tıklayın
Başarılı işlem hattı çalıştırmasını izleme
İşlem hattı çalıştırmasını izlemek için soldaki İzleyici sekmesine geçin. El ile tetiklediğiniz işlem hattı çalıştırmasını görürsünüz. Listeyi yenilemek için Yenile düğmesini kullanın.
Bu işlem hattıyla ilişkili etkinlik çalıştırmalarını görüntülemek için Eylemler sütunundaki ilk bağlantıya tıklayın. Üst taraftan İşlem Hatları’na tıklayarak önceki görünüme dönebilirsiniz. Listeyi yenilemek için Yenile düğmesini kullanın.
Başarısız olan bir işlem hattı çalıştırması tetikleme
Soldaki Düzenle sekmesine geçin.
Bir işlem hattı çalışması tetiklemek için araç çubuğunda Tetikle’ye tıklayıp Şimdi Tetikle’ye tıklayın.
İşlem Hattı Çalıştırması penceresinde aşağıdaki adımları uygulayın:
- sourceBlobContainer parametresi için adftutorial/dummy/input yolunu girin. Sahte klasörün adftutorial kapsayıcısında bulunmadığından emin olun.
- sinkBlobContainer parametresi için adftutorial/dummy/output yolunu girin.
- Receiver parametresine ait bir e-posta adresi girin.
- Finish (Son) düğmesine tıklayın.
Başarısız olan işlem hattı çalıştırmasını izleme
İşlem hattı çalıştırmasını izlemek için soldaki İzleyici sekmesine geçin. El ile tetiklediğiniz işlem hattı çalıştırmasını görürsünüz. Listeyi yenilemek için Yenile düğmesini kullanın.
Hatayla ilgili ayrıntıları görmek için işlem hattı çalıştırmasına yönelik Hata bağlantısına tıklayın.
Bu işlem hattıyla ilişkili etkinlik çalıştırmalarını görüntülemek için Eylemler sütunundaki ilk bağlantıya tıklayın. Listeyi yenilemek için Yenile düğmesini kullanın. İşlem hattında Kopyalama etkinliğinin başarısız olduğuna dikkat edin. Web etkinliği, hata e-postasını belirtilen alıcıya gönderdi.
Hatayla ilgili ayrıntıları görmek için Eylemler sütunundaki Hata bağlantısına tıklayın.
İlgili içerik
Bu öğreticide aşağıdaki adımları gerçekleştirdiniz:
- Veri fabrikası oluşturma.
- Azure Depolama bağlı hizmeti oluşturma.
- Azure blob veri kümesi oluşturma
- Kopyalama etkinliği ve bir web etkinliği içeren işlem hattı oluşturma
- Etkinliklerin çıktılarını sonraki etkinliklere gönderme
- Parametre geçirme ve sistem değişkenlerini kullanma
- Bir işlem hattı çalıştırması başlatma
- İşlem hattı ve etkinlik çalıştırmalarını izleme
Şimdi, Azure Data Factory hakkında daha fazla bilgi için Kavramlar bölümüne geçebilirsiniz.