Veri kayıt defteri oluşturma

Veri kayıt defteri hizmeti, Azure Haritalar hesabınızla bir Azure Depolama Hesabına veri içeriği kaydetmenizi sağlar. Verilere örnek olarak Azure Haritalar Geofencing hizmetinde kullanılan Geofences koleksiyonu verilebilir. Bir diğer örnek, Oluşturucu'Azure Haritalar iç mekan haritaları oluşturmak veya güncelleştirmek için kullandığı çizim paketleri (DWG) veya GeoJSON dosyalarını içeren ZIP dosyalarıdır.

Önkoşullar

Önemli

  • Bu makalede coğrafi URL kullanılır us.atlas.microsoft.com . Hesabınız Birleşik Devletler oluşturulmadıysa farklı bir coğrafi URL kullanmanız gerekir. Daha fazla bilgi için bkz . Oluşturucu hizmetlerine erişim.
  • Bu makaledeki URL örneklerinde şunları değiştirmeniz gerekir:

verileri Azure Haritalar kaydetmeye hazırlanma

verileri Azure Haritalar kaydedebilmeniz için önce tüm gerekli bileşenleri içeren bir ortam oluşturmanız gerekir. Kaydetmek istediğiniz dosyaları ve kimlik doğrulaması için yönetilen kimlikleri barındıran bir veya daha fazla kapsayıcıya sahip bir depolama hesabına ihtiyacınız vardır. Bu bölümde, Azure ortamınızı verileri Azure Haritalar kaydetmek için nasıl hazırlayabilirsiniz açıklanmaktadır.

Yönetilen kimlikler oluşturma

İki tür yönetilen kimlik vardır: sistem tarafından atanan ve kullanıcı tarafından atanan. Sistem tarafından atanan yönetilen kimliklerin yaşam döngüleri onları oluşturan kaynağa bağlıdır. Kullanıcı tarafından atanan yönetilen kimlikler birden çok kaynakta kullanılabilir. Daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler.

Yönetilen kimlik oluşturmak için aşağıdaki adımları kullanın ve bunu Azure Haritalar hesabınıza ekleyin.

Sistem tarafından atanan yönetilen kimlik oluşturma:

  1. Azure portal Azure Haritalar hesabınıza gidin.
  2. Soldaki menüden Kimlik'i seçin.
  3. Durum'un Açık olmasınısağlayın.

Daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler.

Kapsayıcı oluşturma ve veri dosyalarını karşıya yükleme

Bir veri kayıt defterine dosya eklemeden önce bunları Azure depolama hesabınızdaki bir kapsayıcıya yüklemeniz gerekir. Kapsayıcılar, dosya sistemindeki bir dizine benzer. Bunlar, dosyalarınızın Azure depolama hesabınızda düzenleniyor olmasıdır.

Azure portal kapsayıcı oluşturmak için şu adımları izleyin:

  1. Azure depolama hesabınızın içinden, gezinti bölmesindeki Veri depolamabölümünden Kapsayıcılar'ı seçin.

  2. Kapsayıcılar bölmesinde + Kapsayıcı'yı seçerek Yeni kapsayıcı bölmesini açın.

  3. Kapsayıcıyı oluşturmak için Oluştur’u seçin.

    Azure depolama hesabındaki yeni kapsayıcı sayfasının ekran görüntüsü.

    Kapsayıcınız oluşturulduktan sonra içine dosya yükleyebilirsiniz.

  4. Kapsayıcı oluşturulduktan sonra seçin.

    Azure depolama hesabında yeni oluşturulan kapsayıcıyı gösteren ekran görüntüsü.

  5. Araç çubuğundan Karşıya Yükle'yi seçin, bir veya daha fazla dosya seçin

  6. Karşıya Yükle düğmesini seçin.

    Kapsayıcı oluştururken blobu karşıya yükleme sayfasının ekran görüntüsü.

Veri deposu ekleme

Bir veya daha fazla kapsayıcıya yüklenen dosyaları içeren bir Azure depolama hesabı oluşturduktan sonra, depolama hesaplarını Azure Haritalar hesabınıza bağlayan veri deposu oluşturmaya hazır olursunuz.

Önemli

bir Azure Haritalar hesabına bağlı tüm depolama hesaplarının aynı coğrafi konumda olması gerekir. Daha fazla bilgi için bkz. hizmet coğrafi kapsamı Azure Haritalar.

Not

Depolama hesabınız yoksa bkz. Depolama hesabı oluşturma.

  1. Azure Haritalar hesabınızın sol menüsünden Veri Deposu'na tıklayın.

  2. Ekle düğmesini seçin. Sağ tarafta Veri deposu ekle ekranı görüntülenir.

  3. İstediğiniz Datastore Kimliğini girin ve ardından açılan listelerden Abonelik adı ve Depolama hesabını seçin.

  4. Add (Ekle) seçeneğini belirleyin.

    Veri deposu ekleme ekranını gösteren ekran görüntüsü.

Yeni veri deposu artık veri depoları listesinde görünür.

Yönetilen kimliklere rol atama ve bunları veri deposuna ekleme

Yönetilen kimlikleriniz ve veri deponuz oluşturulduktan sonra yönetilen kimlikleri veri deposuna ekleyebilir ve bunlara Katkıda Bulunan ve Depolama Blobu Veri Okuyucusu rollerini aynı anda atayabilirsiniz. Yönetilen kimliklerinize doğrudan yönetilen kimliklerinizde veya depolama hesabınızda rol eklemek mümkün olsa da, bunları doğrudan veri deposu bölmesindeki Azure Haritalar veri deponuzla aynı anda ilişkilendirirken kolayca yapabilirsiniz.

Not

Veri deposuyla ilişkili her yönetilen kimliğe Katkıda Bulunan ve Depolama Blobu Veri Okuyucusu rollerinin verilmesi gerekir. Yönetilen kimliklere rol vermek için gerekli izinlere sahip değilseniz Azure yöneticinize başvurun. Yönetilen kimliklerinize roller atamak ve bunları bir veri deposuyla ilişkilendirmek için:

  1. Azure Haritalar hesabınızdaki sol menüden Veri Deposu'na tıklayın.

  2. Listeden bir veya daha fazla veri deposu seçin ve ardından Rol ata'yı seçin.

  3. Açılan listeden seçili veri depoları ile ilişkilendirilecek Yönetilen kimliği seçin.

  4. Roller açılan listesinde Hem Katkıda Bulunan hem de Depolama Blobu Veri Okuyucusu'natıklayın .

    Veri deposuna rol atama ekranını gösteren ekran görüntüsü.

  5. Ata düğmesini seçin.

Veri kayıt defteri özellikleri

Azure Haritalar hesabınızda oluşturulan bir veri deposuyla, veri kayıt defterini oluşturmak için gereken özellikleri toplamaya hazırsınız.

HTTP isteğinin gövdesinde geçirdiğiniz AzureBlob özellikleri ve URL'de geçirilen kullanıcı veri kimliği vardır.

The AzureBlob

AzureBlob, veri kayıt defterini oluşturmak için gereken özellikleri tanımlayan bir JSON nesnesidir.

Özellik Açıklama
kind Hangi tür nesnenin kaydedilmekte olduğunu tanımlar. Şu anda desteklenen tek tür AzureBlob'dur .
dataFormat blobUrl'de bulunan dosyanın veri biçimi. Biçimi uzamsal hizmet için GeoJSON veya dönüştürme hizmeti için ZIP olabilir.
msiClientId Veri kayıt defterini oluşturmak için kullanılan yönetilen kimliğin kimliği.
linkedResource Azure Haritalar hesabına kayıtlı veri deposunun kimliği.
Veri deposu, kaydedilmekte olan dosyanın bağlantısını içerir.
blobUrl Kapsayıcınıza aktarılan AzurebBlob dosyasının Konumunu gösteren bir URL.

Aşağıdaki iki bölümde , msiClientId, blobUrl özellikleri için kullanılacak değerlerin nasıl alınıyor ayrıntıları sağlanır.

msiClientId özelliği

msiClientId özelliği, veri kayıt defterini oluşturmak için kullanılan yönetilen kimliğin kimliğidir. İki tür yönetilen kimlik vardır: sistem tarafından atanan ve kullanıcı tarafından atanan. Sistem tarafından atanan yönetilen kimliklerin yaşam döngüleri onları oluşturan kaynağa bağlıdır. Kullanıcı tarafından atanan yönetilen kimlikler birden çok kaynakta kullanılabilir. Daha fazla bilgi için bkz. Azure kaynakları için yönetilen kimlikler.

Sistem tarafından atanan yönetilen kimlikleri kullanırken özelliği için msiClientId bir değer sağlamanız gerekmez. Veri kayıt defteri hizmeti, null olduğunda msiClientId Azure Haritalar hesabının sistem tarafından atanan kimliğini otomatik olarak kullanır.

blobUrl özelliği

blobUrl özelliği, kaydedilmekte olan dosyanın yoludur. Bu değeri eklendiği kapsayıcıdan alabilirsiniz. veri kayıt defteri

  1. Azure portaldepolama hesabınızı seçin.

  2. Soldaki menüden Kapsayıcılar'ı seçin.

  3. Kapsayıcı listesi görüntülenir. Kaydetmek istediğiniz dosyayı içeren kapsayıcıyı seçin.

  4. Kapsayıcı açılır ve daha önce karşıya yüklenen dosyaların listesi gösterilir.

  5. İstediğiniz dosyayı seçin ve URL'yi kopyalayın.

    BlobUrl özelliği olarak kullanılan URL'nin nasıl seçılabileceğini gösteren ekran görüntüsü.

Kullanıcı veri kimliği

Veri kayıt defterinin kullanıcı veri kimliği (udid), aşağıdaki Regex desenine uyması gereken kullanıcı tanımlı bir GUID'dir:

^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$

İpucu

udid, veri kayıt defteri oluşturulurken sağlanması gereken kullanıcı tanımlı bir GUID'dir. Genel olarak benzersiz bir tanımlayıcıya (GUID) sahip olduğunuzdan emin olmak istiyorsanız, Guidgen.exe komut satırı programı ( Visual Studio ile kullanılabilir) gibi bir GUID oluşturma aracı çalıştırarak bunu oluşturmayı göz önünde bulundurun.

Veri kayıt defteri oluşturma

Artık depolama hesabınıza, veri deposu aracılığıyla Azure Haritalar hesabınıza bağlı istenen dosyaları eklediğinize ve tüm gerekli özellikleri topladığınıza göre, bu dosyaları kaydetmek için veri kayıt defteri API'sini kullanmaya hazırsınız demektir. Azure depolama hesabınızda kaydetmek istediğiniz birden çok dosya varsa, her dosyaudid ( için kayıt isteğini çalıştırmanız gerekir.

Not

bir Azure Haritalar veri deposuna kaydedilebilecek en büyük dosya boyutu bir gigabayttır.

Veri kayıt defteri oluşturmak için:

  1. HTTP isteğinizin gövdesindeki veri kayıt defterine eklenen depolama hesabına başvurmak için gereken bilgileri sağlayın. Bilgiler JSON biçiminde olmalı ve aşağıdaki alanları içermelidir:

    {
    "kind": "AzureBlob",
        "azureBlob": {
            "dataFormat": "geojson",
            "linkedResource": "{datastore ID}",
            "blobUrl": "https://teststorageaccount.blob.core.windows.net/testcontainer/test.geojson"
        }
    }
    

    Not

    Sistem tarafından atanan yönetilen kimlikleri kullanırken, HTTP isteğinizdeki msiClientId özelliği için bir değer sağlarsanız bir hata alırsınız.

    HTTP isteği gövdesinde gereken özellikler hakkında daha fazla bilgi için bkz . Veri kayıt defteri özellikleri.

  2. HTTP isteğinizin gövdesini hazır duruma getirdiğinizde aşağıdaki HTTP PUT isteğini yürütebilirsiniz:

    https://us.atlas.microsoft.com/dataRegistries/{udid}?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Subscription-key} 
    
    

    özelliği hakkında udid daha fazla bilgi için bkz . Kullanıcı veri kimliği.

  3. Yanıt üst bilgisinden Operation-Location anahtarının değerini kopyalayın.

İpucu

Daha önce kaydedilmiş bir dosyanın içeriği değiştirilirse, veri doğrulaması başarısız olur ve yeniden kaydedilene kadar Azure Haritalar içinde kullanılamaz. Bir dosyayı yeniden kaydetmek için, özgün kaydı oluşturmak için kullanılan AzureBlob'u geçirerek yazmaç isteğini yeniden çalıştırın. operation-location anahtarının değeri, sonraki bölümde veri kayıt defteri oluşturma durumunu denetlemek için kullanacağınız durum URL'sidir ve Get işlemi API'si tarafından kullanılan işlem kimliğini içerir.

Not

operation-location anahtarının değeri değerini içermezsubscription-key, bunu veri kayıt defteri oluşturma durumunu denetlemek için kullanırken istek URL'sine eklemeniz gerekir.

Veri kayıt defteri oluşturma durumunu denetleme

(İsteğe bağlı olarak) veri kayıt defteri oluşturma işleminin durumunu denetlemek için, Veri kayıt defteri oluşturma bölümüne kopyaladığınız durum URL'sini girin ve abonelik anahtarınızı sorgu dizesi parametresi olarak ekleyin. İstek aşağıdaki URL'ye benzer görünmelidir:

https://us.atlas.microsoft.com/dataRegistries/operations/{udid}?api-version=2023-06-01&subscription-key={Your-Azure-Maps-Primary-Subscription-key}

Veri kayıt defterindeki tüm dosyaların listesini alma

bir Azure Haritalar hesabına kayıtlı tüm dosyaların listesini almak için Liste isteğini kullanın:

https://us.atlas.microsoft.com/dataRegistries?api-version=2023-06-01&subscription-key={Azure-Maps-Subscription-key}

Aşağıdaki örnekte tamamlanmış, çalıştırılan ve başarısız olan üç olası durum gösterilmektedir:

{
  "value": [
    {
      "udid": "f6495f62-94f8-0ec2-c252-45626f82fcb2",
      "description": "Contoso Indoor Design",
      "kind": "AzureBlob",
      "azureBlob": {
        "dataFormat": "zip",
        "msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
        "linkedResource": "my-storage-account",
        "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path1.zip",
        "sizeInBytes": 29920,
        "contentMD5": "CsFxZ2YSfxw3cRPlqokV0w=="
      },
      "status": "Completed"
    },
    {
      "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c",
      "kind": "AzureBlob",
      "azureBlob": {
        "dataFormat": "geojson",
        "msiClientId": "3263cad5-ed8b-4829-b72b-3d1ba556e373",
        "linkedResource": "my-storage-account",
        "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path2.geojson",
        "sizeInBytes": 1339
      },
      "status": "Running"
    },
    {
      "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c",
      "description": "Contoso Geofence GeoJSON",
      "kind": "AzureBlob",
      "azureBlob": {
        "dataFormat": "geojson",
        "linkedResource": "my-storage-account",
        "blobUrl": "https://mystorageaccount.blob.core.windows.net/my-container/my/blob/path3.geojson",
        "sizeInBytes": 1650,
        "contentMD5": "rYpEfIeLbWZPyaICGEGy3A=="
      },
      "status": "Failed",
      "error": {
        "code": "ContentMD5Mismatch",
        "message": "Actual content MD5: sOJMJvFParkSxBsvvrPOMQ== doesn't match expected content MD5: CsFxZ2YSfxw3cRPlqokV0w==."
      }
    }
  ]
}

Liste isteği çalıştırılırken döndürülen veriler, birkaç eklemeyle kayıt defteri oluşturulurken sağlanan verilere benzer:

özellik açıklama
contentMD5 Kaydedilmekte olan dosyanın içeriğinden oluşturulan MD5 karması. Daha fazla bilgi için bkz . Veri doğrulama
sizeInBytes İçeriğin bayt cinsinden boyutu.

Veri kayıt defterini değiştirme

Daha önce kaydedilmiş bir dosyayı başka bir dosyayla değiştirmeniz gerekiyorsa, blobUrl dışında özgün kaydı oluşturmak için kullanılan AzureBlob'u geçirerek yazmaç isteğini yeniden çalıştırın. yeni BlobUrl dosyaya işaret etmek için değiştirilmelidir.

Veri doğrulama

Veri kayıt defteri API'sini kullanarak bir dosyayı Azure Haritalar kaydettiğinizde, dosyanın içeriğinden bir MD5 karması oluşturulur, 128 bit parmak iziyle kodlanır ve özelliği olarak contentMD5 içinde AzureBlob kaydedilir. özelliğinde contentMD5 depolanan MD5 karması, dosyanın veri bütünlüğünü sağlamak için kullanılır. MD5 karma algoritması her zaman aynı giriş verildiğinde aynı çıkışı ürettiğinden, veri doğrulama işlemi dosyanın azure depolama hesabındaki bir karması ile kaydedildiğinde dosyanın özelliğini karşılaştırarak contentMD5 bozulmamış ve değiştirilmemiş olup olmadığını kontrol edebilir. Karma aynı değilse doğrulama başarısız olur. Temel alınan depolama hesabındaki dosya değişirse doğrulama başarısız olur. Azure Haritalar kaydedilmiş bir dosyanın içeriğini değiştirmeniz gerekiyorsa, dosyayı yeniden kaydetmeniz gerekir.