Azure Data Factory veya Synapse Analytics kullanarak Amazon S3 Uyumlu Depolama'dan veri kopyalama
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 makalede, Amazon Simple Storage Service (Amazon S3) Uyumlu Depolama'dan verilerin nasıl kopyalandığı özetlenmiştir. Daha fazla bilgi edinmek için Azure Data Factory ve Synapse Analytics'e yönelik giriş makalelerini okuyun.
Desteklenen özellikler
Bu Amazon S3 Uyumlu Depolama bağlayıcısı aşağıdaki özellikler için desteklenir:
Desteklenen özellikler | IR |
---|---|
Kopyalama etkinliği (kaynak/-) | (1) (2) |
Arama etkinliği | (1) (2) |
GetMetadata etkinliği | (1) (2) |
Silme etkinliği | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde barındırılan tümleştirme çalışma zamanı
Özellikle, bu Amazon S3 Uyumlu Depolama bağlayıcısı dosyaları olduğu gibi kopyalamayı veya dosyaları desteklenen dosya biçimleri ve sıkıştırma codec bileşenleriyle ayrıştırmayı destekler. Bağlayıcı, S3'e yönelik isteklerin kimliğini doğrulamak için AWS signature Version 4'i kullanır. S3 uyumlu herhangi bir depolama sağlayıcısından veri kopyalamak için bu Amazon S3 Uyumlu Depolama bağlayıcısını kullanabilirsiniz. Bağlı hizmet yapılandırmasında karşılık gelen hizmet URL'sini belirtin.
Gerekli izinler
Amazon S3 Uyumlu Depolama'dan veri kopyalamak için Amazon S3 nesne işlemleri için size şu izinlerin verildiğinden emin olun: s3:GetObject
ve s3:GetObjectVersion
.
Yazmak için kullanıcı arabirimi kullanırsanız, bağlı hizmete bağlantıyı test etme ve s3:ListBucket
/s3:GetBucketLocation
kökten göz atma gibi işlemler için ek s3:ListAllMyBuckets
ve izinler gerekir. Bu izinleri vermek istemiyorsanız, kullanıcı arabiriminden "Dosya yoluna bağlantıyı test et" veya "Belirtilen yoldan gözat" seçeneklerini seçebilirsiniz.
Amazon S3 izinlerinin tam listesi için bkz . AWS sitesindeki bir İlkede İzinleri Belirtme.
Başlarken
İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portal
- .NET SDK'sı
- Python SDK'sı
- Azure PowerShell
- The REST API
- Azure Resource Manager şablonu
Kullanıcı arabirimini kullanarak Amazon S3 Uyumlu Depolama'ya bağlı hizmet oluşturma
Azure portalı kullanıcı arabiriminde Amazon S3 Uyumlu Depolama'ya bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:
Amazon için arama yapın ve Amazon S3 Uyumlu Depolama 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ğlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde, Amazon S3 Uyumlu Depolama'ya özgü varlıkları tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
Amazon S3 Uyumlu bağlı hizmet için aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | tür özelliği AmazonS3Compatible olarak ayarlanmalıdır. | Yes |
accessKeyId | Gizli dizi erişim anahtarının kimliği. | Yes |
secretAccessKey | Gizli erişim anahtarının kendisi. Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun. | Yes |
serviceUrl | Özel S3 uç noktasını https://<service url> belirtin. |
Hayır |
forcePathStyle | Sanal barındırılan stil erişimi yerine S3 yol stili erişimin kullanılıp kullanılmayacağını gösterir. İzin verilen değerler şunlardır: false (varsayılan), true. Yol stili erişim gerekip gerekmediği konusunda her veri deposu belgelerine bakın. |
Hayır |
connectVia | Veri deposuna bağlanmak için kullanılacak tümleştirme çalışma zamanı . Azure tümleştirme çalışma zamanını veya şirket içinde barındırılan tümleştirme çalışma zamanını (veri deponuz özel bir ağdaysa) kullanabilirsiniz. Bu özellik belirtilmezse, hizmet varsayılan Azure tümleştirme çalışma zamanını kullanır. | Hayır |
Örnek:
{
"name": "AmazonS3CompatibleLinkedService",
"properties": {
"type": "AmazonS3Compatible",
"typeProperties": {
"accessKeyId": "<access key id>",
"secretAccessKey": {
"type": "SecureString",
"value": "<secret access 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
Amazon S3 Uyumlu için desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Bir veri kümesinde altındaki type özelliği location AmazonS3CompatibleLocation olarak ayarlanmalıdır. |
Yes |
bucketName | S3 Uyumlu Depolama demet adı. | Yes |
folderPath | Verilen demetin altındaki klasörün yolu. Klasörü filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarlarında bunu belirtin. | Hayır |
fileName | Verilen demet ve klasör yolunun altındaki dosya adı. Dosyaları filtrelemek için joker karakter kullanmak istiyorsanız, bu ayarı atlayın ve etkinlik kaynağı ayarlarında bunu belirtin. | Hayır |
sürüm | S3 Uyumlu Depolama sürümü etkinleştirilmişse, S3 Uyumlu Depolama nesnesinin sürümü. Belirtilmezse en son sürüm getirilir. | Hayır |
Örnek:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Amazon S3 Compatible Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AmazonS3CompatibleLocation",
"bucketName": "bucketname",
"folderPath": "folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Kopyalama etkinliğinin ö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, Amazon S3 Uyumlu Depolama kaynağının desteklediği özelliklerin listesini sağlar.
Kaynak türü olarak Amazon S3 Uyumlu Depolama
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
Amazon S3 Uyumlu Depolama için, biçim tabanlı kopyalama kaynağındaki ayarlar altında storeSettings
aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | altındaki storeSettings type özelliği AmazonS3CompatibleReadSettings olarak ayarlanmalıdır. |
Yes |
Kopyalanacak dosyaları bulun: | ||
SEÇENEK 1: statik yol |
Veri kümesinde belirtilen demetten veya klasörden/dosya yolundan kopyalayın. Bir demet veya klasördeki tüm dosyaları kopyalamak istiyorsanız, ayrıca olarak * belirtinwildcardFileName . |
|
SEÇENEK 2: S3 Uyumlu Depolama ön eki -önek |
Kaynak S3 Uyumlu Depolama dosyalarını filtrelemek için bir veri kümesinde yapılandırılan demetin altındaki S3 Uyumlu Depolama anahtarı adının ön eki. Adları ile bucket_in_dataset/this_prefix başlayan S3 Uyumlu Depolama anahtarları seçilir. Joker karakter filtresine göre daha iyi performans sağlayan S3 Uyumlu Depolama'nın hizmet tarafı filtresini kullanır.Ön ek kullandığınızda ve koruma hiyerarşisi ile dosya tabanlı havuza kopyalamayı seçtiğinizde, ön ekteki son "/" öğesinin korunacağı alt yolu not edin. Örneğin, kaynağınız bucket/folder/subfolder/file.txt var ve ön eki olarak folder/sub yapılandırdığınızda, korunan dosya yolu olur subfolder/file.txt . |
Hayır |
SEÇENEK 3: joker karakter - wildcardFolderPath |
Kaynak klasörleri filtrelemek için bir veri kümesinde yapılandırılmış verilen demetin altında 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). Klasör adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış için kullanın ^ . Klasör ve dosya filtresi örnekleri'ndeki diğer örneklere bakın. |
Hayır |
SEÇENEK 3: joker karakter - wildcardFileName |
Kaynak dosyaları filtrelemek için verilen demet ve klasör yolu (veya joker klasör yolu) 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). Dosya adınızın içinde joker karakter veya bu kaçış karakteri varsa kaçış yapmak için kullanın ^ . Klasör ve dosya filtresi örnekleri'ndeki diğer örneklere bakın. |
Yes |
OPTION 4: dosya listesi - fileListPath |
Belirli bir dosya kümesinin kopyalandığını gösterir. Kopyalamak istediğiniz dosyaların listesini içeren bir metin dosyasının üzerine gelin. Bu, veri kümesinde yapılandırılan yolun göreli yolu olan satır başına bir dosyadır. Bu seçeneği kullanırken veri kümesinde bir dosya adı belirtmeyin. Dosya listesi örnekleri'ndeki diğer örneklere bakın. |
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 kopyalanmadı veya oluşturulmadı. İzin verilen değerler true (varsayılan) ve false değerleridir. Yapılandırdığınızda fileListPath bu özellik geçerli değildir. |
Hayır |
deleteFilesAfterCompletion | hedef depoya başarıyla taşındıktan sonra ikili dosyaların kaynak depodan silinip silinmeyeceğini gösterir. Dosya silme işlemi dosya başınadır, bu nedenle kopyalama etkinliği başarısız olduğunda bazı dosyaların hedefe kopyalandığını ve kaynaktan silindiğini, diğerleri ise kaynak depoda kaldığını görürsünüz. Bu özellik yalnızca ikili dosya kopyalama senaryosunda geçerlidir. Varsayılan değer: false. |
Hayır |
modifiedDatetimeStart | Dosyalar özniteliğine göre filtrelenir: son değiştirme. Dosyalar, son değiştirme süreleri değerinden büyük veya buna eşit modifiedDatetimeStart ve değerinden modifiedDatetimeEnd küçükse seçilir. Saat, "2018-12-01T05:00:00Z" biçiminde bir UTC saat dilimine uygulanır. Özellikler NULL olabilir; başka bir deyişle veri kümesine hiçbir dosya özniteliği filtresi uygulanmaz. Tarih saat değeri olduğunda modifiedDatetimeStart ancak modifiedDatetimeEnd NULL olduğunda, son değiştirilen özniteliği tarih saat değerinden büyük veya buna eşit olan dosyalar seçilir. 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 seçilir.Yapılandırdığınızda fileListPath bu özellik geçerli değildir. |
Hayır |
modifiedDatetimeEnd | Yukarıdakiyle aynıdır. | Hayır |
enablePartitionDiscovery | 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. - Ön ek kullandığınızda, bölüm kök yolu son "/" yolundan ö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 month day daha oluşturur.- Bölüm kök yolu belirtilmezse, ek sütun oluşturulmaz. |
Hayır |
maxConcurrentConnections | 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": "CopyFromAmazonS3CompatibleStorage",
"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": "AmazonS3CompatibleReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Klasör ve dosya filtresi örnekleri
Bu bölümde, joker karakter filtreleriyle klasör yolunun ve dosya adının elde edilen davranışı açıklanmaktadır.
kova | anahtar | Özyinelemeli | Kaynak klasör yapısı ve filtre sonucu (kalın yazılmış dosyalar alınır) |
---|---|---|---|
kova | Folder*/* |
yanlış | kova KlasörA File1.csv File2.json Alt Klasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
kova | Folder*/* |
true | kova KlasörA File1.csv File2.json Alt Klasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
kova | Folder*/*.csv |
yanlış | kova KlasörA File1.csv File2.json Alt Klasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
kova | Folder*/*.csv |
true | kova KlasörA File1.csv File2.json Alt Klasör1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Dosya listesi örnekleri
Bu bölümde, bir Kopyalama etkinliği kaynağında dosya listesi yolu kullanmanın elde edilen davranışı açıklanmaktadır.
Aşağıdaki kaynak klasör yapısına sahip olduğunuzu ve dosyaları kalın yazıyla kopyalamak istediğinizi varsayalım:
Örnek kaynak yapısı | FileListToCopy.txt içeriği | Yapılandırma |
---|---|---|
kova KlasörA File1.csv File2.json Alt Klasö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: -Kova: bucket - Klasör yolu: FolderA Kopyalama etkinliği kaynağında: - Dosya listesi yolu: bucket/Metadata/FileListToCopy.txt Dosya listesi yolu, veri kümesinde yapılandırılan yolun göreli yolunu içeren, her satırda bir dosya olmak üzere kopyalamak istediğiniz dosyaların listesini içeren aynı veri deposundaki bir metin dosyasını gösterir. |
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
GetMetadata etkinlik özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için GetMetadata etkinliği'ne bakın.
Etkinlik özelliklerini silme
Özellikler hakkında ayrıntılı bilgi edinmek için Silme etkinliği'ne bakın.
İlgili içerik
Kopyalama etkinliği kaynak ve havuz olarak desteklediği veri depolarının listesi için bkz. Desteklenen veri depoları.