Aracılığıyla paylaş


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

ŞUNLAR İÇİN GEÇERLİDİR: 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, Google Cloud Storage'dan (GCS) 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 Google Cloud Storage bağlayıcısı aşağıdaki özellikler için desteklenir:

Desteklenen özellikler IR
Kopyalama etkinliği (kaynak/-) (1) (2)
Veri Akışı Eşleme (kaynak/-) (1)
Arama etkinliği ① ②
GetMetadata etkinliği (1) (2)
Etkinliği sil ① ②

(1) Azure entegrasyon çalışma zamanı (2) Öz barındırılan entegrasyon çalışma zamanı

Özellikle, bu Google Cloud Storage 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 Storage hesabınızda aşağıdaki kurulum gereklidir:

  1. Google Cloud Storage 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.

Google Cloud Storage için erişim anahtarını alma

Gerekli izinler

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

Kullanıcı arabirimini kullanarak oluşturma yapıyorsanız, storage.buckets.list bağlı hizmete bağlantıyı test etme ve ana dizinden göz atma gibi işlemler için izin gerekmektedir. 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 Storage rollerinin ve ilişkili izinlerinin tam listesi için, Google Cloud sitesi üzerindeki Cloud Storage için IAM rolleri bölümüne bakın.

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

Azure portalı kullanıcı arabiriminde Google Cloud Storage'a 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 gidin ve Bağlı Hizmetler'i ve ardından Yeni'yi seçin:

  2. Google'ı arayın ve Google Cloud Storage (S3 API) bağlayıcısını seçin.

    Google Cloud Storage (S3 API) 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 Google Cloud Storage'a yapılandırın.

Bağlayıcı yapılandırma ayrıntıları

Aşağıdaki bölümlerde, Google Cloud Storage'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 Storage bağlı hizmetleri için aşağıdaki özellikler desteklenir:

Mülk Açıklama Gerekli
Tür type özelliği GoogleCloudStorage olarak ayarlanmalıdır. Yes
accessKeyId Gizli erişim anahtarının kimliği. Erişim anahtarını ve gizli anahtarı bulmak için bkz Önkoşullar. 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 GCS uç noktasını olarak https://storage.googleapis.combelirtin. Yes
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

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 Storage için desteklenir:

Özellik Açıklama Gerekli
Tip veri kümesinde altındaki type özelliği location GoogleCloudStorageLocation olarak ayarlanmalıdır. Yes
bucketName GCS kova adı. Yes
klasör yolu Verilen bucket içindeki 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
dosyaAdı 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

Ö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ümde, Google Cloud Storage kaynağının desteklediği özelliklerin listesi sağlanır.

Kaynak türü olarak Google Cloud Storage

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ı kopyalama kaynağındaki ayarlar altında storeSettings Google Cloud Storage için desteklenir:

Mülk Açıklama Gerekli
Tür altındaki storeSettings özelliği GoogleCloudStorageReadSettings 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 kovadan veya klasörden tüm dosyaları kopyalamak istiyorsanız, ek olarak wildcardFileName belirtin *.
SEÇENEK 2: GCS ön eki
-önek
Veri kümesinde yapılandırılan kovadaki GCS anahtar adlarının ön eki, kaynak GCS dosyalarını filtrelemek için kullanılır. 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. 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ızda joker karakter veya bu kaçış karakteri varsa kaçmak 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). Kaçmak için dosya adınızda joker karakter veya bu karakter varsa ^ kullanın. Klasör ve dosya filtresi örnekleri'ndeki diğer örneklere bakın.
Yes
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ı belirtin. Her satır, veri kümesinde yapılandırılan yola göreli bir dosya yolunu temsil eder.
Bu seçeneği kullanırken veri kümesinde dosya adını 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.
Bu özelliği fileListPath yapılandırdığınızda geçerli değildir.
Hayır
Tamamlandıktan Sonra Dosyaları Sil 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
değiştirilmişTarihSaatBaşlangıç 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. modifiedDatetimeEnd tarih saat değerine sahip olduğunda, ancak modifiedDatetimeStartNULL olduğunda son değişiklik özniteliği tarih saat değerinden daha küçük olan dosyalar seçilecektir.
Yapılandırdığınızda, bu özellik fileListPath için geçerli değildir.
Hayır
değiştirilmişTarihZamanSonu 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ı daha fazla kaynak sütun 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.

Ö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.
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": "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
    FolderA
         File1.csv
         File2.json
        Alt Klasör1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
kova Folder*/* true kova
    Klasör A
         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 doğru kova
    KlasörA
         File1.csv
        File2.json
        Alt Klasör 1
             File3.csv
            File4.json
             File5.csv
    AnotherFolderB
        File6.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 içinde yer alan içerik Yapılandırma
kova
    Klasör A
         File1.csv
        File2.json
        Alt Klasör 1
             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

Kaynak kopyalama etkinliğinde:
- 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.

Veri akışını eşleme özellikleri

Eşleme veri akışlarında verileri dönüştürürken, Google Cloud Storage'daki 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 Storage'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.

Kaynak seçeneklerinin ekran görüntüsü.

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.

  • ** Dizinlerin özyineli olarak iç içe yerleştirilmesini temsil eder.

  • ? Bir karakteri değiştirir.

  • [] Ayraç içindeki bir veya birden 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 /data/sales dizininde, iki alt seviyedeki .csv dosyalarını getirir.

  • /data/sales/2004/*/12/[XY]1?.csv Aralık 2004'te X veya Y ön ekiyle iki basamaklı bir sayıyla başlayan tüm .csv dosyalarını 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 ve okumak istediğiniz yaprak dosyaları içerecek şekilde tüm yolları kapsayan bir joker karakter tanımlayın.

Bölüm kaynak dosyası ayarlarının ekran görüntüsü.

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.

Bölüm kök yolunun ekran görüntüsü.

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ı gösterin.

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şıma yolları göreli.

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 "kaynak" dizinini ayarlayın. Yolunuz için genel karakter kullanmıyorsanız, "başlangıç" 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" bilgisini şu şekilde belirtebilirsiniz:

/data/sales

Ve "to" öğesini şu şekilde tanımlayabilirsiniz:

/backup/priorSales

Bu durumda, /data/sales altında yer alan tüm dosyalar /backup/priorSales konumuna taşınır.

Not

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 faaliyeti ö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 Storage'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ı da desteklenir. Daha önce bahsedilen yeni modeli kullanmanızı öneririz. Yazar kullanıcı arabirimi yeni model oluşturmaya başladı.

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