Share via


Data - Update Preview

Die Updateanforderung ermöglicht dem Aufrufer das Aktualisieren von Dateninhalten, die zuvor mithilfe des Datenuploads hochgeladen wurden.
Gilt für: Tarif S1.

Mit der Datenupdate-API kann der Aufrufer einen zuvor hochgeladenen Dateninhalt aktualisieren.

Sie können diese API in einem Szenario wie dem Hinzufügen oder Entfernen von Geofences zu oder aus einer vorhandenen Sammlung von Geofences verwenden. Geofences werden mithilfe der Datenupload-API zur Verwendung im Azure Maps Geofencing Service hochgeladen.

Beachten Sie, dass die Update-API den vorhandenen Dateninhalt ersetzt und überschreibt .

Hinweis

Einstellung des Azure Maps-Datendiensts

Der Azure Maps-Datendienst (v1 und v2) ist jetzt veraltet und wird am 16.09.2024 eingestellt. Um Dienstunterbrechungen zu vermeiden, müssen alle Aufrufe des Datendiensts aktualisiert werden, um den Azure Maps Datenregistrierungsdienst bis zum 16.09.24 zu verwenden. Weitere Informationen finden Sie unter So erstellen Sie eine Datenregistrierung.

Übermitteln der Updateanforderung

Um Ihre Inhalte zu aktualisieren, verwenden Sie eine PUT Anforderung. Der Anforderungstext enthält die neuen Daten, die die vorhandenen Daten ersetzen. Der Content-Type Header wird auf den Inhaltstyp der Daten festgelegt, und der Pfad enthält den udid der zu aktualisierenden Daten.

Um beispielsweise eine Sammlung von Geofences zu aktualisieren, die zuvor mithilfe der Upload-API hochgeladen wurden, platzieren Sie den neuen Geofence-Inhalt im Anforderungstext. Legen Sie den udid Parameter im Pfad der Daten fest, die udid zuvor in der Upload-API-Antwort empfangen wurden. Legen Sie den Content-Type Header auf einen der folgenden Medientypen fest:

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

Im Folgenden finden Sie einen Beispielanforderungstext zum Aktualisieren eines einfachen Geofence-Vorgangs. Es wird als Kreisgeometrie mit einem Mittelpunkt und einem Radius dargestellt. Das folgende Beispiel ist in GeoJSON:

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

Der zuvor hochgeladene Geofence hatte einen Radius von 100m. Die obige Anforderung aktualisiert sie auf 500m.

Die Datenupdate-API führt einen Vorgang mit langer Ausführungsdauer aus.

Grenzwerte für Datenupdates

Bitte beachten Sie, dass derzeit für jedes Azure Maps Konto ein Datenspeicherlimit gilt. Sobald das Speicherlimit erreicht ist, geben alle neuen Upload-API-Aufrufe eine 409 Conflict HTTP-Fehlerantwort zurück. Sie können immer die Datenlösch-API verwenden, um alte/nicht verwendete Inhalte zu löschen und Speicherplatz für neue Uploads zu erstellen.

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

URI-Parameter

Name In Erforderlich Typ Beschreibung
geography
path True

string

Dieser Parameter gibt an, wo sich die Azure Maps Creator-Ressource befindet. Gültige Werte sind wir und eu.

udid
path True

string

Die eindeutige Daten-ID für den Inhalt. Der udid muss aus einem erfolgreichen Aufruf der Datenupload-API abgerufen worden sein.

api-version
query True

string

Versionsnummer der Azure Maps API. Aktuelle Version ist 1.0

subscription-key
query

string

Einer der Azure Maps-Schlüssel, die über ein Azure Map-Konto bereitgestellt werden. Weitere Informationen zum Verwalten der Authentifizierung finden Sie in diesem Artikel .

Anforderungsheader

Name Erforderlich Typ Beschreibung
x-ms-client-id

string

Gibt an, welches Konto für die Verwendung in Verbindung mit dem Microsoft Entra ID Sicherheitsmodell vorgesehen ist. Es stellt eine eindeutige ID für das Azure Maps-Konto dar und kann von der konto-API auf Azure Maps Verwaltungsebene abgerufen werden. Anleitungen zur Verwendung Microsoft Entra ID Sicherheit in Azure Maps finden Sie in den folgenden Artikeln.

Anforderungstext

Name Typ Beschreibung
UpdateContent

object

Der neue Inhalt, der den zuvor hochgeladenen Inhalt aktualisiert/ersetzt.

Antworten

Name Typ Beschreibung
200 OK

ODataErrorResponse

Fehler bei der Datenaktualisierung. Der hochgeladene Inhalt erfüllte nicht alle Überprüfungen. Der Antworttext enthält alle aufgetretenen Fehler.

201 Created

LongRunningOperationResult

Die Ressource wurde erfolgreich erstellt.

Headers

Location: string

202 Accepted

Wird nur für asynchrone Anforderungen unterstützt. Anforderung akzeptiert: Die Anforderung wurde zur Verarbeitung akzeptiert. Verwenden Sie die URL im Speicherortheader, um es erneut zu versuchen oder auf die Ergebnisse zuzugreifen.

Headers

Location: string

400 Bad Request

ODataErrorResponse

Ungültige Anforderung: Mindestens ein Parameter wurde fälschlicherweise angegeben oder schließen sich gegenseitig aus.

401 Unauthorized

ODataErrorResponse

Zugriff aufgrund eines ungültigen Abonnementschlüssels oder eines ungültigen Microsoft Entra ID Bearertokens verweigert. Stellen Sie sicher, dass Sie einen gültigen Schlüssel für ein aktives Azure-Abonnement und eine Maps-Ressource bereitstellen. Überprüfen Sie andernfalls den WWW-Authenticate-Header auf Fehlercode und Eine Beschreibung des bereitgestellten Microsoft Entra ID Bearertokens.

Headers

WWW-Authenticate: string

403 Forbidden

ODataErrorResponse

Berechtigungs-, Kapazitäts- oder Authentifizierungsprobleme.

404 Not Found

ODataErrorResponse

Nicht gefunden: Die angeforderte Ressource konnte nicht gefunden werden, ist aber möglicherweise in Zukunft wieder verfügbar.

500 Internal Server Error

ODataErrorResponse

Bei der Verarbeitung der Anforderung ist ein Fehler aufgetreten. Versuchen Sie es später noch mal.

Sicherheit

AADToken

Dies sind die Microsoft Entra OAuth 2.0 Flows. Wenn sie mit der rollenbasierten Zugriffssteuerung in Azure gekoppelt ist, kann sie verwendet werden, um den Zugriff auf Azure Maps REST-APIs zu steuern. Rollenbasierte Zugriffssteuerungen in Azure werden verwendet, um den Zugriff auf ein oder mehrere Azure Maps Ressourcenkonto oder Unterressourcen festzulegen. Jedem Benutzer, jeder Gruppe oder jedem Dienstprinzipal kann Zugriff über eine integrierte Rolle oder eine benutzerdefinierte Rolle gewährt werden, die aus einer oder mehreren Berechtigungen für Azure Maps REST-APIs besteht.

Zum Implementieren von Szenarien empfiehlt es sich, Authentifizierungskonzepte anzuzeigen. Zusammenfassend bietet diese Sicherheitsdefinition eine Lösung zum Modellieren von Anwendungen über Objekte, die auf bestimmte APIs und Bereiche zugreifen können.

Hinweise

  • Diese Sicherheitsdefinition erfordert die Verwendung des x-ms-client-id Headers, um anzugeben, auf welche Azure Maps Ressource die Anwendung Zugriff anfordert. Dies kann über die Kartenverwaltungs-API abgerufen werden.

Der Authorization URL ist spezifisch für die öffentliche Azure-Cloud-instance. Sovereign Clouds verfügen über eindeutige Autorisierungs-URLs und Microsoft Entra ID Konfigurationen. * Die rollenbasierte Zugriffssteuerung in Azure wird über die Azure-Verwaltungsebene über Azure-Portal, PowerShell, CLI, Azure SDKs oder REST-APIs konfiguriert. * Die Verwendung des Azure Maps Web SDK ermöglicht die konfigurationsbasierte Einrichtung einer Anwendung für mehrere Anwendungsfälle.

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

Scopes

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

subscription-key

Dies ist ein gemeinsam genutzter Schlüssel, der bereitgestellt wird, wenn Sie ein Azure Maps-Konto im Azure-Portal erstellen oder PowerShell, CLI, Azure SDKs oder REST-API verwenden.

Mit diesem Schlüssel kann jede Anwendung auf die gesamte REST-API zugreifen. Mit anderen Worten, dieser Schlüssel kann als master Schlüssel in dem Konto verwendet werden, in dem er ausgestellt wird.

Für öffentlich zugängliche Anwendungen wird empfohlen, den Ansatz vertraulicher Clientanwendungen zu verwenden, um auf Azure Maps REST-APIs zuzugreifen, damit Ihr Schlüssel sicher gespeichert werden kann.

Type: apiKey
In: query

SAS Token

Hierbei handelt es sich um ein Shared Access Signature Token, das aus dem Sas-Listenvorgang auf der Azure Maps-Ressource über die Azure-Verwaltungsebene über Azure-Portal, PowerShell, CLI, Azure SDKs oder REST-APIs erstellt wird.

Mit diesem Token ist jede Anwendung autorisiert, mit rollenbasierten Zugriffssteuerungen in Azure auf den Ablauf, die Rate und die Region(en) der Verwendung für das jeweilige Token zuzugreifen. Mit anderen Worten, das SAS-Token kann verwendet werden, um Anwendungen zu ermöglichen, den Zugriff auf eine sicherere Weise als der freigegebene Schlüssel zu steuern.

Für öffentlich zugängliche Anwendungen empfiehlt es sich, eine bestimmte Liste der zulässigen Ursprünge für die Zuordnungskontoressource zu konfigurieren, um den Renderingmissbrauch zu begrenzen und das SAS-Token regelmäßig zu erneuern.

Type: apiKey
In: header

Beispiele

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

Definitionen

Name Beschreibung
LongRunningOperationResult

Das Antwortmodell für eine Long-Running Operations-API.

ODataError

Dieses Objekt wird zurückgegeben, wenn ein Fehler in der Azure Maps-API auftritt.

ODataErrorResponse

Dieses Antwortobjekt wird zurückgegeben, wenn ein Fehler in der Azure Maps-API auftritt.

type

Der status Zustand der Anforderung.

LongRunningOperationResult

Das Antwortmodell für eine Long-Running Operations-API.

Name Typ Beschreibung
created

string

Der erstellte Zeitstempel.

error

ODataError

Dieses Objekt wird zurückgegeben, wenn ein Fehler in der Azure Maps-API auftritt.

operationId

string

Die ID für diesen Vorgang mit langer Ausführungsdauer.

resourceLocation

string

Der Speicherort-URI für Details zur erstellten Ressource. Dies wird nur bereitgestellt, wenn die Anforderung erfolgreich abgeschlossen wurde.

status

type

Der status Zustand der Anforderung.

warning

ODataError

Dieses Objekt wird zurückgegeben, wenn ein Fehler in der Azure Maps-API auftritt.

ODataError

Dieses Objekt wird zurückgegeben, wenn ein Fehler in der Azure Maps-API auftritt.

Name Typ Beschreibung
code

string

Der ODataError-Code.

details

ODataError[]

Dieses Objekt wird zurückgegeben, wenn ein Fehler in der Azure Maps-API auftritt.

message

string

Falls verfügbar, eine für Menschen lesbare Beschreibung des Fehlers.

target

string

Falls verfügbar, das Ziel, das den Fehler verursacht.

ODataErrorResponse

Dieses Antwortobjekt wird zurückgegeben, wenn ein Fehler in der Azure Maps-API auftritt.

Name Typ Beschreibung
error

ODataError

Dieses Objekt wird zurückgegeben, wenn ein Fehler in der Azure Maps-API auftritt.

type

Der status Zustand der Anforderung.

Name Typ Beschreibung
Failed

string

Die Anforderung weist mindestens einen Fehler auf.

NotStarted

string

Die Verarbeitung der Anforderung wurde noch nicht gestartet.

Running

string

Die Anforderung hat mit der Verarbeitung begonnen.

Succeeded

string

Die Anforderung wurde erfolgreich abgeschlossen.