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:

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.

  1. 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:

  2. Amazon için arama yapın ve Amazon S3 Uyumlu Depolama bağlayıcısını seçin.

    Amazon S3 Uyumlu Depolama bağlayıcısını seçin.

  3. Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.

    Bağlı bir hizmeti Amazon S3 Uyumlu Depolama'ya yapılandırın.

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.

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.

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.txtvar ve ön eki olarak folder/subyapı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 fileListPathbu ö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 modifiedDatetimeEndküçü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 fileListPathbu ö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.

Kopyalama etkinliği kaynak ve havuz olarak desteklediği veri depolarının listesi için bkz. Desteklenen veri depoları.