Data - Upload Preview
Karşıya Yükleme isteği, çağıranın Azure Haritalar hesabına veri içeriği yüklemesine olanak tanır.
Şunlar için geçerlidir: S1 fiyatlandırma katmanı.
Veri Yükleme API'si, çağıranın veri içeriğini Azure Haritalar hizmetine yüklemesine olanak tanır.
Bu API'yi, Azure Haritalar Coğrafi Sınırlama Hizmetimizde kullanmak üzere bir Geofences GeoJSON
koleksiyonunu biçiminde karşıya yükleme gibi bir senaryoda kullanabilirsiniz.
Not
veri hizmetinin kullanımdan kaldırılmasını Azure Haritalar
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.
Karşıya Yükleme İsteği Gönder
İçeriğinizi karşıya yüklemek için bir POST
istek kullanacaksınız. İstek gövdesi karşıya yüklenecek verileri içerir. Üst Content-Type
bilgi, verilerin içerik türüne ayarlanır.
Örneğin, bir coğrafi GeoJSON
konumlar koleksiyonunu biçiminde karşıya yüklemek için istek gövdesini coğrafi konum içeriğine ayarlayın. Sorgu parametresini dataFormat
geojson olarak ayarlayın ve üst bilgiyi aşağıdaki medya türlerinden birine ayarlayın Content-Type
:
application/json
application/vnd.geo+json
application/octet-stream
Burada, merkez noktası ve yarıçap kullanarak daire geometrisi olarak temsil edilen basit bir Geofence'i karşıya yüklemek için örnek bir istek gövdesi verilmiştir. 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
}
}]
}
Veri Yükleme API'si uzun süre çalışan bir işlem gerçekleştirir.
Veri Yükleme 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'leri bir 409 Conflict
http 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 her zaman Veri Silme API'sini kullanabilirsiniz.
POST https://{geography}.atlas.microsoft.com/mapData/upload?api-version=1.0&dataFormat={dataFormat}
POST https://{geography}.atlas.microsoft.com/mapData/upload?subscription-key={subscription-key}&api-version=1.0&dataFormat={dataFormat}
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. |
api-version
|
query | True |
string |
Azure Haritalar API'sinin sürüm numarası. Geçerli sürüm 1.0 |
data
|
query | True |
Karşıya yüklenen içeriğin veri biçimi. |
|
subscription-key
|
query |
string |
Azure Map Hesabından sağlanan Azure Haritalar anahtarlarından biri. Kimlik doğrulamasını yönetme hakkında ayrıntılı bilgi için lütfen bu makaleye bakın. |
İ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 Microsoft Entra ID güvenliğini kullanmak için kılavuz için aşağıdaki makalelere bakın. |
İstek Gövdesi
Name | Tür | Description |
---|---|---|
UploadContent |
object |
Karşıya yüklenecek içerik. |
Yanıtlar
Name | Tür | Description |
---|---|---|
200 OK |
Veri karşıya yüklenemedi. Karşıya yüklenen içerik tüm doğrulama denetimlerini karşılamadı. Yanıt gövdesi, karşılaşılan tüm hataları içerir. |
|
201 Created |
Kaynak başarıyla oluşturuldu. Headers Location: string |
|
202 Accepted |
Yalnızca zaman uyumsuz istek için desteklenir. İstek Kabul Edildi: İstek işlenmek üzere kabul edildi. Sonuçlara yeniden denemek veya erişmek için lütfen Konum Üst Bilgisindeki URL'yi kullanın. Headers Location: string |
|
400 Bad Request |
Hatalı istek: Bir veya daha fazla parametre yanlış belirtildi veya birbirini dışlar. |
|
401 Unauthorized |
Geçersiz abonelik anahtarı veya geçersiz Microsoft Entra ID taşıyıcı belirteci nedeniyle erişim reddedildi. Etkin bir Azure aboneliği ve Haritalar kaynağı için geçerli bir anahtar sağladığıdan emin olun. Aksi takdirde, sağlanan Microsoft Entra ID taşıyıcı belirtecinin hata kodu ve açıklaması için WWW-Authenticate üst bilgisini doğrulayın. Headers WWW-Authenticate: string |
|
403 Forbidden |
İzin, kapasite veya kimlik doğrulaması sorunları. |
|
404 Not Found |
Bulunamadı: İstenen kaynak bulunamadı, ancak gelecekte yeniden kullanılabilir olabilir. |
|
500 Internal Server Error |
İstek işlenirken bir hata oluştu. Lütfen daha sonra yeniden deneyin. |
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ğına erişimi tanımlamak için kullanılır. Herhangi bir kullanıcı, grup veya hizmet sorumlusuna yerleşik bir rol veya REST API'lerini Azure Haritalar 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ı modellemeye yönelik bir çözüm sağlar.
Notlar
- Bu güvenlik tanımı, uygulamanın erişim isteğinde
x-ms-client-id
bulunduğu Azure Haritalar kaynağı belirtmek için üst bilginin kullanılmasını gerektirir. Bu, Haritalar yönetim API'sinden edinilebilir.
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 portal, PowerShell, CLI, Azure SDK'ları veya REST API'leri aracılığıyla Azure yönetim düzleminden 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.
- Microsoft kimlik platformu hakkında daha fazla bilgi için bkz. Microsoft kimlik platformu genel bakış.
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 Azure Haritalar hesabı oluşturduğunuzda veya PowerShell, CLI, Azure SDK'ları veya REST API 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 belirtecin kullanım süresi, oranı ve bölgelerine yönelik ayrıntılı denetim ile erişim yetkisine sahip olur. Başka bir deyişle SAS Belirteci, uygulamaların erişimi paylaşılan anahtardan daha güvenli bir şekilde denetlemesine izin vermek için kullanılabilir.
Herkese açık uygulamalar için önerimiz, uygunsuz işlemeyi 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ırmanızdır.
Type:
apiKey
In:
header
Örnekler
Upload GeoJSON data containing geometries that represent a collection of geofences
Sample Request
POST https://us.atlas.microsoft.com/mapData/upload?subscription-key=[subscription-key]&api-version=1.0&dataFormat=geojson
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
-122.126986,
47.639754
]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}
]
}
Sample Response
Location: https://atlas.microsoft.com/mapData/metadata/{udid}?api-version=1.0
Access-Control-Expose-Headers: Location
{
"operationId": "{operationId}",
"status": "Succeeded",
"created": "2020-01-02 1:02:03 AM +00:00",
"resourceLocation": "https://atlas.microsoft.com/mapData/metadata/{resourceId}?api-version=1.0"
}
operation-Location: https://atlas.microsoft.com/mapData/operations/{operationId}?api-version=1.0
Access-Control-Expose-Headers: Location
{
"error": {
"code": "400 Bad Request",
"message": "Upload request failed. Your data has been removed as we encountered the following problems with it: Map data is not a valid GeoJSON geometry."
}
}
{
"error": {
"code": "400 BadRequest",
"message": "Bad request: one or more parameters were incorrectly specified or are mutually exclusive."
}
}
{
"error": {
"code": "401 Unauthorized",
"message": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
}
}
{
"error": {
"code": "403 Forbidden",
"message": "Permission, capacity, or authentication issues."
}
}
{
"error": {
"code": "404 NotFound",
"message": "Not Found: the requested resource could not be found, but it may be available again in the future."
}
}
{
"error": {
"code": "500 InternalServerError",
"message": "An error occurred while processing the request. Please try again later."
}
}
Tanımlar
Name | Description |
---|---|
Long |
Long-Running İşlemler API'sinin yanıt modeli. |
OData |
bu nesne, Azure Haritalar API'sinde bir hata oluştuğunda döndürülür. |
OData |
Bu yanıt nesnesi, Azure Haritalar API'sinde bir hata oluştuğunda döndürülür. |
type |
İsteğin durum durumu. |
Upload |
Karşıya yüklenen içeriğin veri biçimi. |
LongRunningOperationResult
Long-Running İşlemler API'sinin yanıt modeli.
Name | Tür | Description |
---|---|---|
created |
string |
Oluşturulan zaman damgası. |
error |
bu nesne, Azure Haritalar API'sinde bir hata oluştuğunda döndürülür. |
|
operationId |
string |
Bu uzun süre çalışan işlemin kimliği. |
resourceLocation |
string |
Oluşturulan kaynakla ilgili ayrıntılar için konum URI'si. Bu yalnızca istek başarıyla tamamlandığında sağlanır. |
status |
İsteğin durum durumu. |
|
warning |
bu nesne, Azure Haritalar API'sinde bir hata oluştuğunda döndürülür. |
ODataError
bu nesne, Azure Haritalar API'sinde bir hata oluştuğunda döndürülür.
Name | Tür | Description |
---|---|---|
code |
string |
ODataError kodu. |
details |
bu nesne, Azure Haritalar API'sinde bir hata oluştuğunda döndürülür. |
|
message |
string |
Varsa, hatanın insanlar tarafından okunabilen bir açıklamasıdır. |
target |
string |
Varsa, hataya neden olan hedef. |
ODataErrorResponse
Bu yanıt nesnesi, Azure Haritalar API'sinde bir hata oluştuğunda döndürülür.
Name | Tür | Description |
---|---|---|
error |
bu nesne, Azure Haritalar API'sinde bir hata oluştuğunda döndürülür. |
type
İ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ı. |
UploadDataFormat
Karşıya yüklenen içeriğin veri biçimi.
Name | Tür | Description |
---|---|---|
geojson |
string |
GeoJSON , JSON tabanlı bir jeo-uzamsal veri değişim biçimidir. |
zip |
string |
Sıkıştırılmış veri biçimi. |