Data - Upload Preview

Permintaan Unggah memungkinkan pemanggil mengunggah konten data ke akun Azure Maps mereka.
Berlaku untuk: Tingkat harga S1.

API Unggah Data memungkinkan pemanggil mengunggah konten data ke layanan Azure Maps. Anda dapat menggunakan API ini dalam skenario seperti mengunggah kumpulan Geofences dalam GeoJSON format, untuk digunakan dalam Azure Maps Geofencing Service kami.

Catatan

Azure Maps Penghentian layanan data

Layanan Azure Maps Data (v1 dan v2) sekarang tidak digunakan lagi dan akan dihentikan pada 16/9/24. Untuk menghindari gangguan layanan, semua panggilan ke layanan Data perlu diperbarui untuk menggunakan layanan Azure Maps Data Registry sebesar 16/9/24. Untuk informasi selengkapnya, lihat Cara membuat registri data.

Kirim Permintaan Unggahan

Untuk mengunggah konten, Anda akan menggunakan POST permintaan. Isi permintaan akan berisi data yang akan diunggah. Header Content-Type akan diatur ke jenis konten data.

Misalnya, untuk mengunggah kumpulan geofence dalam GeoJSON format, atur isi permintaan ke konten geofence. dataFormat Atur parameter kueri ke geojson, dan atur Content-Type header ke salah satu jenis media berikut:

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

Berikut adalah isi permintaan sampel untuk mengunggah Geofence sederhana yang ditampilkan sebagai geometri lingkaran menggunakan titik tengah dan radius. Sampel di bawah ini ada di GeoJSON:

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

API Pengunggah Data melakukan operasi jangka panjang.

Batas Unggahan Data

Perlu diketahui bahwa saat ini setiap akun Azure Maps memiliki batas penyimpanan data. Setelah batas penyimpanan tercapai, semua panggilan API unggahan baru akan mengembalikan 409 Conflict respons kesalahan http. Anda selalu dapat menggunakan DATA Delete API untuk menghapus konten lama/tidak digunakan dan membuat ruang untuk unggahan baru.

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}

Parameter URI

Nama Dalam Diperlukan Jenis Deskripsi
geography
path True

string

Parameter ini menentukan lokasi sumber daya Azure Maps Creator. Nilai yang valid adalah kita dan Uni Eropa.

api-version
query True

string

Nomor versi API Azure Maps. Versi saat ini adalah 1.0

dataFormat
query True

UploadDataFormat

Format data konten yang sedang diunggah.

subscription-key
query

string

Salah satu kunci Azure Maps yang disediakan dari Akun Azure Maps. Silakan lihat artikel ini untuk detail tentang cara mengelola autentikasi.

Header Permintaan

Nama Diperlukan Jenis Deskripsi
x-ms-client-id

string

Menentukan akun mana yang ditujukan untuk penggunaan bersama dengan model keamanan Microsoft Entra ID. Ini mewakili ID unik untuk akun Azure Maps dan dapat diambil dari API Akun bidang manajemen Azure Maps. Untuk menggunakan keamanan Microsoft Entra ID di Azure Maps lihat artikel berikut untuk panduan.

Isi Permintaan

Nama Jenis Deskripsi
UploadContent

object

Konten yang akan diunggah.

Respons

Nama Jenis Deskripsi
200 OK

ODataErrorResponse

Pengunggahan data gagal. Konten yang diunggah tidak memenuhi semua pemeriksaan validasi. Isi respons berisi semua kesalahan yang ditemui.

201 Created

LongRunningOperationResult

Sumber daya berhasil dibuat.

Headers

Location: string

202 Accepted

Hanya didukung untuk permintaan asinkron. Permintaan Diterima: Permintaan telah diterima untuk diproses. Silakan gunakan URL di Header Lokasi untuk mencoba kembali atau mengakses hasilnya.

Headers

Location: string

400 Bad Request

ODataErrorResponse

Permintaan buruk: satu atau beberapa parameter salah ditentukan atau saling eksklusif.

401 Unauthorized

ODataErrorResponse

Akses ditolak karena kunci langganan tidak valid atau token pembawa Microsoft Entra ID tidak valid. Pastikan untuk menyediakan kunci yang valid untuk langganan Azure aktif dan sumber daya Maps. Jika tidak, verifikasi header WWW-Authenticate untuk kode kesalahan dan deskripsi token pembawa Microsoft Entra ID yang disediakan.

Headers

WWW-Authenticate: string

403 Forbidden

ODataErrorResponse

Masalah izin, kapasitas, atau autentikasi.

404 Not Found

ODataErrorResponse

Tidak Ditemukan: sumber daya yang diminta tidak dapat ditemukan, tetapi mungkin tersedia lagi di masa mendatang.

500 Internal Server Error

ODataErrorResponse

Terjadi kesalahan saat memproses permintaan ini. Coba lagi nanti.

Keamanan

AADToken

Ini adalah Alur OAuth 2.0 Microsoft Entra. Saat dipasangkan dengan kontrol akses berbasis peran Azure, kontrol akses tersebut dapat digunakan untuk mengontrol akses ke Azure Maps REST API. Kontrol akses berbasis peran Azure digunakan untuk menunjuk akses ke satu atau beberapa Azure Maps akun sumber daya atau sub-sumber daya. Setiap pengguna, grup, atau perwakilan layanan dapat diberikan akses melalui peran bawaan atau peran kustom yang terdiri dari satu atau beberapa izin untuk Azure Maps REST API.

Untuk menerapkan skenario, sebaiknya lihat konsep autentikasi. Singkatnya, definisi keamanan ini menyediakan solusi untuk memodelkan aplikasi melalui objek yang mampu mengontrol akses pada API dan cakupan tertentu.

Catatan

  • Definisi keamanan ini memerlukan penggunaan x-ms-client-id header untuk menunjukkan sumber daya Azure Maps mana yang diminta akses aplikasi. Ini dapat diperoleh dari API manajemen Maps.

Authorization URL khusus untuk instans cloud publik Azure. Sovereign cloud memiliki URL Otorisasi yang unik dan konfigurasi Microsoft Entra ID. * Kontrol akses berbasis peran Azure dikonfigurasi dari bidang manajemen Azure melalui portal Azure, PowerShell, CLI, Azure SDK, atau REST API. * Penggunaan Azure Maps Web SDK memungkinkan penyiapan berbasis konfigurasi aplikasi untuk beberapa kasus penggunaan.

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

Scopes

Nama Deskripsi
https://atlas.microsoft.com/.default https://atlas.microsoft.com/.default

subscription-key

Ini adalah kunci bersama yang disediakan saat Anda Membuat akun Azure Maps di portal Azure atau menggunakan PowerShell, CLI, Azure SDK, atau REST API.

Dengan kunci ini, aplikasi apa pun dapat mengakses semua REST API. Dengan kata lain, kunci ini dapat digunakan sebagai kunci master di akun tempat kunci tersebut dikeluarkan.

Untuk aplikasi yang diekspos secara publik, rekomendasi kami adalah menggunakan pendekatan aplikasi klien rahasia untuk mengakses Azure Maps REST API sehingga kunci Anda dapat disimpan dengan aman.

Type: apiKey
In: query

SAS Token

Ini adalah token tanda tangan akses bersama dibuat dari operasi Daftar SAS pada sumber daya Azure Maps melalui bidang manajemen Azure melalui portal Azure, PowerShell, CLI, Azure SDK, atau REST API.

Dengan token ini, aplikasi apa pun berwenang untuk mengakses dengan kontrol akses berbasis peran Azure dan kontrol halus ke kedaluwarsa, laju, dan wilayah penggunaan untuk token tertentu. Dengan kata lain, Token SAS dapat digunakan untuk memungkinkan aplikasi mengontrol akses dengan cara yang lebih aman daripada kunci bersama.

Untuk aplikasi yang diekspos secara publik, rekomendasi kami adalah mengonfigurasi daftar asal tertentu yang diizinkan di sumber daya akun Peta untuk membatasi penyalahgunaan penyalahgunaan dan memperbarui Token SAS secara teratur.

Type: apiKey
In: header

Contoh

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."
  }
}

Definisi

Nama Deskripsi
LongRunningOperationResult

Model respons untuk API Operasi Long-Running.

ODataError

Objek ini dikembalikan ketika kesalahan terjadi di API Azure Maps.

ODataErrorResponse

Objek respons ini dikembalikan ketika kesalahan terjadi di API Azure Maps.

type

Status permintaan.

UploadDataFormat

Format data konten yang sedang diunggah.

LongRunningOperationResult

Model respons untuk API Operasi Long-Running.

Nama Jenis Deskripsi
created

string

Tanda waktu yang dibuat.

error

ODataError

Objek ini dikembalikan ketika kesalahan terjadi di API Azure Maps.

operationId

string

Id untuk operasi jangka panjang ini.

resourceLocation

string

URI lokasi untuk detail tentang sumber daya yang dibuat. Ini hanya disediakan ketika permintaan berhasil diselesaikan.

status

type

Status permintaan.

warning

ODataError

Objek ini dikembalikan ketika kesalahan terjadi di API Azure Maps.

ODataError

Objek ini dikembalikan ketika kesalahan terjadi di API Azure Maps.

Nama Jenis Deskripsi
code

string

Kode ODataError.

details

ODataError[]

Objek ini dikembalikan ketika kesalahan terjadi di API Azure Maps.

message

string

Jika tersedia, deskripsi kesalahan yang dapat dibaca manusia.

target

string

Jika tersedia, target menyebabkan kesalahan.

ODataErrorResponse

Objek respons ini dikembalikan ketika kesalahan terjadi di API Azure Maps.

Nama Jenis Deskripsi
error

ODataError

Objek ini dikembalikan ketika kesalahan terjadi di API Azure Maps.

type

Status permintaan.

Nama Jenis Deskripsi
Failed

string

Permintaan memiliki satu atau beberapa kegagalan.

NotStarted

string

Permintaan belum mulai diproses.

Running

string

Permintaan telah mulai diproses.

Succeeded

string

Permintaan berhasil diselesaikan.

UploadDataFormat

Format data konten yang sedang diunggah.

Nama Jenis Deskripsi
geojson

string

GeoJSON adalah format pertukaran data geospasial berbasis JSON.

zip

string

Format data terkompresi.