Share via


Data - Upload Preview

Die Upload-Anforderung ermöglicht es dem Aufrufer, Dateninhalte in sein Azure Maps-Konto hochzuladen.
Gilt für: S1-Tarif.

Die Datenupload-API ermöglicht es dem Aufrufer, Dateninhalte in den Azure Maps-Dienst hochzuladen. Sie können diese API in einem Szenario wie dem Hochladen einer Sammlung von Geofences im GeoJSON Format zur Verwendung in unserem Azure Maps Geofencing Service verwenden.

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.

Upload-Anforderung übermitteln

Um Ihre Inhalte hochzuladen, verwenden Sie eine POST Anforderung. Der Anforderungstext enthält die hochzuladenden Daten. Der Content-Type Header wird auf den Inhaltstyp der Daten festgelegt.

Um beispielsweise eine Sammlung von Geofences im GeoJSON Format hochzuladen, legen Sie den Anforderungstext auf den Geofenceinhalt fest. Legen Sie den dataFormat Abfrageparameter auf geojson fest, und 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 Hochladen eines einfachen Geofence, der als Kreisgeometrie mit einem Mittelpunkt und einem Radius dargestellt wird. Das folgende Beispiel ist in GeoJSON:

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

Die Datenupload-API führt einen lang andauernden Vorgang aus.

Grenzwerte für Datenuploads

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 jederzeit die Datenlösch-API verwenden, um alte/nicht verwendete Inhalte zu löschen und Speicherplatz für neue Uploads zu schaffen.

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-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 "us" und "eu".

api-version
query True

string

Versionsnummer der Azure Maps API. Aktuelle Version ist 1.0.

dataFormat
query True

UploadDataFormat

Datenformat des hochgeladenen Inhalts.

subscription-key
query

string

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

Anforderungsheader

Name Erforderlich Typ Beschreibung
x-ms-client-id

string

Gibt an, welches Konto in Verbindung mit dem Microsoft Entra ID-Sicherheitsmodell verwendet werden soll. Es stellt eine eindeutige ID für das Azure Maps-Konto dar und kann von der Azure Maps-Verwaltungsebenen-API abgerufen werden. Informationen zur Verwendung Microsoft Entra ID Sicherheit in Azure Maps finden Sie in den folgenden Artikeln.

Anforderungstext

Name Typ Beschreibung
UploadContent

object

Der hochzuladende Inhalt.

Antworten

Name Typ Beschreibung
200 OK

ODataErrorResponse

Fehler beim Datenupload. 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 für die Verarbeitung akzeptiert. Verwenden Sie die URL im Location Header, um einen Wiederholungsversuch zu versuchen oder auf die Ergebnisse zuzugreifen.

Headers

Location: string

400 Bad Request

ODataErrorResponse

Ungültige Anforderung: Mindestens ein Parameter wurde falsch angegeben oder schließt sich gegenseitig aus.

401 Unauthorized

ODataErrorResponse

Zugriff verweigert aufgrund eines ungültigen Abonnementschlüssels oder eines ungültigen Microsoft Entra ID Bearertokens. Stellen Sie sicher, dass Sie einen gültigen Schlüssel für ein aktives Azure-Abonnement und eine Maps-Ressource angeben. Überprüfen Sie andernfalls den WWW-Authenticate-Header auf Fehlercode und 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 in Zukunft möglicherweise 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. In Kombination mit der rollenbasierten Zugriffssteuerung in Azure 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 einem 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.

Zur Implementierung von Szenarien wird empfohlen, Authentifizierungskonzepte anzuzeigen. Zusammenfassend bietet diese Sicherheitsdefinition eine Lösung zum Modellieren von Anwendungen über Objekte, die die Zugriffssteuerung für bestimmte APIs und Bereiche ermöglichen.

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.

ist Authorization URL spezifisch für die öffentliche Azure-Cloud instance. Sovereign Clouds verfügen über eindeutige Autorisierungs-URLs und Microsoft Entra ID Konfigurationen. * Die rollenbasierte Zugriffssteuerung von 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 verwendeter Schlüssel, der beim Erstellen eines Azure Maps-Kontos im Azure-Portal oder mithilfe von PowerShell, CLI, Azure SDKs oder REST-API bereitgestellt wird.

Mit diesem Schlüssel kann jede Anwendung auf die gesamte REST-API zugreifen. Anders ausgedrückt: 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 für den Zugriff auf Azure Maps REST-APIs zu verwenden, damit Ihr Schlüssel sicher gespeichert werden kann.

Type: apiKey
In: query

SAS Token

Dies ist 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 für den Zugriff mit rollenbasierten Azure-Zugriffssteuerungen und einer präzisen Steuerung des Ablaufs, der Rate und der Regionen für das jeweilige Token autorisiert. Anders ausgedrückt: Das SAS-Token kann verwendet werden, um Anwendungen die Steuerung des Zugriffs auf eine sicherere Weise zu ermöglichen als der gemeinsam genutzte Schlüssel.

Für öffentlich verfügbar gemachte Anwendungen wird empfohlen, eine bestimmte Liste der zulässigen Ursprünge in der Ressource "Konto zuordnen " zu konfigurieren, um den Renderingmissbrauch zu begrenzen und das SAS-Token regelmäßig zu erneuern.

Type: apiKey
In: header

Beispiele

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

Definitionen

Name Beschreibung
LongRunningOperationResult

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

ODataError

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

ODataErrorResponse

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

type

Der status Status der Anforderung.

UploadDataFormat

Datenformat des hochgeladenen Inhalts.

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 in der Azure Maps-API ein Fehler auftritt.

operationId

string

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

resourceLocation

string

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

status

type

Der status Status der Anforderung.

warning

ODataError

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

ODataError

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

Name Typ Beschreibung
code

string

Der ODataError-Code.

details

ODataError[]

Dieses Objekt wird zurückgegeben, wenn in der Azure Maps-API ein Fehler 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 in der Azure Maps-API ein Fehler auftritt.

Name Typ Beschreibung
error

ODataError

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

type

Der status Status der Anforderung.

Name Typ Beschreibung
Failed

string

Die Anforderung weist einen oder mehrere Fehler auf.

NotStarted

string

Die Verarbeitung der Anforderung wurde noch nicht gestartet.

Running

string

Die Verarbeitung der Anforderung wurde gestartet.

Succeeded

string

Die Anforderung wurde erfolgreich abgeschlossen.

UploadDataFormat

Datenformat des hochgeladenen Inhalts.

Name Typ Beschreibung
geojson

string

GeoJSON ist ein JSON-basiertes Geodatenaustauschformat.

zip

string

Komprimiertes Datenformat.