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 öğreticide, SQL Server veritabanındaki verileri Azure Blob depolama alanına kopyalayan bir veri fabrikası işlem hattı oluşturmak için Azure PowerShell kullanacaksınız. Verileri şirket içi ile bulut veri depoları arasında taşıyan, şirket içinde barındırılan bir tümleştirme çalışma zamanı oluşturup kullanabilirsiniz.
Not
Bu makale, Data Factory hizmetine ayrıntılı giriş bilgileri sağlamaz. Daha fazla bilgi için bkz. Azure Data Factory'a giriş.
Bu öğreticide, aşağıdaki adımları gerçekleştireceksiniz:
- Veri fabrikası oluşturma.
- Yerel barındırmalı tümleştirme çalışma zamanı oluşturma.
- SQL Server ve Azure Depolama bağlantılı hizmetler oluşturun.
- SQL Server ve Azure Blob veri kümeleri oluşturun.
- Verileri taşımak için kopyalama etkinliğiyle bir işlem hattı oluşturun.
- Bir işlem hattı çalıştırmasını başlat.
- İşlem hattı çalışmasını izleyin.
Önkoşullar
Azure aboneliği
Başlamadan önce, Azure aboneliğiniz yoksa ücretsiz bir hesap oluşturun.
Azure rolleri
Veri fabrikası örnekleri oluşturmak için, Azure oturum açmak için kullandığınız kullanıcı hesabına Contributor veya Owner rolü atanmalıdır veya Azure aboneliğinin administrator olmalıdır.
Abonelikte sahip olduğunuz izinleri görüntülemek için Azure portalına gidin, sağ üst köşedeki kullanıcı adınızı seçin ve ardından Permissions öğesini seçin. Birden çok aboneliğe erişiminiz varsa uygun aboneliği seçin. Bir kullanıcıyı role eklemeyle ilgili örnek yönergeler için Azure portalını kullanarak Azure rolleri atayın makalesine bakın.
SQL Server 2014, 2016 ve 2017
Bu öğreticide SQL Server veritabanını source veri deposu olarak kullanacaksınız. Bu öğreticide oluşturduğunuz veri fabrikasındaki işlem hattı, verileri bu SQL Server veritabanından (kaynak) Azure Blob depolama alanına (havuz) kopyalar. Ardından SQL Server veritabanınızda emp adlı bir tablo oluşturur ve tabloya birkaç örnek girdi eklersiniz.
SQL Server Management Studio başlayın. Makinenizde yüklü değilse İndir SQL Server Management Studio adresine gidin.
Kimlik bilgilerinizi kullanarak SQL Server örneğine bağlanın.
Örnek bir veritabanı oluşturun. Ağaç görünümünde Veritabanları'na sağ tıklayın ve Yeni Veritabanı'nı seçin.
Yeni Veritabanı penceresinde, veritabanı için bir ad girin ve Tamam'ı seçin.
emp tablosunu oluşturmak ve içine bazı örnek verileri eklemek için veritabanında aşağıdaki sorgu betiğini çalıştırın. Ağaç görünümünde, oluşturduğunuz veritabanına sağ tıklayın ve Yeni Sorgu'yu seçin.
CREATE TABLE dbo.emp ( ID int IDENTITY(1,1) NOT NULL, FirstName varchar(50), LastName varchar(50) ) GO INSERT INTO emp (FirstName, LastName) VALUES ('John', 'Doe') INSERT INTO emp (FirstName, LastName) VALUES ('Jane', 'Doe') GO
Azure Depolama hesabı
Bu öğreticide, hedef/havuz veri deposu olarak genel amaçlı bir Azure depolama hesabı (özellikle Azure Blob depolama) kullanacaksınız. Genel amaçlı bir Azure depolama hesabınız yoksa bkz. Depolama hesabı oluşturma. Bu öğreticide oluşturduğunuz veri fabrikasındaki işlem hattı, verileri SQL Server veritabanından (kaynak) bu Azure Blob depolama alanına (havuz) kopyalar.
Depolama hesabı adını ve hesap anahtarını alma
Bu öğreticide Azure depolama hesabınızın adını ve anahtarını kullanırsınız. Aşağıdakileri yaparak depolama hesabınızın adını ve anahtarını alın:
Azure kullanıcı adınız ve parolanızla Azure portalında oturum açın.
Sol bölmede, Depolama anahtar sözcüğünü kullanarak Diğer hizmetler filtresini ve ardından Depolama hesapları’nı seçin.
Depolama hesapları listesinde, depolama hesabınız için filtre uygulayın (gerekirse) ve ardından depolama hesabınızı seçin.
Depolama hesabı penceresinde Erişim anahtarları'nı seçin.
Depolama hesabı adı ve key1 kutularında değerleri kopyalayın ve ardından onları öğreticide daha sonra kullanmak için Not Defteri'ne veya başka bir düzenleyiciye yapıştırın.
Adftutorial kapsayıcısını oluşturma
Bu bölümde, Azure Blob depolama alanınızda adftutorial adlı bir blob kapsayıcısı oluşturacaksınız.
Depolama hesabı penceresinde Genel Bakış’a geçin ve sonra Bloblar’ı seçin.
Blob hizmeti penceresinde Kapsayıcı’yı seçin.
Yeni kapsayıcı penceresinde, Ad kutusuna adftutorial girin ve ardından Tamam’ı seçin.
Kapsayıcılar listesinde adftutorial’ı seçin.
adftutorial öğesine ait kapsayıcı penceresini açık tutun. Öğreticinin sonunda çıktıyı doğrulamak için kullanırsınız. Data Factory bu kapsayıcıda çıktı klasörünü otomatik olarak oluşturduğundan sizin oluşturmanız gerekmez.
Windows PowerShell
Azure PowerShell yükleme
Not
Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell yükleme. Az PowerShell modülüne nasıl geçiş yapılacağını öğrenmek için bkz. AzureRM'den Az Azure PowerShell dağıtma.
Makinenizde yoksa Azure PowerShell'ın en son sürümünü yükleyin. Ayrıntılı yönergeler için bkz. Azure PowerShell yükleme ve yapılandırma.
PowerShell’de oturum açın
Makinenizde PowerShell'i başlatın ve bu hızlı başlangıç öğreticisi tamamlanana dek açık tutun. Kapatıp yeniden açarsanız bu komutları yeniden çalıştırmanız gerekir.
Aşağıdaki komutu çalıştırın ve Azure portalında oturum açmak için kullandığınız Azure kullanıcı adını ve parolayı girin:
Connect-AzAccountBirden çok Azure aboneliğiniz varsa, çalışmak istediğiniz aboneliği seçmek için aşağıdaki komutu çalıştırın. SubscriptionId değerini Azure aboneliğinizin kimliğiyle değiştirin:
Select-AzSubscription -SubscriptionId "<SubscriptionId>"
Veri fabrikası oluşturma
Daha sonra PowerShell komutlarında kullanacağınız kaynak grubu adı için bir değişken tanımlayın. Aşağıdaki komutu PowerShell'e kopyalayın, Azure kaynak grubu için bir ad belirtin (çift tırnak içine alınmış, örneğin,
"adfrg") ve ardından komutunu çalıştırın.$resourceGroupName = "ADFTutorialResourceGroup"Azure kaynak grubunu oluşturmak için aşağıdaki komutu çalıştırın:
New-AzResourceGroup $resourceGroupName -location 'East US'Kaynak grubu zaten varsa, üzerine yazılmasını istemeyebilirsiniz.
$resourceGroupNamedeğişkenine farklı bir değer atayın ve komutu yeniden çalıştırın.Daha sonra PowerShell komutlarında kullanabileceğiniz veri fabrikası adı için bir değişken tanımlayın. Ad bir harf veya rakamla başlamalıdır; yalnızca harf, rakam ve tire (-) karakteri içerebilir.
Önemli
Veri fabrikasının adını genel olarak benzersiz bir adla güncelleştirin. Örnek olarak ADFTutorialFactorySP1127 olabilir.
$dataFactoryName = "ADFTutorialFactory"Veri fabrikasının konumu için bir değişken tanımlayın:
$location = "East US"Veri fabrikasını oluşturmak için aşağıdaki
Set-AzDataFactoryV2cmdlet’ini çalıştırın:Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location $location -Name $dataFactoryName
Not
- Veri fabrikasının adı genel olarak benzersiz olmalıdır. Aşağıdaki hata iletisini alırsanız adı değiştirip yeniden deneyin.
The specified data factory name 'ADFv2TutorialDataFactory' is already in use. Data factory names must be globally unique. - Veri fabrikası örnekleri oluşturmak için Azure'a oturum açmak için kullanacağınız kullanıcı hesabına katkıda bulunan veya sahip rolü atanmalı ya da Azure aboneliğinin yöneticisi olmalıdır.
- Data Factory'nin şu anda kullanılabilir olduğu Azure bölgelerin listesi için aşağıdaki sayfada ilginizi çekebilecek bölgeleri seçin ve ardından Analytics'yi genişleterek Data Factory: Products by region öğesini bulun. Veri fabrikası tarafından kullanılan veri depoları (Azure Depolama, Azure SQL Veritabanı vb.) ve işlem (Azure HDInsight vb.) başka bölgelerde olabilir.
Kendi kendine barındırılan tümleştirme çalışma zamanı oluşturmak
Bu bölümde, kendi kendine barındırılan bir tümleştirme çalışma zamanı oluşturur ve bunu SQL Server veritabanını içeren şirket içi bir makineyle ilişkilendirirsiniz. Kendi kendine barındırılan tümleştirme çalışma zamanı, makinenizdeki SQL Server veritabanındaki verileri Azure Blob depolama alanına kopyalayan bileşendir.
Tümleştirme çalışma zamanının adı için bir değişken oluşturun. Benzersiz bir ad kullanın ve bu adı not edin. Daha sonra bu öğreticide kullanacaksınız.
$integrationRuntimeName = "ADFTutorialIR"Yerel barındırmalı tümleştirme çalışma zamanı oluşturma.
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $integrationRuntimeName -Type SelfHosted -Description "selfhosted IR description"Örnek çıktı aşağıdaki gibidir:
Name : ADFTutorialIR Type : SelfHosted ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Description : selfhosted IR description Id : /subscriptions/<subscription ID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/integrationruntimes/<integrationRuntimeName>Oluşturulan tümleştirme çalışma zamanının durumunu almak için aşağıdaki komutu çalıştırın:
Get-AzDataFactoryV2IntegrationRuntime -name $integrationRuntimeName -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -StatusÖrnek çıktı aşağıdaki gibidir:
State : NeedRegistration Version : CreateTime : 9/10/2019 3:24:09 AM AutoUpdate : On ScheduledUpdateDate : UpdateDelayOffset : LocalTimeZoneOffset : InternalChannelEncryption : Capabilities : {} ServiceUrls : {eu.frontend.clouddatahub.net} Nodes : {} Links : {} Name : <Integration Runtime name> Type : SelfHosted ResourceGroupName : <resourceGroup name> DataFactoryName : <dataFactory name> Description : selfhosted IR description Id : /subscriptions/<subscription ID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/integrationruntimes/<integrationRuntimeName>Yerel olarak barındırılan tümleştirme çalışma zamanını Data Factory hizmetine bulutta kaydetmek için kimlik doğrulama anahtarlarını elde etmek üzere aşağıdaki komutu çalıştırın. Sonraki adımda makinenize yükleyeceğiniz yerel tümleştirme çalışma zamanını kaydetmek için anahtarlardan birini (tırnak işaretleri hariç) kopyalayın.
Get-AzDataFactoryV2IntegrationRuntimeKey -Name $integrationRuntimeName -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName | ConvertTo-JsonÖrnek çıktı aşağıdaki gibidir:
{ "AuthKey1": "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=", "AuthKey2": "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy=" }
Tümleştirme çalışma zamanını yükleme
yerel bir Windows makinesine Azure Data Factory Integration Runtime indirin ve yüklemeyi çalıştırın.
Welcome to Microsoft Integration Runtime Setup sihirbazında Next öğesini seçin.
Son Kullanıcı Lisans Sözleşmesi penceresinde koşulları ve lisans sözleşmesini kabul edin ve İleri'yi seçin.
Hedef Klasör penceresinde İleri’yi seçin.
Microsoft Integration Runtime Kuruluma Hazır penceresinde, Install seçeneğini seçin.
Microsoft Integration Runtime Kurulumu tamamlandı sihirbazında Finish öğesini seçin.
Register Integration Runtime (Kendi Kendine Barındırılan) penceresinde, önceki bölümde kaydettiğiniz anahtarı yapıştırın ve Kaydet öğesini seçin.
Yeni Entegrasyon Zamanlayıcısı (Şirket içinde barındırılan) Düğümü penceresinde Tamamla öğesini seçin.
Şirket içinde barındırılan tümleştirme çalışma zamanı başarıyla kaydedildiğinde aşağıdaki ileti görüntülenir:
Register Integration Runtime (Kendinden Barındırmalı) penceresinde Yapılandırma Yöneticisini Başlat öğesini seçin.
Düğüm bulut hizmetine bağlandığında şu ileti görüntülenir:
Aşağıdakileri yaparak SQL Server veritabanınıza bağlantıyı test edin:
a. Yapılandırma Yöneticisi penceresinde Diagnostics sekmesine geçin.
b. Veri kaynağı türü kutusunda SqlServer’ı seçin.
c. Sunucu adını girin.
d. Veritabanı adını girin.
e. Kimlik doğrulama modunu seçin.
f. Kullanıcı adını girin.
g. Kullanıcı adıyla ilişkili parolayı girin.
h. Tümleştirme çalışma zamanının SQL Server bağlanabildiğini onaylamak için Test öğesini seçin.
Bağlantı başarılı olursa yeşil bir onay işareti görüntülenir. Başarılı olmazsa hata ile ilişkili bir hata iletisi alırsınız. Tüm sorunları düzeltin ve tümleştirme çalışma zamanının SQL Server örneğine bağlanadığından emin olun.
Bu öğreticide daha sonra kullanmak için önceki tüm değerleri not edin.
Bağlı hizmetler oluşturma
Veri depolarınızı ve işlem hizmetlerinizi veri fabrikasına bağlamak için veri fabrikasında bağlı hizmetler oluşturun. Bu öğreticide, Azure depolama hesabınızı ve SQL Server örneğinizi veri deposuna bağlarsınız. Bağlı hizmetler, Data Factory hizmetinin bunlara bağlanmak için çalışma zamanında kullandığı bağlantı bilgilerini içerir.
Azure Depolama bağlı hizmet oluşturma (hedef/kaynak)
Bu adımda, Azure depolama hesabınızı veri fabrikasına bağlarsınız.
C:\ADFv2Tutorial klasöründe aşağıdaki kodla AzureStorageLinkedService.json adlı bir JSON dosyası oluşturun. ADFv2Tutorial klasörü henüz yoksa oluşturun.
Önemli
Dosyayı kaydetmeden önce <accountName> ve <accountKey> Azure depolama hesabınızın adı ve anahtarıyla değiştirin. Bunları Önkoşullar bölümünde not etmiştiniz.
{ "name": "AzureStorageLinkedService", "properties": { "annotations": [], "type": "AzureBlobStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net" } } }PowerShell’de C:\ADFv2Tutorial klasörüne geçin.
Set-Location 'C:\ADFv2Tutorial'AzureStorageLinkedService adlı bağlı hizmeti oluşturmak için aşağıdaki
Set-AzDataFactoryV2LinkedServicecmdlet’ini çalıştırın:Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "AzureStorageLinkedService" -File ".\AzureStorageLinkedService.json"Örnek çıktı aşağıdaki gibidir:
LinkedServiceName : AzureStorageLinkedService ResourceGroupName : <resourceGroup name> DataFactoryName : <dataFactory name> Properties : Microsoft.Azure.Management.DataFactory.Models.AzureBlobStorageLinkedService"Dosya bulunamadı" hatasını alırsanız
dirkomutunu çalıştırarak dosyanın var olduğunu doğrulayın. Dosya .txt uzantısına sahipse (örneğin, AzureStorageLinkedService.json.txt) uzantıyı atıp PowerShell komutunu tekrar çalıştırın.
SQL Server bağlı hizmetini oluştur ve şifrele (kaynak)
Bu adımda, SQL Server örneğinizi veri fabrikasına bağlarsınız.
C:\ADFv2Tutorial klasöründe aşağıdaki kodu kullanarak SqlServerLinkedService.json adlı bir JSON dosyası oluşturun:
Önemli
SQL Server bağlanmak için kullandığınız kimlik doğrulamasını temel alan bölümü seçin.
SQL kimlik doğrulaması (sa) kullanarak:
{ "name":"SqlServerLinkedService", "type":"Microsoft.DataFactory/factories/linkedservices", "properties":{ "annotations":[ ], "type":"SqlServer", "typeProperties":{ "connectionString":"integrated security=False;data source=<serverName>;initial catalog=<databaseName>;user id=<userName>;password=<password>" }, "connectVia":{ "referenceName":"<integration runtime name> ", "type":"IntegrationRuntimeReference" } } }Windows kimlik doğrulamasını kullanarak:
{ "name":"SqlServerLinkedService", "type":"Microsoft.DataFactory/factories/linkedservices", "properties":{ "annotations":[ ], "type":"SqlServer", "typeProperties":{ "connectionString":"integrated security=True;data source=<serverName>;initial catalog=<databaseName>", "userName":"<username> or <domain>\\<username>", "password":{ "type":"SecureString", "value":"<password>" } }, "connectVia":{ "referenceName":"<integration runtime name>", "type":"IntegrationRuntimeReference" } } }Önemli
- SQL Server örneğine bağlanmak için kullandığınız kimlik doğrulamasını temel alan bölümü seçin.
- Tümleştirme çalışma zamanı adını< tümleştirme çalışma zamanınızın adıyla değiştirin>.
- Dosyayı kaydetmeden önce <servername>, <databasename>, <username> ve <password> SQL Server örneğinizin değerleriyle.
- Kullanıcı hesabınızda veya sunucu adınızda ters eğik çizgi (\) kullanmanız gerekiyorsa, önüne kaçış karakteri (\) koyun. Örneğin, mydomain\\myuser kullanın.
Hassas verileri (kullanıcı adı, parola ve benzeri) şifrelemek için
New-AzDataFactoryV2LinkedServiceEncryptedCredentialcmdlet'ini çalıştırın.
Bu şifreleme, kimlik bilgilerinin Veri Koruma Uygulama Programlama Arabirimi (DPAPI) kullanılarak şifrelenmesini sağlar. Şifrelenmiş kimlik bilgileri, kendi kendine barındırılan tümleştirme çalıştırma düğümünde (yerel makinede) kaydedilir. Çıktı yükü, şifrelenmiş kimlik bilgilerini içeren başka bir JSON dosyasına (bu örnekte encryptedLinkedService.json) yönlendirilebilir.New-AzDataFactoryV2LinkedServiceEncryptedCredential -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -IntegrationRuntimeName $integrationRuntimeName -File ".\SQLServerLinkedService.json" > encryptedSQLServerLinkedService.jsonEncryptedSqlServerLinkedService öğesini oluşturan aşağıdaki komutu çalıştırın:
Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "EncryptedSqlServerLinkedService" -File ".\encryptedSqlServerLinkedService.json"
Veri kümeleri oluşturma
Bu adımda, girdi ve çıktı veri kümelerini oluşturursunuz. Verileri SQL Server veritabanından Azure Blob depolama alanına kopyalayan kopyalama işlemi için giriş ve çıkış verilerini temsil eder.
Kaynak SQL Server veritabanı için veri kümesi oluşturma
Bu adımda, SQL Server veritabanı örneğindeki verileri temsil eden bir veri kümesi tanımlarsınız. Veri kümesi SqlServerTable türündedir. Önceki adımda oluşturduğunuz SQL Server bağlı hizmeti ifade eder. Bağlı hizmet, Data Factory hizmetinin çalışma zamanında SQL Server örneğine bağlanmak için kullandığı bağlantı bilgilerine sahiptir. Bu veri kümesi, verileri içeren veritabanındaki SQL tablosunu belirtir. Bu öğreticide, emp tablosu kaynak verileri içerir.
C:\ADFv2Tutorial klasöründe aşağıdaki kodla SqlServerDataset.json adlı bir JSON dosyası oluşturun:
{ "name":"SqlServerDataset", "properties":{ "linkedServiceName":{ "referenceName":"EncryptedSqlServerLinkedService", "type":"LinkedServiceReference" }, "annotations":[ ], "type":"SqlServerTable", "schema":[ ], "typeProperties":{ "schema":"dbo", "table":"emp" } } }SqlServerDataset veri kümesini oluşturmak için
Set-AzDataFactoryV2Datasetcmdlet'ini çalıştırın.Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SqlServerDataset" -File ".\SqlServerDataset.json"Örnek çıktı aşağıdaki gibidir:
DatasetName : SqlServerDataset ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.SqlServerTableDataset
Azure Blob depolama (havuz) için veri kümesi oluşturma
Bu adımda, Azure Blob depolamaya kopyalanacak verileri temsil eden bir veri kümesi tanımlarsınız. Veri kümesi AzureBlob türündedir. Bu öğreticinin önceki bölümünde oluşturduğunuz Azure Depolama bağlantılı hizmeti ifade eder.
Bağlı hizmet, veri fabrikasının çalışma zamanında Azure depolama hesabınıza bağlanmak için kullandığı bağlantı bilgilerine sahiptir. Bu veri kümesi, verilerin SQL Server veritabanından kopyalandığı Azure depolama alanındaki klasörü belirtir. Bu öğreticide, adftutorial/fromonprem klasördür; burada adftutorial blob kapsayıcısı ve fromonprem de klasördür.
C:\ADFv2Tutorial klasöründe aşağıdaki kodla AzureBlobDataset.json adlı bir JSON dosyası oluşturun:
{ "name":"AzureBlobDataset", "properties":{ "linkedServiceName":{ "referenceName":"AzureStorageLinkedService", "type":"LinkedServiceReference" }, "annotations":[ ], "type":"DelimitedText", "typeProperties":{ "location":{ "type":"AzureBlobStorageLocation", "folderPath":"fromonprem", "container":"adftutorial" }, "columnDelimiter":",", "escapeChar":"\\", "quoteChar":"\"" }, "schema":[ ] }, "type":"Microsoft.DataFactory/factories/datasets" }AzureBlobDataset veri kümesini oluşturmak için
Set-AzDataFactoryV2Datasetcmdlet'ini çalıştırın.Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureBlobDataset" -File ".\AzureBlobDataset.json"Örnek çıktı aşağıdaki gibidir:
DatasetName : AzureBlobDataset ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.DelimitedTextDataset
Bir işlem hattı oluştur
Bu öğreticide, kopyalama etkinliği ile bir işlem hattı oluşturursunuz. Kopyalama etkinliği, girdi veri kümesi olarak SqlServerDataset’i çıktı veri kümesi olarak da AzureBlobDataset’i kullanır. Kaynak türü SqlSource ve havuz türü de BlobSink olarak ayarlanır.
C:\ADFv2Tutorial klasöründe aşağıdaki kodla SqlServerToBlobPipeline.json adlı bir JSON dosyası oluşturun:
{ "name":"SqlServerToBlobPipeline", "properties":{ "activities":[ { "name":"CopySqlServerToAzureBlobActivity", "type":"Copy", "dependsOn":[ ], "policy":{ "timeout":"7.00:00:00", "retry":0, "retryIntervalInSeconds":30, "secureOutput":false, "secureInput":false }, "userProperties":[ ], "typeProperties":{ "source":{ "type":"SqlServerSource" }, "sink":{ "type":"DelimitedTextSink", "storeSettings":{ "type":"AzureBlobStorageWriteSettings" }, "formatSettings":{ "type":"DelimitedTextWriteSettings", "quoteAllText":true, "fileExtension":".txt" } }, "enableStaging":false }, "inputs":[ { "referenceName":"SqlServerDataset", "type":"DatasetReference" } ], "outputs":[ { "referenceName":"AzureBlobDataset", "type":"DatasetReference" } ] } ], "annotations":[ ] } }SqlServerToBlobPipeline işlem hattını oluşturmak için
Set-AzDataFactoryV2Pipelinecmdlet’ini çalıştırın.Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SQLServerToBlobPipeline" -File ".\SQLServerToBlobPipeline.json"Örnek çıktı aşağıdaki gibidir:
PipelineName : SQLServerToBlobPipeline ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Activities : {CopySqlServerToAzureBlobActivity} Parameters :
İşlem hattı çalıştırması oluştur
SQLServerToBlobPipeline işlem hattı için bir çalıştırma başlatın ve gelecekte izlemek üzere çalıştırma kimliğini kaydedin.
$runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName 'SQLServerToBlobPipeline'
İşlem hattını izleme
SQLServerToBlobPipeline işlem hattının çalışma durumunu sürekli olarak denetlemek için PowerShell’de aşağıdaki betiği çalıştırın ve nihai sonucu yazdırın:
while ($True) { $result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $runId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30) if (($result | Where-Object { $_.Status -eq "InProgress" } | Measure-Object).count -ne 0) { Write-Host "Pipeline run status: In Progress" -foregroundcolor "Yellow" Start-Sleep -Seconds 30 } else { Write-Host "Pipeline 'SQLServerToBlobPipeline' run finished. Result:" -foregroundcolor "Yellow" $result break } }Örnek çalıştırmanın çıktısı aşağıdaki gibidir:
ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> ActivityRunId : 24af7cf6-efca-4a95-931d-067c5c921c25 ActivityName : CopySqlServerToAzureBlobActivity ActivityType : Copy PipelineRunId : 7b538846-fd4e-409c-99ef-2475329f5729 PipelineName : SQLServerToBlobPipeline Input : {source, sink, enableStaging} Output : {dataRead, dataWritten, filesWritten, sourcePeakConnections...} LinkedServiceName : ActivityRunStart : 9/11/2019 7:10:37 AM ActivityRunEnd : 9/11/2019 7:10:58 AM DurationInMs : 21094 Status : Succeeded Error : {errorCode, message, failureType, target} AdditionalProperties : {[retryAttempt, ], [iterationHash, ], [userProperties, {}], [recoveryStatus, None]...}SQLServerToBlobPipeline işlem hattının çalıştırma kimliğini alabilir ve aşağıdaki komutu çalıştırarak ayrıntılı etkinlik çalıştırma sonucunu denetleyebilirsiniz:
Write-Host "Pipeline 'SQLServerToBlobPipeline' run result:" -foregroundcolor "Yellow" ($result | Where-Object {$_.ActivityName -eq "CopySqlServerToAzureBlobActivity"}).Output.ToString()Örnek çalıştırmanın çıktısı aşağıdaki gibidir:
{ "dataRead":36, "dataWritten":32, "filesWritten":1, "sourcePeakConnections":1, "sinkPeakConnections":1, "rowsRead":2, "rowsCopied":2, "copyDuration":18, "throughput":0.01, "errors":[ ], "effectiveIntegrationRuntime":"ADFTutorialIR", "usedParallelCopies":1, "executionDetails":[ { "source":{ "type":"SqlServer" }, "sink":{ "type":"AzureBlobStorage", "region":"CentralUS" }, "status":"Succeeded", "start":"2019-09-11T07:10:38.2342905Z", "duration":18, "usedParallelCopies":1, "detailedDurations":{ "queuingDuration":6, "timeToFirstByte":0, "transferDuration":5 } } ] }
Çıktıyı doğrulama
İşlem hattı, blob kapsayıcısında adftutorial adlı çıktı klasörünü otomatik olarak oluşturur. Çıktı klasöründe dbo.emp.txt dosyasını gördüğünüzü onaylayın.
Azure portalında, adftutorial kapsayıcı penceresinde çıkış klasörünü görmek için Refresh öğesini seçin.
Klasör listesinde
fromonpremseçeneğini belirleyin.dbo.emp.txtadlı bir dosya gördüğünüzü onaylayın.
İlgili içerik
Bu örnekteki işlem hattı, Azure Blob depolama alanındaki verileri bir konumdan diğerine kopyalar. Şunları öğrendiniz:
- Veri fabrikası oluşturma.
- Yerel barındırmalı tümleştirme çalışma zamanı oluşturma.
- SQL Server ve Azure Depolama bağlantılı hizmetler oluşturun.
- SQL Server ve Azure Blob veri kümeleri oluşturun.
- Verileri taşımak için kopyalama etkinliğiyle bir işlem hattı oluşturun.
- Bir işlem hattı çalıştırmasını başlat.
- İşlem hattı çalışmasını izleyin.
Data Factory tarafından desteklenen veri depolarının listesi için desteklenen veri depoları konusuna bakın.
Kaynaktan hedefe verileri toplu olarak kopyalama hakkında bilgi edinmek için aşağıdaki öğreticiye geçin: