Azure Data Factory veya Synapse Analytics kullanarak Google Cloud Depolama'dan veri kopyalama

UYGULANANLAR: Azure Data Factory Azure Synapse Analytics

Bahşiş

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, Google Cloud Depolama(GCS) verilerinin 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 Google Cloud Depolama bağlayıcısı aşağıdaki özellikler için desteklenir:

Desteklenen özellikler IR
Kopyalama etkinliği (kaynak/-) ① ②
Eşleme veri akışı (kaynak/-)
Arama etkinliği ① ②
GetMetadata etkinliği ① ②
Silme etkinliği ① ②

(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde barındırılan tümleştirme çalışma zamanı

Özellikle, bu Google Cloud Depolama bağlayıcısı dosyaları olduğu gibi kopyalamayı veya desteklenen dosya biçimleri ve sıkıştırma codec bileşenleriyle ayrıştırmayı destekler. GCS'nin S3 uyumlu birlikte çalışabilirlik özelliğinden yararlanır.

Önkoşullar

Google Cloud Depolama hesabınızda aşağıdaki kurulum gereklidir:

  1. Google Cloud Depolama hesabınız için birlikte çalışabilirliği etkinleştirme
  2. Hedef GCS demetinden kopyalamak istediğiniz verileri içeren varsayılan projeyi ayarlayın.
  3. GCP üzerinde Cloud IAM kullanarak bir hizmet hesabı oluşturun ve doğru izin düzeylerini tanımlayın.
  4. Bu hizmet hesabı için erişim anahtarlarını oluşturun.

Retrieve access key for Google Cloud Storage

Gerekli izinler

Google Cloud Depolama'dan veri kopyalamak için nesne işlemleri için size şu izinlerin verildiğinden emin olun: storage.objects.get ve storage.objects.list.

Yazmak için kullanıcı arabirimi kullanıyorsanız, bağlı hizmete bağlantıyı test etme ve kökten göz atma gibi işlemler için ek storage.buckets.list izin gerekir. Bu izni vermek istemiyorsanız, kullanıcı arabiriminden "Dosya yoluna bağlantıyı test et" veya "Belirtilen yoldan gözat" seçeneklerini seçebilirsiniz.

Google Cloud Depolama rollerinin ve ilişkili izinlerinin tam listesi için bkz. Google Cloud sitesindeki Cloud Depolama için IAM rolleri.

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 Google Cloud Depolama'a bağlı hizmet oluşturma

Azure portalı kullanıcı arabiriminde Google Cloud Depolama 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. Google'ı arayın ve Google Cloud Depolama (S3 API) bağlayıcısını seçin.

    Select the Google Cloud Storage (S3 API) connector.

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

    Configure a linked service to Google Cloud Storage.

Bağlan veya yapılandırma ayrıntıları

Aşağıdaki bölümlerde, Google Cloud Depolama'a özgü Data Factory varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.

Bağlı hizmet özellikleri

Google Cloud Depolama bağlı hizmetleri için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type type özelliği GoogleCloud Depolama olarak ayarlanmalıdır. Evet
accessKeyId Gizli dizi erişim anahtarının kimliği. Erişim anahtarını ve gizli diziyi bulmak için bkz . Önkoşullar. Evet
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. Evet
serviceUrl Özel GCS uç noktasını olarak https://storage.googleapis.combelirtin. Evet
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. No

Bir örnek aşağıda verilmiştir:

{
    "name": "GoogleCloudStorageLinkedService",
    "properties": {
        "type": "GoogleCloudStorage",
        "typeProperties": {
            "accessKeyId": "<access key id>",
            "secretAccessKey": {
                "type": "SecureString",
                "value": "<secret access key>"
            },
            "serviceUrl": "https://storage.googleapis.com"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Veri kümesi özellikleri

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 Google Cloud Depolama için desteklenir:

Özellik Açıklama Gerekli
type veri kümesinde altındaki type özelliği location GoogleCloud Depolama Location olarak ayarlanmalıdır. Evet
bucketName GCS demet adı. Evet
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. No
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. No

Örnek:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Google Cloud Storage linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "GoogleCloudStorageLocation",
                "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, Google Cloud Depolama kaynağının desteklediği özelliklerin listesini sağlar.

Kaynak türü olarak Google Cloud Depolama

Azure Data Factory aşağıdaki dosya biçimlerini destekler. Biçim tabanlı ayarlar için her makaleye bakın.

Google Cloud Depolama için biçim tabanlı kopyalama kaynağındaki ayarlar altında storeSettings aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
type altındaki storeSettings type özelliği GoogleCloud Depolama Read Ayarlar olarak ayarlanmalıdır. Evet
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: GCS ön eki
-Önek
Kaynak GCS dosyalarını filtrelemek için veri kümesinde yapılandırılan demetin altındaki GCS anahtar adının ön eki. Adları ile bucket_in_dataset/this_prefix başlayan GCS anahtarları seçilir. GCS'nin joker karakter filtresine göre daha iyi performans sağlayan hizmet tarafı filtresini kullanır. No
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.
No
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.
Evet
SEÇENEK 3: dosyaların 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 dosya adını belirtmeyin. Dosya listesi örnekleri'ndeki diğer örneklere bakın.
No
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.
No
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.
No
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 UTC saat dilimine "2018-12-01T05:00:00Z" biçiminde 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.
No
modifiedDatetimeEnd Yukarıdakiyle aynıdır. No
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.
No
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.

Ö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 monthday daha oluşturur.
- Bölüm kök yolu belirtilmezse, ek sütun oluşturulmaz.
No
maxConcurrent Bağlan ions 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. No

Örnek:

"activities":[
    {
        "name": "CopyFromGoogleCloudStorage",
        "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": "GoogleCloudStorageReadSettings",
                    "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
        Dosya1.csv
        Dosya2.json
        Alt Klasör1
            Dosya3.csv
            File4.json
            Dosya5.csv
    AnotherFolderB
        Dosya6.csv
Kova Folder*/* true Kova
    KlasörA
        Dosya1.csv
        Dosya2.json
        Alt Klasör1
            Dosya3.csv
            File4.json
            Dosya5.csv
    AnotherFolderB
        Dosya6.csv
Kova Folder*/*.csv yanlış Kova
    KlasörA
        Dosya1.csv
        Dosya2.json
        Alt Klasör1
            Dosya3.csv
            File4.json
            Dosya5.csv
    AnotherFolderB
        Dosya6.csv
Kova Folder*/*.csv true Kova
    KlasörA
        Dosya1.csv
        Dosya2.json
        Alt Klasör1
            Dosya3.csv
            File4.json
            Dosya5.csv
    AnotherFolderB
        Dosya6.csv

Dosya listesi örnekleri

Bu bölümde, Kopyalama etkinliği kaynağında bir 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 dosyasındaki içerik Yapılandırma
Kova
    KlasörA
        Dosya1.csv
        Dosya2.json
        Alt Klasör1
            Dosya3.csv
            File4.json
            Dosya5.csv
    Meta veri
        FileListToCopy.txt
Dosya1.csv
Alt Klasör1/Dosya3.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.

Eşleme veri akışı özellikleri

Eşleme veri akışlarında verileri dönüştürürken, Google Cloud Depolama dosyaları aşağıdaki biçimlerde okuyabilirsiniz:

Biçime özgü ayarlar, bu biçimin belgelerinde bulunur. Daha fazla bilgi için bkz . Eşleme veri akışında kaynak dönüşümü.

Kaynak dönüştürme

Kaynak dönüştürmede, Google Cloud Depolama'daki bir kapsayıcıdan, klasörden veya tek tek dosyadan okuyabilirsiniz. Dosyaların okunma şeklini yönetmek için Kaynak seçenekleri sekmesini kullanın.

Screenshot of Source options.

Joker karakter yolları: Joker karakter deseni kullanmak, hizmete eşleşen her klasör ve dosyada tek bir kaynak dönüşümünde döngü gerçekleştirmesini emredecektir. Bu, tek bir akış içinde birden çok dosyayı işlemenin etkili bir yoludur. Var olan joker karakter deseninizin üzerine geldiğinizde görüntülenen artı işaretiyle birden çok joker karakter eşleştirme deseni ekleyin.

Kaynak kapsayıcınızdan bir desenle eşleşen bir dizi dosya seçin. Veri kümesinde yalnızca bir kapsayıcı belirtilebilir. Bu nedenle joker yolunuzun kök klasörden klasör yolunuzu da içermesi gerekir.

Joker karakter örnekleri:

  • * Herhangi bir karakter kümesini temsil eder.

  • ** Özyinelemeli dizin iç içe yerleştirmeyi temsil eder.

  • ? Bir karakteri değiştirir.

  • [] Köşeli ayraç içindeki bir veya daha fazla karakterle eşleşir.

  • /data/sales/**/*.csv /data/sales altındaki tüm .csv dosyalarını alır.

  • /data/sales/20??/**/ 20. yüzyıldaki tüm dosyaları alır.

  • /data/sales/*/*/*.csv .csv dosyalarını /data/sales altında iki düzey alır.

  • /data/sales/2004/*/12/[XY]1?.csv Aralık 2004'te X veya Y ön ekiyle başlayan tüm .csv dosyalarını iki basamaklı bir sayıyla alır.

Bölüm kök yolu: Dosya kaynağınızda bir key=value biçime (örneğin, ) sahip bölümlenmiş klasörleriniz varsa, year=2019bu bölüm klasör ağacının en üst düzeyini veri akışınızın veri akışındaki bir sütun adına atayabilirsiniz.

İlk olarak, bölümlenmiş klasörler olan tüm yolları ve okumak istediğiniz yaprak dosyaları içerecek şekilde bir joker karakter ayarlayın.

Screenshot of partition source file settings.

Klasör yapısının en üst düzeyini tanımlamak için Bölüm kök yolu ayarını kullanın. Verilerinizin içeriğini bir veri önizlemesi aracılığıyla görüntülediğinizde, hizmetin klasör düzeylerinizin her birinde bulunan çözümlenmiş bölümleri eklediğini görürsünüz.

Screenshot of partition root path.

Dosya listesi: Bu bir dosya kümesidir. İşlenmek üzere göreli yol dosyalarının listesini içeren bir metin dosyası oluşturun. Bu metin dosyasının üzerine gelin.

Dosya adını depolamak için sütun: Kaynak dosyanın adını verilerinizdeki bir sütunda depolayın. Dosya adı dizesini depolamak için buraya yeni bir sütun adı girin.

Tamamlandıktan sonra: Veri akışı çalıştırıldıktan sonra kaynak dosyayla hiçbir şey yapmayı, kaynak dosyayı silmeyi veya kaynak dosyayı taşımayı seçin. Taşımanın yolları görelidir.

Kaynak dosyaları işleme sonrasında başka bir konuma taşımak için önce dosya işlemi için "Taşı"yı seçin. Ardından "kimden" dizinini ayarlayın. Yolunuz için joker karakter kullanmıyorsanız, "kimden" ayarı kaynak klasörünüzle aynı klasör olacaktır.

Joker karakter içeren bir kaynak yolunuz varsa söz diziminiz şu şekilde görünür:

/data/sales/20??/**/*.csv

"kimden" öğesini şu şekilde belirtebilirsiniz:

/data/sales

Ve "to" öğesini şu şekilde belirtebilirsiniz:

/backup/priorSales

Bu durumda, altında /data/sales kaynağı alınan tüm dosyalar öğesine /backup/priorSalestaşınır.

Dekont

Dosya işlemleri yalnızca işlem hattındaki Yürütme Veri Akışı etkinliğini kullanan bir işlem hattı çalıştırmasından (işlem hattı hata ayıklama veya yürütme çalıştırması) veri akışını başlattığınızda çalıştırılır. Dosya işlemleri Veri Akışı hata ayıklama modunda çalışmaz.

Son değiştirilmeye göre filtrele: Son değiştirilme zamanlarının tarih aralığını belirterek hangi dosyaları işlediğinizi filtreleyebilirsiniz. Tüm tarih saatleri UTC olarak belirlenir.

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.

Eski modeller

Google Cloud Depolama'dan veri kopyalamak için Amazon S3 bağlayıcısı kullanıyorsanız geriye dönük uyumluluk için olduğu gibi bu bağlayıcı hala desteklenmektedir. Daha önce bahsedilen yeni modeli kullanmanızı öneririz. Yazma kullanıcı arabirimi yeni modeli oluşturmaya geçti.

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