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. |
data
|
query | True |
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 |
Fehler beim Datenupload. Der hochgeladene Inhalt erfüllte nicht alle Überprüfungen. Der Antworttext enthält alle aufgetretenen Fehler. |
|
201 Created |
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 |
Ungültige Anforderung: Mindestens ein Parameter wurde falsch angegeben oder schließt sich gegenseitig aus. |
|
401 Unauthorized |
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 |
Berechtigungs-, Kapazitäts- oder Authentifizierungsprobleme. |
|
404 Not Found |
Nicht gefunden: Die angeforderte Ressource konnte nicht gefunden werden, ist aber in Zukunft möglicherweise wieder verfügbar. |
|
500 Internal Server Error |
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.
- Weitere Informationen zu Microsoft Identity Platform finden Sie unter Microsoft Identity Platform Übersicht.
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 |
---|---|
Long |
Das Antwortmodell für eine Long-Running Operations-API. |
OData |
Dieses Objekt wird zurückgegeben, wenn in der Azure Maps-API ein Fehler auftritt. |
OData |
Dieses Antwortobjekt wird zurückgegeben, wenn in der Azure Maps-API ein Fehler auftritt. |
type |
Der status Status der Anforderung. |
Upload |
Datenformat des hochgeladenen Inhalts. |
LongRunningOperationResult
Das Antwortmodell für eine Long-Running Operations-API.
Name | Typ | Beschreibung |
---|---|---|
created |
string |
Der erstellte Zeitstempel. |
error |
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 |
Der status Status der Anforderung. |
|
warning |
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 |
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 |
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. |