Öğretici: Azure Data Factory kullanarak SQL Edge 'den Azure Blob depolama 'ya veri eşitleme
Bu öğreticide, Azure SQL Edge örneğindeki bir tablodan verileri artımlı olarak Azure Blob depolama ile eşitlemek için Azure Data Factory kullanacaksınız.
Başlamadan önce
Azure SQL Edge dağıtımınızda henüz bir veritabanı veya tablo oluşturmadıysanız, bir tane oluşturmak için aşağıdaki yöntemlerden birini kullanın:
SQL Edge 'e bağlanmak için SQL Server Management Studio veya Azure Data Studio kullanın. Veritabanı ve tablo oluşturmak için bir SQL betiği çalıştırın.
SQL Edge modülüne doğrudan bağlanarak sqlcmd kullanarak bir veritabanı ve tablo oluşturun. Daha fazla bilgi için bkz. sqlcmd kullanarak Database Engine 'e bağlanma.
Bir DAC paket dosyasını SQL Edge kapsayıcısına dağıtmak için SQLPackage.exe kullanın. Modülün istenen özellikler yapılandırmasının bir parçası olarak SqlPackage dosya URI 'sini belirterek, bu işlemi otomatikleştirebilirsiniz. Ayrıca, bir DAC paketini SQL Edge 'e dağıtmak için SqlPackage.exe istemci aracını doğrudan kullanabilirsiniz.
SqlPackage.exe indirme hakkında daha fazla bilgi için bkz. SqlPackage 'ı indirme ve yükleme. SqlPackage.exe için bazı örnek komutlar aşağıda verilmiştir. Daha fazla bilgi için SqlPackage.exe belgelerine bakın.
DAC paketi oluşturma
sqlpackage /Action:Extract /SourceConnectionString:"Data Source=<Server_Name>,<port>;Initial Catalog=<DB_name>;User ID=<user>;Password=<password>" /TargetFile:<dacpac_file_name>DAC paketi uygulama
sqlpackage /Action:Publish /Sourcefile:<dacpac_file_name> /TargetServerName:<Server_Name>,<port> /TargetDatabaseName:<DB_Name> /TargetUser:<user> /TargetPassword:<password>
Filigran düzeylerini depolamak ve güncelleştirmek için bir SQL tablosu ve yordamı oluşturma
Bir filigran tablosu, verileri Azure depolama ile eşitlenen son zaman damgasını depolamak için kullanılır. Bir Transact-SQL (T-SQL) saklı yordamı, her eşitlemede sonra filigran tablosunu güncelleştirmek için kullanılır.
Bu komutları SQL Edge örneğinde çalıştırın:
Create table [dbo].[watermarktable]
(
TableName varchar(255),
WatermarkValue datetime,
)
GO
CREATE PROCEDURE usp_write_watermark @timestamp datetime, @TableName varchar(50)
AS
BEGIN
UPDATE [dbo].[watermarktable]
SET [WatermarkValue] = @timestamp
WHERE [TableName] = @TableName
END
Go
Data Factory işlem hattı oluşturma
Bu bölümde, Azure SQL Edge 'deki bir tablodan verileri Azure Blob depolama ile eşitlemek için bir Azure Data Factory işlem hattı oluşturacaksınız.
Data Factory Kullanıcı arabirimini kullanarak bir veri fabrikası oluşturma
Bu öğreticidekiyönergeleri izleyerek bir veri fabrikası oluşturun.
Data Factory işlem hattı oluşturma
Data Factory Kullanıcı arabiriminin Başlarken sayfasında Işlem hattı oluştur' u seçin.

İşlem hattının Özellikler penceresinin genel sayfasında, ad için dönemsiz eşitleme girin.
Eski eşik değerini almak için arama etkinliğini ekleyin. Etkinlikler bölmesinde, genel ' i genişletin ve arama etkinliğini işlem hattı Tasarımcısı yüzeyine sürükleyin. Etkinliğin adını Oldfiligrandan değiştirin.

Ayarlar sekmesine geçin ve kaynak veri kümesi için Yeni ' yi seçin. Artık filigran tablosundaki verileri temsil etmek için bir veri kümesi oluşturacaksınız. Bu tablo, önceki kopyalama işleminde kullanılan eski filigranı içerir.
Yeni veri kümesi penceresinde Azure SQL Server' yi seçin ve ardından devam' ı seçin.
Veri kümesinin Özellikler penceresinde, ad' ın altına sulu su yazın.
Bağlı hizmet için Yeni' yi seçin ve ardından şu adımları uygulayın:
Ad alanına SQLDBEdgeLinkedService girin.
Sunucu adı bölümüne SQL Edge sunucu ayrıntılarınızı girin.
Listeden veritabanınızın adını seçin.
Kullanıcı adınızı ve parolanızı girin.
SQL Edge örneğiyle bağlantıyı test etmek için Bağlantıyı Sına' yı seçin.
Oluştur’u seçin.

- Tamam’ı seçin.
Ayarlar sekmesinde Düzenle' yi seçin.
Bağlantı sekmesinde [dbo] öğesini seçin. [ Tablo için su marktable] . Tablodaki verileri önizlemek istiyorsanız, Verileri Önizle' yi seçin.
En üstteki işlem hattı sekmesini seçerek veya soldaki ağaç görünümünde işlem hattının adını seçerek işlem hattı düzenleyicisine geçin. Arama etkinliğinin Özellikler penceresinde, kaynak veri kümesi listesinde sulu markmarkdataset ' in seçili olduğunu onaylayın.
Etkinlikler bölmesinde, genel ' i genişletin ve başka bir arama etkinliğini işlem hattı Tasarımcısı yüzeyine sürükleyin. Özellikler penceresinin genel sekmesinde adı newfiligran olarak ayarlayın. Bu arama etkinliği, kaynak verileri içeren tablodan, hedefe kopyalanabilmesi için yeni filigran değerini alır.
İkinci arama etkinliğinin Özellikler penceresinde, Ayarlar sekmesine geçin ve yeni eşik değerini içeren kaynak tabloya işaret eden bir veri kümesi oluşturmak için Yeni ' yi seçin.
Yeni veri kümesi penceresinde SQL Edge örneği' ni seçin ve ardından devam' ı seçin.
Özellikleri ayarla penceresinde, ad' ın altında sourceDataset' i girin. Bağlı hizmet altında SQLDBEdgeLinkedService öğesini seçin.
Tablo' nın altında, eşitlenmesini istediğiniz tabloyu seçin. Bu veri kümesi için, Bu öğreticinin ilerleyen kısımlarında açıklandığı gibi bir sorgu de belirtebilirsiniz. Sorgu, bu adımda belirttiğiniz tabloya göre önceliklidir.
Tamam’ı seçin.
En üstteki işlem hattı sekmesini seçerek veya soldaki ağaç görünümünde işlem hattının adını seçerek işlem hattı düzenleyicisine geçin. Arama etkinliğinin Özellikler penceresinde, kaynak veri kümesi listesinde sourceDataset öğesinin seçili olduğunu doğrulayın.
Sorgu kullan altında sorgu ' yı seçin. Aşağıdaki sorgudaki tablo adını güncelleştirin ve ardından sorguyu girin. Tablodan yalnızca en yüksek değeri seçiyoruz
timestamp. Yalnızca ilk satırı seçtiğinizden emin olun.select MAX(timestamp) as NewWatermarkvalue from [TableName]
Etkinlikler bölmesinde, Taşı & Dönüştür ' ü genişletin ve kopyalama etkinliğini Etkinlikler bölmesinden tasarımcı yüzeyine sürükleyin. Etkinliğin adını IncrementalCopy olarak ayarlayın.
Arama etkinliklerine bağlı yeşil düğmeyi Kopyalama etkinliğine sürükleyerek her iki Arama etkinliğini Kopyalama etkinliğine bağlayın. Kopyalama etkinliğinin kenarlık rengini mavi olarak değiştirip fare düğmesini bırakın.
Kopyalama etkinliğini seçin ve Özellikler penceresinde etkinliğin özelliklerini gördüğünüzü onaylayın.
Özellikler penceresinde kaynak sekmesine geçin ve şu adımları izleyin:
Kaynak veri kümesi kutusunda sourceDataset' i seçin.
Sorgu kullan altında sorgu' yı seçin.
Sorgu kutusuna SQL sorgusunu girin. Örnek bir sorgu aşağıda verilmiştir:
select * from TemperatureSensor where timestamp > '@{activity('OldWaterMark').output.firstRow.WatermarkValue}' and timestamp <= '@{activity('NewWaterMark').output.firstRow.NewWatermarkvalue}'Havuz sekmesinde, Havuz veri kümesi altında Yeni ' yi seçin.
Bu öğreticide, havuz veri deposu bir Azure Blob depolama veri deposudur. Azure Blob depolama' yı seçin ve ardından Yeni veri kümesi penceresinde devam ' ı seçin.
Biçim Seç penceresinde verilerinizin biçimini seçin ve ardından devam' ı seçin.
Özellikleri ayarla penceresinde, ad' ın altında sinkdataset adını girin. Bağlı hizmet altında Yeni' yi seçin. Artık Azure Blob depolama alanına bir bağlantı (bağlı hizmet) oluşturacaksınız.
Yeni bağlı hizmet (Azure Blob depolama) penceresinde şu adımları uygulayın:
Ad kutusuna AzureStorageLinkedService girin.
Depolama hesabı adı altında Azure aboneliğiniz için Azure Depolama hesabını seçin.
Bağlantıyı test edin ve ardından son' u seçin.
Özellikleri ayarla penceresinde, AzureStorageLinkedService bağlı hizmet altında seçili olduğunu doğrulayın. Oluştur ve Tamam' ı seçin.
Havuz sekmesinde Düzenle' yi seçin.
SinkDataset 'in bağlantı sekmesine gidin ve aşağıdaki adımları tamamlayın:
Dosya yolu' nun altında asdedatasync/incrementalcopy girin; burada asdedatasync blob kapsayıcısı adıdır ve incrementalcopy klasör adıdır. Mevcut değilse kapsayıcıyı oluşturun veya var olan bir adın adını kullanın. Azure Data Factory, incrementalcopy çıktı klasörünü otomatik olarak oluşturur. Bir blob kapsayıcısındaki klasörlerden birine gitmek istiyorsanız Dosya yolu için Gözat düğmesini de kullanabilirsiniz.
Dosya yolunun Dosya bölümü Için, dinamik Içerik Ekle [alt + P] öğesini seçin ve @CONCAT (' artımlı-', işlem hattı () girin. RunId, '. txt ') açılan pencerede. Son'u seçin. Dosya adı, ifade tarafından dinamik olarak oluşturulur. Her işlem hattı çalıştırması benzersiz bir kimliğe sahiptir. Kopyalama etkinliği, dosya adını oluşturmak için çalışma kimliğini kullanır.
En üstteki işlem hattı sekmesini seçerek veya soldaki ağaç görünümünde işlem hattının adını seçerek işlem hattı düzenleyicisine geçin.
Etkinlikler bölmesinde, genel ' i genişletin ve saklı yordam etkinliğini Etkinlikler bölmesinden işlem hattı Tasarımcısı yüzeyine sürükleyin. Kopyalama etkinliğinin yeşil (başarılı) çıkışını saklı yordam etkinliğine bağlayın.
Işlem hattı tasarımcısında saklı yordam etkinliği ' ni seçin ve adını Sptoupdatesulu markactivity olarak değiştirin.
SQL hesabı sekmesine geçin ve bağlı hizmet altında *QLDBEdgeLinkedService öğesini seçin.
Saklı yordam sekmesine geçin ve aşağıdaki adımları uygulayın:
Saklı yordam adı altında [dbo] öğesini seçin. [ usp_write_watermark].
Saklı yordam parametrelerinin değerlerini belirtmek için, parametreyi Içeri aktar ' ı seçin ve parametreler için şu değerleri girin:
Ad Tür Değer LastModifiedtime DateTime @ {Activity (' Newfiligran '). Output. firstRow. Newsulu Markvalue} TableName Dize @ {Activity (' Oldfiligran '). Output. firstRow. TableName} İşlem hattı ayarlarını doğrulamak için araç çubuğunda Doğrula ' yı seçin. Doğrulama hatası olmadığından emin olun. İşlem hattı doğrulama raporu penceresini kapatmak için öğesini seçin >> .
Tümünü Yayımla düğmesini seçerek varlıkları (bağlı hizmetler, veri kümeleri ve işlem hatları) Azure Data Factory hizmetine yayımlayın. Yayımlama işleminin başarılı olduğunu onaylayan bir ileti görene kadar bekleyin.
Bir zamanlamaya göre işlem hattı tetikleme
İşlem hattı araç çubuğunda tetikleyici Ekle' yi seçin, Yeni/Düzenle' yi seçin ve ardından Yeni' yi seçin.
Tetikleyicinizi HourlySync olarak adlandırın. Tür altında zamanlama' yı seçin. Yinelemeyi her 1 saat olarak ayarlayın.
Tamam’ı seçin.
Tümünü Yayımla.
Şimdi Tetikle' yi seçin.
Soldaki İzleyici sekmesine geçin. El ile tetikleme işlemi tarafından tetiklenen işlem hattı çalıştırmasının durumunu görebilirsiniz. Listeyi yenilemek için Yenile’yi seçin.
Sonraki adımlar
Bu öğreticideki Azure Data Factory işlem hattı, bir SQL Edge örneğindeki bir tablodan verileri her saat bir kez Azure Blob depolama alanında bir konuma kopyalar. Diğer senaryolarda Data Factory kullanma hakkında bilgi edinmek için aşağıdaki öğreticilerebakın.