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 |
data
|
query | True |
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 |
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 |
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 |
Ongeldige aanvraag: een of meer parameters zijn onjuist opgegeven of sluiten elkaar uit. |
|
401 Unauthorized |
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 |
Machtigings-, capaciteits- of verificatieproblemen. |
|
404 Not Found |
Niet gevonden: de aangevraagde resource kan niet worden gevonden, maar is in de toekomst mogelijk weer beschikbaar. |
|
500 Internal Server Error |
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.
- Zie overzicht van Microsoft identity platform voor meer informatie over Microsoft identity platform.
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 |
---|---|
Long |
Het antwoordmodel voor een Long-Running Operations-API. |
OData |
Dit object wordt geretourneerd wanneer er een fout optreedt in de Azure Maps-API. |
OData |
Dit antwoordobject wordt geretourneerd wanneer er een fout optreedt in de Azure Maps API. |
type |
De statusstatus van de aanvraag. |
Upload |
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 |
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 |
De statusstatus van de aanvraag. |
|
warning |
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 |
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 |
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. |