Data - Update

Daha önce Karşıya Veri Yükleme kullanılarak karşıya yüklenen veri içeriğini güncelleştirmek için kullanın.

Not

Azure Haritalar Veri hizmetinin kullanımdan kaldırılması

Azure Haritalar Veri hizmeti (hem v1 hem de v2) artık kullanım dışıdır ve 16.09.24 tarihinde kullanımdan kaldırılacaktır. Hizmet kesintilerini önlemek için Veri hizmetine yapılan tüm çağrıların 16.09.24'e kadar Azure Haritalar Veri Kayıt Defteri hizmetini kullanacak şekilde güncelleştirilmesi gerekir. Daha fazla bilgi için bkz. Veri kayıt defteri oluşturma.

Data Update API, çağıranın daha önce karşıya yüklenen veri içeriğini güncelleştirmesine olanak tanıyan bir HTTP PUT isteğidir.

Bu API'yi, var olan bir bölge sınırı koleksiyonuna veya bu koleksiyondan coğrafi alanları ekleme veya kaldırma gibi bir senaryoda kullanabilirsiniz. Coğrafi bölgeler, Azure Haritalar Coğrafi Sınırlama Hizmeti'nde kullanılmak üzere Veri Yükleme API'sini kullanarak karşıya yüklenir.

Güncelleştirme API'sinin mevcut veri içeriğini değiştireceğini ve geçersiz kılacağını lütfen unutmayın.

Önemli

Bu özelliği kullanarak önizleme yasal koşullarını kabul etmiş olursunuz. Ek ayrıntılar için Bkz. Önizleme Ek Koşulları .

Güncelleştirme İsteği Gönder

İçeriğinizi güncelleştirmek için bir PUT istek kullanacaksınız. İstek gövdesi, mevcut verilerin yerini alacak yeni verileri içerir. Üst Content-Type bilgi, verilerin içerik türüne ayarlanır ve yol güncelleştirilecek verilerin türünü içerir udid .

Örneğin, daha önce Karşıya Yükleme API'si kullanılarak karşıya yüklenen bir coğrafi bölge koleksiyonunu güncelleştirmek için yeni bölge sınırı içeriğini istek gövdesine yerleştirin. udid yolundaki parametresiniudid, daha önce karşıya yükleme API'sinin yanıtında alınan verilerin değerine ayarlayın. Üst bilgiyi de aşağıdaki medya türlerinden birine ayarlayın Content-Type :

  • application/json
  • application/vnd.geo+json
  • application/octet-stream

Basit bir Geofence'i güncelleştirmek için örnek istek gövdesi aşağıda verilmiştir. Merkez noktası ve yarıçap kullanılarak daire geometrisi olarak temsil edilir. Aşağıdaki örnek içindedir GeoJSON:

{
    "type": "FeatureCollection",
    "features": [{
        "type": "Feature",
        "geometry": {
            "type": "Point",
            "coordinates": [-122.126986, 47.639754]
        },
        "properties": {
            "geometryId": "001",
            "radius": 500
        }
    }]
}

Daha önce karşıya yüklenen bölge sınırı 100m yarıçapa sahipti. Yukarıdaki istek bunu 500m olarak güncelleştirir.

Veri Güncelleştirme API'si uzun süre çalışan bir işlem gerçekleştirir.

Veri Güncelleştirme Sınırları

Lütfen şu anda her Azure Haritalar hesabının bir veri depolama sınırı olduğunu unutmayın. Depolama sınırına ulaşıldıktan sonra tüm yeni karşıya yükleme API çağrıları http 409 Conflict hata yanıtı döndürür. Eski/kullanılmayan içeriği silmek ve yeni karşıya yüklemeler için alan oluşturmak için istediğiniz zaman Veri Silme API'sini kullanabilirsiniz.

PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?api-version=2.0
PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?api-version=2.0&description={description}

URI Parametreleri

Name İçinde Gerekli Tür Description
geography
path True

string

Bu parametre, Azure Haritalar Oluşturucu kaynağının nerede bulunduğunu belirtir. Geçerli değerler biz ve AB'lerdir.

udid
path True

string

İçeriğin benzersiz veri kimliği. başarılı udid bir Veri Yükleme çağrısından alınmış olmalıdır.

api-version
query True

string

Azure Haritalar API'sinin sürüm numarası.

description
query

string

Karşıya yüklemeye verilecek açıklama.

İstek Başlığı

Name Gerekli Tür Description
x-ms-client-id

string

Hangi hesabın Microsoft Entra ID güvenlik modeliyle birlikte kullanıma yönelik olduğunu belirtir. Azure Haritalar hesabı için benzersiz bir kimliği temsil eder ve Azure Haritalar yönetim düzlemi Hesap API'sinden alınabilir. Azure Haritalar'de Microsoft Entra ID güvenliği kullanmak için rehberlik için aşağıdaki makalelere bakın.

İstek Gövdesi

Name Tür Description
UpdateContent

object

Daha önce karşıya yüklenen içeriği güncelleştirecek/değiştirecek yeni içerik.

Yanıtlar

Name Tür Description
200 OK

LongRunningOperationResult

İşlem çalışıyor veya tamamlandı. İşlem başarılı olursa, sonucun yolunu elde etmek için Resource-Location üst bilgisini kullanın.

Headers

Resource-Location: string

202 Accepted

İstek Kabul Edildi: İstek işlenmek üzere kabul edildi. Durumu almak için lütfen Operation-Location Üst Bilgisindeki URL'yi kullanın.

Headers

Operation-Location: string

Other Status Codes

ErrorResponse

Azure Haritalar hesabında veri depolama sınırına ulaşılır. Eski/kullanılmayan içeriği silmek ve yeni karşıya yüklemeler için alan oluşturmak için istediğiniz zaman Veri Silme API'sini kullanabilirsiniz.

Other Status Codes

ErrorResponse

Beklenmeyen bir hata oluştu.

Güvenlik

AADToken

Bunlar Microsoft Entra OAuth 2.0 Akışlarıdır. Azure rol tabanlı erişim denetimiyle eşleştirildiğinde, Azure Haritalar REST API'lerine erişimi denetlemek için kullanılabilir. Azure rol tabanlı erişim denetimleri, bir veya daha fazla Azure Haritalar kaynak hesabına veya alt kaynağa erişim tanımlamak için kullanılır. Tüm kullanıcılara, gruplara veya hizmet sorumlularına yerleşik bir rol veya Azure Haritalar REST API'leri için bir veya daha fazla izinden oluşan özel bir rol aracılığıyla erişim verilebilir.

Senaryoları uygulamak için kimlik doğrulama kavramlarını görüntülemenizi öneririz. Özetle, bu güvenlik tanımı belirli API'ler ve kapsamlar üzerinde erişim denetimi yapabilen nesneler aracılığıyla uygulamaları modellemek için bir çözüm sağlar.

Notlar

  • Bu güvenlik tanımı, uygulamanın erişim istediği Azure Haritalar kaynağı belirtmek için üst bilgi kullanımını x-ms-client-idgerektirir. Bu, Haritalar yönetim API'sinden alınabilir.

Authorization URL, Azure genel bulut örneğine özgüdür. Bağımsız bulutların benzersiz Yetkilendirme URL'leri ve Microsoft Entra ID yapılandırmaları vardır. * Azure rol tabanlı erişim denetimi azure yönetim düzleminden Azure portal, PowerShell, CLI, Azure SDK'ları veya REST API'leri aracılığıyla yapılandırılır. * Azure Haritalar Web SDK'sının kullanımı, bir uygulamanın birden çok kullanım örneği için yapılandırma tabanlı kurulumuna olanak tanır.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Bu, Azure portal bir Azure Haritalar hesabı İçerik Oluşturucu veya PowerShell, CLI, Azure SDK'ları veya REST API'sini kullandığınızda sağlanan paylaşılan bir anahtardır.

Bu anahtarla, tüm uygulamalar tüm REST API'lere erişebilir. Başka bir deyişle, bu anahtar, verildikleri hesapta ana anahtar olarak kullanılabilir.

Herkese açık uygulamalar için, anahtarınızın güvenli bir şekilde depolanabilmesi için gizli istemci uygulamaları yaklaşımını kullanarak Azure Haritalar REST API'lerine erişmenizi öneririz.

Type: apiKey
In: query

SAS Token

Bu paylaşılan erişim imzası belirteci, Azure portal, PowerShell, CLI, Azure SDK'ları veya REST API'leri aracılığıyla Azure yönetim düzlemi aracılığıyla Azure Haritalar kaynağındaki SAS listeleme işleminden oluşturulur.

Bu belirteçle, tüm uygulamalar Azure rol tabanlı erişim denetimleri ve belirli bir belirteç için kullanım süre sonu, oran ve bölgeler için ayrıntılı denetim ile erişim yetkisine sahip olur. Başka bir deyişle SAS Belirteci, uygulamaların paylaşılan anahtardan daha güvenli bir şekilde erişimi denetlemesine izin vermek için kullanılabilir.

Herkese açık uygulamalar için önerimiz, işleme kötüye kullanımını sınırlamak ve SAS Belirtecini düzenli olarak yenilemek için Harita hesabı kaynağında izin verilen kaynakların belirli bir listesini yapılandırmayı önermektedir.

Type: apiKey
In: header

Örnekler

Update previously uploaded GeoJSON data containing geometries that represent a collection of geofences

Sample Request

PUT https://us.atlas.microsoft.com/mapData/25084fb7-307a-4720-8f91-7952a0b91012?api-version=2.0

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          -122.126986,
          47.639754
        ]
      },
      "properties": {
        "geometryId": "001",
        "radius": 500
      }
    }
  ]
}

Sample Response

Resource-Location: https://us.atlas.microsoft.com/mapData/3e36b996-f6d1-b068-0fcb-dd6b014c3447?api-version=2.0
{
  "operationId": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c",
  "created": "2021-04-20T22:43:14.9401559+00:00",
  "status": "Succeeded"
}
Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{operationId}?api-version=1.0
Access-Control-Expose-Headers: Operation-Location
{
  "error": {
    "code": "409 Conflict",
    "message": "The data storage limit is reached on the Azure Maps account. You can always use the Data Delete API to delete old/unused content and create space for new uploads."
  }
}

Tanımlar

Name Description
ErrorAdditionalInfo

Kaynak yönetimi hatası ek bilgileri.

ErrorDetail

Hata ayrıntısı.

ErrorResponse

Hata yanıtı

LongRunningOperationResult

Long-Running İşlemleri API'sinin yanıt modeli.

LroStatus

İsteğin durum durumu.

ErrorAdditionalInfo

Kaynak yönetimi hatası ek bilgileri.

Name Tür Description
info

object

Ek bilgiler.

type

string

Ek bilgi türü.

ErrorDetail

Hata ayrıntısı.

Name Tür Description
additionalInfo

ErrorAdditionalInfo[]

Hata ek bilgileri.

code

string

Hata kodu.

details

ErrorDetail[]

Hata ayrıntıları.

message

string

Hata iletisi.

target

string

Hata hedefi.

ErrorResponse

Hata yanıtı

Name Tür Description
error

ErrorDetail

Hata nesnesi.

LongRunningOperationResult

Long-Running İşlemleri API'sinin yanıt modeli.

Name Tür Description
created

string

Oluşturulan zaman damgası.

error

ErrorDetail

Hata ayrıntısı.

operationId

string

Bu uzun süre çalışan işlemin kimliği.

status

LroStatus

İsteğin durum durumu.

warning

ErrorDetail

Hata ayrıntısı.

LroStatus

İsteğin durum durumu.

Name Tür Description
Failed

string

İstekte bir veya daha fazla hata var.

NotStarted

string

İstek henüz işlemeye başlamadı.

Running

string

İstek işlemeye başladı.

Succeeded

string

İstek başarıyla tamamlandı.