Tüm Ürünler
Search
Belge Merkezi

DataWorks:Azure Blob Storage veri kaynağı

Son Güncelleme:Oct 05, 2026

DataWorks, Azure Blob Storage'da depolanan dosyalardan veri okumanız ve bu dosyalara veri yazmanız için Azure Blob Storage Reader ve Azure Blob Storage Writer bileşenlerini sunar. Azure Blob Storage Reader'ı kullanarak Azure Blob Storage'da depolanan dosyalara erişebilir, dosyalardaki verileri ayrıştırabilir ve ardından bu verileri bir hedefe senkronize edebilirsiniz. Ayrıca Azure Blob Storage Writer'ı kullanarak herhangi bir kaynaktan gelen verileri Azure Blob Storage'a yazabilirsiniz. Bu konuda, Azure Blob Storage veri kaynaklarından ve bu kaynaklara veri senkronize etme yetenekleri açıklanmaktadır.

Sınırlamalar

Azure Blob Storage veri kaynağı aşağıdaki veri türlerini destekler.

Veri türü

Açıklama

STRING

Metin.

LONG

Tamsayı.

BYTES

Bayt dizisi. Okunan metin, bayt dizisine dönüştürülür. Kodlama biçimi UTF-8'dir.

BOOL

Boole.

DOUBLE

Ondalık sayı.

DATE

Tarih ve saat. Aşağıdaki tarih ve saat biçimleri desteklenir:

  • YYYY-MM-dd HH:mm:ss

  • yyyy-MM-dd

  • HH:mm:ss

Veri kaynağı ekleme

DataWorks'te bir senkronizasyon görevi geliştirmeden önce, Veri kaynağı yapılandırması bölümündeki talimatları izleyerek gerekli veri kaynağını DataWorks'e eklemeniz gerekir. Bir veri kaynağı eklerken parametrelerin anlamlarını anlamak için DataWorks konsolunda parametre açıklamalarını görüntüleyebilirsiniz.

Veri senkronizasyon görevi geliştirme

Bir senkronizasyon görevini yapılandırmaya yönelik giriş noktası ve yordam hakkında bilgi için aşağıdaki yapılandırma kılavuzlarına bakın.

Tek bir tablonun verilerini senkronize etmek için toplu iş senkronizasyon görevini yapılandırma

Ek: Betik demosu ve parametre açıklaması

Kod düzenleyiciyi kullanarak toplu iş senkronizasyon görevini yapılandırma

Toplu iş senkronizasyon görevini kod düzenleyiciyi kullanarak yapılandırmak istiyorsanız, birleşik betik biçimi gereksinimlerine göre betikteki ilgili parametreleri yapılandırmanız gerekir. Daha fazla bilgi için bkz. Betik modu yapılandırması. Aşağıdaki bilgiler, kod düzenleyiciyi kullanarak toplu iş senkronizasyon görevi yapılandırırken veri kaynakları için yapılandırmanız gereken parametreleri açıklar.

Reader betik demosu

Aşağıda, Azure Blob Storage'dan veri okumaya yönelik bir kod düzenleyici yapılandırma örneği verilmiştir. Writer tarafı, yer tutucu olarak stream kullanır. Bunu gerçek hedef veri kaynağının yapılandırmasıyla değiştirin.

{
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "stepType": "azureblob",
      "parameter": {
        "datasource": "",
        "object": ["f/z/1.csv"],
        "fileFormat": "csv",
        "encoding": "utf8/gbk/...",
        "fieldDelimiter": ",",
        "useMultiCharDelimiter": true,
        "lineDelimiter": "\n",
        "skipHeader": true,
        "compress": "zip/gzip",
        "column": [
          {
            "index": 0,
            "type": "long"
          },
          {
            "index": 1,
            "type": "boolean"
          },
          {
            "index": 2,
            "type": "double"
          },
          {
            "index": 3,
            "type": "string"
          },
          {
            "index": 4,
            "type": "date"
          }
        ]
      },
      "name": "Reader",
      "category": "reader"
    },
    {
      "stepType": "stream",
      "parameter": {},
      "name": "Writer",
      "category": "writer"
    }
  ],
  "setting": {
    "errorLimit": {
      "record": "0"
    },
    "speed": {
      "concurrent": 1
    }
  },
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  }
}

Reader betik parametreleri

Parametre

Açıklama

Gerekli

Varsayılan değer

datasource

Veri kaynağı adı. Kod düzenleyici, veri kaynakları eklemenize olanak tanır. Bu parametrenin değeri, eklediğiniz veri kaynağının adıyla aynı olmalıdır.

Evet

Yok

fileFormat

Kaynak dosyanın türü. Geçerli değerler: csv, text, parquet, orc, json ve jsonl.

Evet

Yok

object

Dosya yolu. Bu parametre, fileFormat csv, text, json veya jsonl olarak ayarlandığında kullanılır.

Not

Bu parametre * joker karakterini destekler ve bir dizi olarak ayarlanabilir.

Örneğin, a/b/1.csv ve a/b/2.csv dosyalarını senkronize etmek için bu parametreyi a/b/*.csv olarak ayarlayabilirsiniz.

Evet

fileFormat csv, text, json veya jsonl olarak ayarlandığında gereklidir.

Yok

path

Dosya yolu. Bu parametre, fileFormat parquet veya orc olarak ayarlandığında kullanılır.

Not

Bu parametre * joker karakterini destekler ve bir dizi olarak ayarlanabilir.

Örneğin, a/b/1.orc ve a/b/2.orc dosyalarını senkronize etmek için bu parametreyi a/b/*.orc olarak ayarlayabilirsiniz.

Evet

fileFormat parquet veya orc olarak ayarlandığında gereklidir.

Yok

column

Okunacak alanların listesi. type parametresi, kaynak verinin veri türünü belirtir:

  • CSV/TEXT biçimi: index parametresi, geçerli sütunun okunduğu sütun numarasını (0'dan başlayarak) belirtir ve value parametresi bir sabit değer belirtir.

  • JSON/JSONL biçimi: Alanları ayıklamak için bir JSONPath ifadesi belirtmek üzere jsonPath kullanın ve value parametresi bir sabit değer belirtir.

Varsayılan olarak, tüm veriler STRING türü olarak okunabilir. Örnek yapılandırma:

column": ["*"]

Sütun alanı bilgilerini belirtebilirsiniz. Örnek yapılandırma:

// CSV/TEXT format
                    "column":    
    {       
        "type": "long",       
        "index": 0 //Azure Blob Storage metninin ilk sütunundan int alanını alın.
    },    
    {       
        "type": "string",       
        "value": "alibaba" //Azure Blob Storage Reader, alibaba dize alanını geçerli alan olarak dahili olarak oluşturur.    
}
// JSON/JSONL format
"column":    
{       
"name": "id",       
"jsonPath": "$.id",       
"type": "LONG"
},    
{       
"name": "name",       
"jsonPath": "$.user.name",       
"type": "STRING"
},    
{       
"name": "source",       
"value": "azure",       
"type": "STRING"
}
Not

Belirttiğiniz column bilgileri için type alanı gereklidir. CSV/TEXT biçimi için index veya value belirtin. JSON/JSONL biçimi için jsonPath veya value belirtin.

Evet

Tüm veriler STRING türü olarak okunur.

fieldDelimiter

Veri okumak için kullanılan alan sınırlayıcısı.

Not
  • Azure Blob Storage Reader, veri okumak için bir alan sınırlayıcısı gerektirir. Bir sınırlayıcı belirtmezseniz varsayılan olarak virgül (,) kullanılır. Virgül (,) ayrıca konsoldaki varsayılan değerdir.

  • Sınırlayıcı görünmez ise Unicode kodlamasını girin. Örnekler: \u001b ve \u007c.

Evet

,

lineDelimiter

Veri okumak için kullanılan satır sınırlayıcısı.

Not

Bu parametre yalnızca fileFormat text olarak ayarlandığında etkili olur.

Hayır

Yok

compress

Metin dosyaları için sıkıştırma türü. Varsayılan olarak bu parametre boş bırakılır; bu, sıkıştırma uygulanmadığı anlamına gelir. Desteklenen sıkıştırma türleri gzip, bzip2 ve zip şeklindedir.

Hayır

Sıkıştırma yok

encoding

Dosyaları okumak için kodlama yapılandırması.

Hayır

utf-8

nullFormat

Standart dizeler, metin dosyalarında null (null işaretçi) tanımlamak için kullanılamaz. Veri senkronizasyon sistemi, hangi dizelerin null olarak temsil edilebileceğini tanımlamak için nullFormat sağlar. Örnekler:

  • nullFormat:"null" olarak ayarlarsanız bu, "görünür bir karakter" ile eşdeğerdir. Kaynak veri null ise veri senkronizasyon sistemi bunu null bir alan olarak değerlendirir.

  • nullFormat:"\u0001" olarak ayarlarsanız bu, "görünmez bir karakter" ile eşdeğerdir. Kaynak veri "\u0001" dizesi ise veri senkronizasyon sistemi bunu null bir alan olarak değerlendirir.

  • "nullFormat" parametresini belirtmezseniz bu, "yapılandırılmadı" ile eşdeğerdir; yani kaynak veriler herhangi bir dönüşüm yapılmadan olduğu gibi hedefe yazılır.

Hayır

Yok

skipHeader

CSV dosyaları için başlığın okunup okunmayacağını belirtmek üzere skipHeader kullanın.

  • True: Veri kaynağından veri senkronize edilirken başlık okunur.

  • False: Veri kaynağından veri senkronize edilirken başlık okunmaz.

Not

skipHeader, sıkıştırılmış dosya modunda desteklenmez.

Hayır

false

parquetSchema

Bu parametre, Azure Blob Storage'dan Parquet dosya biçiminde veri okurken yapılandırılır. Yalnızca fileFormat parquet olarak ayarlandığında etkili olur ve Parquet depolamasının tür açıklamasını belirtir. parquetSchema'yı belirttiğinizden sonra genel yapılandırmanın JSON sözdizimine uygun olduğundan emin olun.

message MessageTypeName {
Required or not, DataType, ColumnName;
......................;
}

parquetSchema'nın yapılandırma biçimi aşağıda açıklandığı gibidir:

  • MessageType adı: Bir ad belirtin.

  • Gerekli olup olmadığı: required, alanın boş olamayacağını; optional ise alanın boş olabileceğini belirtir. Tüm alanları optional olarak ayarlamanızı öneririz.

  • Veri türü: Parquet dosyaları aşağıdaki veri türlerini destekler: BOOLEAN, Int32, Int64, Int96, FLOAT, DOUBLE, BINARY (dize türleri için BINARY belirtin) ve fixed_len_byte_array.

  • Bir satırdaki her sütun ayarı, son satır dahil olmak üzere noktalı virgülle bitmelidir.

Aşağıdaki örnek bir yapılandırmayı göstermektedir.

"parquetSchema": "message m { optional int32 minute_id; optional int32 dsp_id; optional int32 adx_pid; optional int64 req; optional int64 res; optional int64 suc; optional int64 imp; optional double revenue; }"

Hayır

Yok

csvReaderConfig

CSV dosyalarını okumak için parametre yapılandırması. Değer Map türündedir. CSV dosyalarını okumak için CsvReader kullanılır. Bu parametre yapılandırılmazsa varsayılan değerler kullanılır.

Hayır

Yok

maxRetryTimes

Bir dosya indirilemediğinde yapılacak maksimum yeniden deneme sayısı.

Not
  • Bu özelliği devre dışı bırakmak için bu parametreyi 0 olarak ayarlayın.

  • Bu parametre yalnızca kod düzenleyici modunda yapılandırılabilir. Kodsuz kullanıcı arabiriminde desteklenmez.

Hayır

0

retryIntervalSeconds

Bir dosya indirilemediğinde yeniden deneme aralığı. Birim: saniye.

Not

Bu parametre yalnızca kod düzenleyici modunda yapılandırılabilir. Kodsuz kullanıcı arabiriminde desteklenmez.

Hayır

5

Writer betik demosu

Aşağıdaki örnek, Azure Blob Storage'a veri yazmaya yönelik bir betik modu yapılandırmasını gösterir. Reader tarafı, yer tutucu olarak stream kullanır. Bunu gerçek kaynak veri kaynağı yapılandırmasıyla değiştirin.

{
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "stepType": "stream",
      "parameter": {},
      "name": "Reader",
      "category": "reader"
    },
    {
      "stepType": "azureblob",
      "parameter": {
        "datasource": "",
        "fileFormat": "csv",
        "object": "dir/example.csv",
        "fieldDelimiter": ",",
        "lineDelimiter": "\n",
        "encoding": "UTF-8",
        "nullFormat": "null",
        "dateFormat": "yyyy-MM-dd",
        "writeMode": "truncate",
        "maxFileSize": 100,
        "writeSingleObject": false
      },
      "name": "Writer",
      "category": "writer"
    }
  ],
  "setting": {
    "errorLimit": {
      "record": "0"
    },
    "speed": {
      "concurrent": 1
    }
  },
  "order": {
    "hops": [
      {
        "from": "Reader",
        "to": "Writer"
      }
    ]
  }
}

Writer betik parametreleri

Parametre

Açıklama

Gerekli

Varsayılan değer

datasource

Veri kaynağı adı. Betik modu, veri kaynakları eklemenize olanak tanır. Bu parametrenin değeri, eklediğiniz veri kaynağının adıyla aynı olmalıdır. Veri kaynağı, Azure Blob Storage kapsayıcısının SAS URL'si ve imzası (sig) ile yapılandırılmalıdır.

Evet

Yok

object

Azure Blob Storage Writer'ın veri yazdığı dosyanın adı, yol ön eki dahil. Dizinler, dosya adları kullanılarak simüle edilir ve sınırlayıcı eğik çizgidir (/).

  • "object": "datax.csv" kullanırsanız yazılan nesne datax ile başlar. Birden çok dosya yazıldığında rastgele bir UUID dizesi sonek olarak eklenir.

  • "object": "cdo/datax.csv" kullanırsanız yazılan nesne cdo/datax ile başlar.

  • Rastgele bir UUID soneki istemiyorsanız "writeSingleObject": "true" olarak yapılandırın. Daha fazla bilgi için writeSingleObject açıklamasına bakın.

Evet

Yok

writeMode

Azure Blob Storage Writer'ın yazma işleminden önce mevcut verileri nasıl işleyeceğini belirtir:

  • truncate: Yazma işleminden önce, belirtilen nesne adı ön ekiyle eşleşen tüm nesneler silinir. Örneğin, "object":"abc" olarak ayarlarsanız adları abc ile başlayan tüm nesneler silinir.

  • append: Yazma işleminden önce hiçbir işleme yapılmaz. Veriler doğrudan nesne adı kullanılarak yazılır. Birden çok dosya yazıldığında dosya adı çakışmalarını önlemek için rastgele UUID sonekleri kullanılır.

  • nonConflict: Yazma işleminden önce sistem, belirtilen nesnenin zaten var olup olmadığını kontrol eder. Nesne varsa bir hata döndürülür.

Evet

Yok

writeSingleObject

Verilerin tek bir dosyaya yazılıp yazılmayacağını belirtir:

  • true: Tüm eşzamanlı görevler, Block Blob parçalı yükleme kullanarak aynı nesneye yazar. Hiçbir veri okunmadığında boş dosya oluşturulmaz.

  • false: Her eşzamanlı görev ayrı bir nesneye yazar. Dosya adına rastgele bir UUID soneki eklenir. Hiçbir veri okunmadığında header parametresi yapılandırıldıysa yalnızca dosya başlığını içeren boş bir dosya oluşturulur. Aksi takdirde hiçbir dosya oluşturulmaz.

Not

Bu parametre, Parquet veya ORC biçiminde veri yazarken etkili olmaz.

Hayır

false

fileFormat

Dosyaların yazıldığı biçim. Geçerli değerler:

  • csv: Yalnızca katı CSV biçimi desteklenir. Yazılacak veriler sütun sınırlayıcıları içeriyorsa veriler CSV kaçış sözdizimine göre kaçışlanır. Kaçış karakteri çift tırnak işaretidir (").

  • text: Yazılacak veriler sütun sınırlayıcıları kullanılarak ayrılır. Yazılacak veriler sütun sınırlayıcıları içeriyorsa kaçışlama yapılmaz.

  • jsonl: Veriler, satır başına bir JSON nesnesi olacak şekilde JSON Lines biçiminde yazılır.

  • parquet: Veri türlerini tanımlamak için parquetSchema parametresini eklemeniz gerekir. Yalnızca betik modu desteklenir.

  • orc: Yapılandırma için betik moduna geçmeniz gerekir.

Hayır

text

fieldDelimiter

Yazma işlemi için kullanılan alan sınırlayıcısı. Bu parametre csv ve text biçimleri için geçerlidir. Bu parametreyi belirtmezseniz varsayılan sınırlayıcı virgül (,) kullanılır. Sınırlayıcı görünmez ise Unicode kodlamasını girin; örneğin \u001b veya \u007c.

Hayır

,

encoding

Çıktı dosyasının kodlaması.

Hayır

utf-8

nullFormat

Null (boş işaretçi), metin dosyalarında standart dizeler kullanılarak tanımlanamaz. Veri senkronizasyon sistemi, hangi dizelerin null olarak değerlendirilebileceğini tanımlamak için nullFormat parametresini sağlar. Örneğin, nullFormat:"null" yapılandırırsanız ve kaynak veri null ise veri senkronizasyon sistemi alanı null bir alan olarak değerlendirir.

Hayır

\N

dateFormat

Tarih türündeki verileri biçimlendirmek için kullanılan biçim.

Hayır

yyyy-MM-dd HH:mm:ss

header

Çıktı dosyasının başlığı. Örnek: ["id", "name", "age"]. Bu parametre csv ve text biçimleri için geçerlidir. Başlık, ilk bloğun başına yazılır.

Hayır

Yok

blockSizeInMB

Block Blob verileri blok halinde yüklenirken her bir bloğun MB cinsinden boyutu. Azure Block Blob en fazla 50.000 bloğu destekler ve her bir bloğun boyutu 4 MB ile 100 MB arasında değişir. Blok sayısı sınırı aşarsa daha büyük dosya yüklemelerini desteklemek için blok boyutunu artırabilirsiniz. Not Bu parametre yalnızca gelişmiş modda desteklenir, kodsuz kullanıcı arabirimi modunda desteklenmez. Bu parametre yalnızca text, csv ve jsonl biçimleri için etkili olur.

Hayır

64

parquetSchema

Bu parametre, Parquet dosya biçiminde veri yazıldığında gereklidir. Hedef dosyanın yapısını açıklar ve yalnızca fileFormat parquet olarak ayarlandığında etkili olur. Biçim aşağıdaki gibidir.

parquetSchema'nın yapılandırma biçimi aşağıda açıklandığı gibidir:

  • MessageType adı: Bir ad girin.

  • Gerekli olup olmadığı: required, alanın null olamayacağını; optional ise alanın null olabileceğini belirtir. Tüm alanları optional olarak ayarlamanızı öneririz.

  • Veri türü: Parquet dosyaları aşağıdaki veri türlerini destekler: BOOLEAN, Int32, Int64, Int96, FLOAT, DOUBLE, BINARY (dize türleri için BINARY kullanın) ve fixed_len_byte_array.

  • Bir satırdaki her sütun ayarı, son satır dahil olmak üzere noktalı virgülle bitmelidir.

Aşağıdaki örnek bir örnek yapılandırmayı göstermektedir.

"parquetSchema": "message m { optional int32 minute_id; optional int32 dsp_id; optional int32 adx_pid; optional int64 req; optional int64 res; optional int64 suc; optional int64 imp; optional double revenue; }"

Hayır

Yok

column

Parquet veya ORC biçiminde veri yazarken yapılandırılan hedef sütun bilgileri. Biçim: {"name":"sütun adı","type":"sütun türü"}.

Hayır

Yok

compress

Parquet veya ORC dosyalarını yazmak için sıkıştırma biçimi; örneğin SNAPPY ve NONE. Text, CSV veya JSONL biçimleri için sıkıştırma desteklenmez.

Hayır

Yok

maxRetryTimes

Blok yükleme, blok listelerini onaylama ve nesneleri silme dahil olmak üzere yazma hatalarında yapılacak maksimum yeniden deneme sayısı. Yeniden denemeleri devre dışı bırakmak için bu parametreyi 0 olarak ayarlayın. Not Bu parametre yalnızca betik modunda kullanılabilir ve kodsuz kullanıcı arabirimi modunda yapılandırılamaz.

Hayır

30

retryIntervalSeconds

Yazma hatalarında yeniden denemeler arasındaki aralık. Birim: saniye. Bu parametre yalnızca betik modunda kullanılabilir ve kodsuz kullanıcı arabirimi modunda yapılandırılamaz.

Hayır

5

requestTimeoutSeconds

Tek bir istek için zaman aşımı süresi. Birim: saniye. Bu parametre yalnızca betik modunda kullanılabilir ve kodsuz kullanıcı arabirimi modunda yapılandırılamaz.

Hayır

60