Share via


Data - Upload Preview

Met de uploadaanvraag kan de beller gegevensinhoud uploaden naar zijn Azure Maps-account.
Van toepassing op: Prijscategorie S1.

Met de API voor het uploaden van gegevens kan de aanroeper gegevensinhoud uploaden naar de Azure Maps-service. U kunt deze API gebruiken in een scenario zoals het uploaden van een verzameling Geofences in GeoJSON indeling, voor gebruik in onze Azure Maps Geofencing Service.

Notitie

buitengebruikstelling van Azure Maps Data Service

De Azure Maps Data-service (zowel v1 als v2) is nu afgeschaft en wordt op 16-9-24 buiten gebruik gesteld. Om serviceonderbrekingen te voorkomen, moeten alle aanroepen naar de gegevensservice worden bijgewerkt om de Azure Maps Data Registry-service te gebruiken voor 24-9-09. Zie Gegevensregister maken voor meer informatie.

Uploadaanvraag indienen

Als u uw inhoud wilt uploaden, gebruikt u een POST aanvraag. De hoofdtekst van de aanvraag bevat de gegevens die moeten worden geüpload. De Content-Type header wordt ingesteld op het inhoudstype van de gegevens.

Als u bijvoorbeeld een verzameling geofences in indeling wilt uploaden, stelt u de aanvraagbody in GeoJSON op de geofence-inhoud. Stel de dataFormat queryparameter in op geojson en stel de Content-Type header in op een van de volgende mediatypen:

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

Hier volgt een voorbeeld van een aanvraagtekst voor het uploaden van een eenvoudige Geofence die wordt weergegeven als een cirkelgeometrie met behulp van een middelpunt en een straal. Het onderstaande voorbeeld is in GeoJSON:

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

De API voor het uploaden van gegevens voert een langdurige bewerking uit.

Limieten voor het uploaden van gegevens

Houd er rekening mee dat momenteel elke Azure Maps account een limiet voor gegevensopslag heeft. Zodra de opslaglimiet is bereikt, retourneren alle nieuwe upload-API-aanroepen een 409 Conflict HTTP-foutreactie. U kunt altijd de Api voor het verwijderen van gegevens gebruiken om oude/ongebruikte inhoud te verwijderen en ruimte te maken voor nieuwe uploads.

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-parameters

Name In Vereist Type Description
geography
path True

string

Deze parameter geeft aan waar de resource Azure Maps Creator zich bevindt. Geldige waarden zijn wij en eu.

api-version
query True

string

Versienummer van Azure Maps API. Huidige versie is 1.0

dataFormat
query True

UploadDataFormat

Gegevensindeling van de inhoud die wordt geüpload.

subscription-key
query

string

Een van de Azure Maps sleutels die zijn opgegeven vanuit een Azure Map-account. Raadpleeg dit artikel voor meer informatie over het beheren van verificatie.

Aanvraagkoptekst

Name Vereist Type Description
x-ms-client-id

string

Hiermee geeft u op welk account is bedoeld voor gebruik in combinatie met het Microsoft Entra ID-beveiligingsmodel. Het vertegenwoordigt een unieke id voor het Azure Maps-account en kan worden opgehaald uit de Azure Maps beheervlak Account-API. Als u Microsoft Entra ID beveiliging wilt gebruiken in Azure Maps raadpleegt u de volgende artikelen voor hulp.

Aanvraagbody

Name Type Description
UploadContent

object

De inhoud die moet worden geüpload.

Antwoorden

Name Type Description
200 OK

ODataErrorResponse

Het uploaden van gegevens is mislukt. De geüploade inhoud voldoet niet aan alle validatiecontroles. De hoofdtekst van het antwoord bevat alle fouten die zijn opgetreden.

201 Created

LongRunningOperationResult

De resource is gemaakt.

Headers

Location: string

202 Accepted

Alleen ondersteund voor asynchrone aanvragen. Aanvraag geaccepteerd: de aanvraag is geaccepteerd voor verwerking. Gebruik de URL in de Locatieheader om de resultaten opnieuw te proberen of te openen.

Headers

Location: string

400 Bad Request

ODataErrorResponse

Ongeldige aanvraag: een of meer parameters zijn onjuist opgegeven of sluiten elkaar uit.

401 Unauthorized

ODataErrorResponse

Toegang geweigerd vanwege een ongeldige abonnementssleutel of ongeldig Microsoft Entra ID Bearer-token. Zorg ervoor dat u een geldige sleutel opgeeft voor een actief Azure-abonnement en Kaarten-resource. Controleer anders de WWW-Authenticate-header op foutcode en beschrijving van het opgegeven Microsoft Entra ID bearer-token.

Headers

WWW-Authenticate: string

403 Forbidden

ODataErrorResponse

Machtigings-, capaciteits- of verificatieproblemen.

404 Not Found

ODataErrorResponse

Niet gevonden: de aangevraagde resource kan niet worden gevonden, maar is in de toekomst mogelijk weer beschikbaar.

500 Internal Server Error

ODataErrorResponse

Er is een fout opgetreden tijdens het verwerken van de aanvraag. Probeert u het later nog eens.

Beveiliging

AADToken

Dit zijn de Microsoft Entra OAuth 2.0-stromen. Wanneer het is gekoppeld aan op rollen gebaseerd toegangsbeheer van Azure, kan het worden gebruikt om de toegang tot Azure Maps REST API's te beheren. Op rollen gebaseerd toegangsbeheer van Azure wordt gebruikt om toegang tot een of meer Azure Maps resourceaccount of subresources aan te wijzen. Elke gebruiker, groep of service-principal kan toegang krijgen via een ingebouwde rol of een aangepaste rol die bestaat uit een of meer machtigingen voor Azure Maps REST API's.

Voor het implementeren van scenario's raden we u aan verificatieconcepten te bekijken. Samengevat biedt deze beveiligingsdefinitie een oplossing voor het modelleren van toepassingen via objecten die toegangsbeheer kunnen hebben voor specifieke API's en bereiken.

Notities

  • Voor deze beveiligingsdefinitie is het gebruik van de x-ms-client-id header vereist om aan te geven tot welke Azure Maps resource de toepassing toegang aanvraagt. Dit kan worden verkregen via de Kaarten-beheer-API.

De Authorization URL is specifiek voor het azure-exemplaar van de openbare cloud. Onafhankelijke clouds hebben unieke autorisatie-URL's en Microsoft Entra ID configuraties. * Op rollen gebaseerd toegangsbeheer van Azure wordt geconfigureerd vanuit het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's. * Gebruik van de Azure Maps Web SDK maakt configuratie van een toepassing mogelijk voor meerdere gebruiksvoorbeelden.

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

Scopes

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

subscription-key

Dit is een gedeelde sleutel die wordt ingericht wanneer u een Azure Maps-account maakt in de Azure Portal of met behulp van PowerShell, CLI, Azure SDK's of REST API.

Met deze sleutel heeft elke toepassing toegang tot alle REST API's. Met andere woorden, deze sleutel kan worden gebruikt als een hoofdsleutel in het account waarin ze zijn uitgegeven.

Voor openbaar beschikbare toepassingen wordt aanbevolen om de benadering van vertrouwelijke clienttoepassingen te gebruiken voor toegang tot Azure Maps REST API's, zodat uw sleutel veilig kan worden opgeslagen.

Type: apiKey
In: query

SAS Token

Dit is een Shared Access Signature-token dat is gemaakt op basis van de SAS-bewerking List op de Azure Maps resource via het Azure-beheervlak via Azure Portal, PowerShell, CLI, Azure SDK's of REST API's.

Met dit token is elke toepassing gemachtigd om toegang te krijgen met op rollen gebaseerd toegangsbeheer van Azure en fijnmazige controle tot de vervaldatum, frequentie en gebruiksregio(s) voor het specifieke token. Met andere woorden, het SAS-token kan worden gebruikt om toepassingen in staat te stellen toegang op een veiligere manier te beheren dan de gedeelde sleutel.

Voor openbaar beschikbaar gemaakte toepassingen wordt aanbevolen om een specifieke lijst met toegestane origins te configureren voor de resource van het kaartaccount om misbruik van rendering te beperken en het SAS-token regelmatig te vernieuwen.

Type: apiKey
In: header

Voorbeelden

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

Definities

Name Description
LongRunningOperationResult

Het antwoordmodel voor een Long-Running Operations-API.

ODataError

Dit object wordt geretourneerd wanneer er een fout optreedt in de Azure Maps-API.

ODataErrorResponse

Dit antwoordobject wordt geretourneerd wanneer er een fout optreedt in de Azure Maps API.

type

De statusstatus van de aanvraag.

UploadDataFormat

Gegevensindeling van de inhoud die wordt geüpload.

LongRunningOperationResult

Het antwoordmodel voor een Long-Running Operations-API.

Name Type Description
created

string

Het gemaakte tijdstempel.

error

ODataError

Dit object wordt geretourneerd wanneer er een fout optreedt in de Azure Maps-API.

operationId

string

De id voor deze langdurige bewerking.

resourceLocation

string

De locatie-URI voor meer informatie over de gemaakte resource. Dit wordt alleen opgegeven wanneer de aanvraag is voltooid.

status

type

De statusstatus van de aanvraag.

warning

ODataError

Dit object wordt geretourneerd wanneer er een fout optreedt in de Azure Maps-API.

ODataError

Dit object wordt geretourneerd wanneer er een fout optreedt in de Azure Maps-API.

Name Type Description
code

string

De ODataError-code.

details

ODataError[]

Dit object wordt geretourneerd wanneer er een fout optreedt in de Azure Maps-API.

message

string

Indien beschikbaar, een door mensen leesbare beschrijving van de fout.

target

string

Indien beschikbaar, het doel dat de fout veroorzaakt.

ODataErrorResponse

Dit antwoordobject wordt geretourneerd wanneer er een fout optreedt in de Azure Maps API.

Name Type Description
error

ODataError

Dit object wordt geretourneerd wanneer er een fout optreedt in de Azure Maps-API.

type

De statusstatus van de aanvraag.

Name Type Description
Failed

string

De aanvraag heeft een of meer fouten.

NotStarted

string

De aanvraag is nog niet verwerkt.

Running

string

De verwerking van de aanvraag is gestart.

Succeeded

string

De aanvraag is voltooid.

UploadDataFormat

Gegevensindeling van de inhoud die wordt geüpload.

Name Type Description
geojson

string

GeoJSON is een indeling voor georuimtelijke gegevensuitwisseling op basis van JSON.

zip

string

Gecomprimeerde gegevensindeling.