Data - Update Preview

Permintaan Pembaruan memungkinkan penelepon memperbarui konten data yang sebelumnya diunggah menggunakan Pengunggah Data.
Berlaku untuk: Tingkat harga S1.

API Pembaruan Data memungkinkan pemanggil memperbarui konten data yang diunggah sebelumnya.

Anda dapat menggunakan API ini dalam skenario seperti menambahkan atau menghapus geofence ke atau dari kumpulan geofence yang ada. Geofence diunggah menggunakan API Pengunggahan Data, untuk digunakan dalam layanan Azure Maps Geofencing.

Harap dicatat bahwa API Pembaruan akan menggantikan dan mengambil alih konten data yang ada.

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 Pembaruan

Untuk memperbarui konten, Anda akan menggunakan PUT permintaan. Isi permintaan akan berisi data baru yang akan menggantikan data yang ada. Header Content-Type akan diatur ke jenis konten data, dan jalur akan berisi udid data yang akan diperbarui.

Misalnya, untuk memperbarui kumpulan geofence yang sebelumnya diunggah menggunakan API Unggah, tempatkan konten geofence baru di isi permintaan. Atur udid parameter di jalur ke udid data yang diterima sebelumnya dalam respons API unggahan. 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 memperbarui Geofence sederhana. Ini direpresentasikan 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
        }
    }]
}

Geofence yang diunggah sebelumnya memiliki radius 100m. Permintaan di atas akan memperbaruinya menjadi 500m.

API Pembaruan Data melakukan operasi jangka panjang.

Batas Pembaruan 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 API Penghapusan Data untuk menghapus konten lama/tidak digunakan dan membuat ruang untuk unggahan baru.

PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?api-version=1.0
PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?subscription-key={subscription-key}&api-version=1.0

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.

udid
path True

string

Id data unik untuk konten. udid harus diperoleh dari panggilan API Pengunggahan Data yang berhasil.

api-version
query True

string

Nomor versi API Azure Maps. Versi saat ini adalah 1.0

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
UpdateContent

object

Konten baru yang akan memperbarui/mengganti konten yang diunggah sebelumnya.

Respons

Nama Jenis Deskripsi
200 OK

ODataErrorResponse

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

201 Created

LongRunningOperationResult

Sumber daya telah 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 akun sumber daya atau sub-sumber daya Azure Maps. 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 pemodelan 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 meminta 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 diterbitkan.

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 fine-grain ke kedaluwarsa, tarif, 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 spesifik asal yang diizinkan pada sumber daya akun Peta untuk membatasi penyalahgunaan penyalahgunaan dan memperbarui Token SAS secara teratur.

Type: apiKey
In: header

Contoh

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?subscription-key=[subscription-key]&api-version=1.0

{
  "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"
}
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 Long-Running Operations API.

ODataError

Objek ini dikembalikan ketika terjadi kesalahan di API Azure Maps.

ODataErrorResponse

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

type

Status permintaan.

LongRunningOperationResult

Model respons untuk Long-Running Operations API.

Nama Jenis Deskripsi
created

string

Tanda waktu yang dibuat.

error

ODataError

Objek ini dikembalikan ketika terjadi kesalahan 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 terjadi kesalahan di API Azure Maps.

ODataError

Objek ini dikembalikan ketika terjadi kesalahan di API Azure Maps.

Nama Jenis Deskripsi
code

string

Kode ODataError.

details

ODataError[]

Objek ini dikembalikan ketika terjadi kesalahan 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 terjadi kesalahan 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.