Share via


Data - Upload

Gebruik om gegevensinhoud te uploaden naar een Azure Maps-account.

Notitie

buitengebruikstelling van gegevensservice Azure Maps

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

De Data Upload API is een HTTP-aanvraag POST waarmee de aanroeper gegevensinhoud kan uploaden naar de Azure Maps-service. U kunt deze API gebruiken in een scenario zoals het uploaden van een verzameling Geofences in GeoJSONindeling, voor gebruik in onze Azure Maps Geofencing Service.

Belangrijk

Door deze functie te gebruiken, gaat u akkoord met de juridische voorwaarden van de preview. Zie de aanvullende voorwaarden voor preview voor meer informatie.

Uploadaanvraag indienen

Als u uw inhoud wilt uploaden, gebruikt u een POST aanvraag. De aanvraagbody bevat de gegevens die u wilt uploaden. De dataFormat queryparameter bevat de indeling voor de gegevens, de dataSharingLevel queryparameter kan het niveau voor delen voor de gegevens bevatten. De Content-Type header wordt ingesteld op het inhoudstype van de gegevens.

Als u bijvoorbeeld een verzameling geofences in GeoJSON indeling wilt uploaden, stelt u de aanvraagbody in 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 radius. 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 Gegevens verwijderen-API gebruiken om oude/ongebruikte inhoud te verwijderen en ruimte te maken voor nieuwe uploads.

POST https://{geography}.atlas.microsoft.com/mapData?api-version=2.0&dataFormat={dataFormat}
POST https://{geography}.atlas.microsoft.com/mapData?api-version=2.0&description={description}&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.

dataFormat
query True

DataFormat

Gegevensindeling van de inhoud die wordt geüpload.

description
query

string

De beschrijving die moet worden gegeven aan de upload.

Aanvraagkoptekst

Media Types: "application/json", "application/octet-stream"

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 in Azure Maps raadpleegt u de volgende artikelen voor hulp.

Aanvraagbody

Media Types: "application/json", "application/octet-stream"

Name Type Description
UploadContent

object

De inhoud die moet worden geüpload.

Antwoorden

Name Type Description
200 OK

LongRunningOperationResult

De bewerking wordt uitgevoerd of voltooid. Als de bewerking is geslaagd, gebruikt u de Resource-Location-header om het pad naar het resultaat op te halen.

Headers

Resource-Location: string

202 Accepted

Aanvraag geaccepteerd: de aanvraag is geaccepteerd voor verwerking. Gebruik de URL in de Operation-Location-header om de status te verkrijgen.

Headers

Operation-Location: string

Other Status Codes

ErrorResponse

De limiet voor gegevensopslag is bereikt voor het Azure Maps-account. U kunt altijd de Gegevens verwijderen-API gebruiken om oude/ongebruikte inhoud te verwijderen en ruimte te maken voor nieuwe uploads.

Other Status Codes

ErrorResponse

Er is een onverwachte fout opgetreden.

Beveiliging

AADToken

Dit zijn de Microsoft Entra OAuth 2.0-stromen. In combinatie met 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.

Als u scenario's wilt implementeren, raden we u aan om 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

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

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 gebruiksscenario's.

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 Creatie 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 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 wordt 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 over het verloop, de snelheid en de 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 oorsprongen te configureren op de resource Van het account toewijzen om misbruik van het genereren 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?api-version=2.0&dataFormat=geojson

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

Sample Response

Resource-Location: https://us.atlas.microsoft.com/mapData/3e36b996-f6d1-b068-0fcb-dd6b014c3447?api-version=2.0
{
  "operationId": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c",
  "created": "2021-04-20T22:43:14.9401559+00:00",
  "status": "Succeeded"
}
Operation-Location: https://us.atlas.microsoft.com/mapData/operations/{udid}?api-version=2.0
Access-Control-Expose-Headers: Operation-Location
{
  "error": {
    "code": "409 Conflict",
    "message": "The data storage limit is reached on the Azure Maps account. You can always use the Data Delete API to delete old/unused content and create space for new uploads."
  }
}

Definities

Name Description
DataFormat

Gegevensindeling van de geüploade inhoud.

ErrorAdditionalInfo

Aanvullende informatie over de resourcebeheerfout.

ErrorDetail

De foutdetails.

ErrorResponse

Foutreactie

LongRunningOperationResult

Het antwoordmodel voor een Long-Running Operations-API.

LroStatus

De status van de aanvraag.

DataFormat

Gegevensindeling van de geüploade inhoud.

Name Type Description
dwgzippackage

string

ZIP-pakket met DWG-bestand.

geojson

string

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

zip

string

Gecomprimeerde gegevensindeling.

ErrorAdditionalInfo

Aanvullende informatie over de resourcebeheerfout.

Name Type Description
info

object

De aanvullende informatie.

type

string

Het type aanvullende informatie.

ErrorDetail

De foutdetails.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

De fout aanvullende informatie.

code

string

De foutcode.

details

ErrorDetail[]

De foutdetails.

message

string

Het foutbericht.

target

string

Het foutdoel.

ErrorResponse

Foutreactie

Name Type Description
error

ErrorDetail

Het foutobject.

LongRunningOperationResult

Het antwoordmodel voor een Long-Running Operations-API.

Name Type Description
created

string

De gemaakte tijdstempel.

error

ErrorDetail

De foutdetails.

operationId

string

De id voor deze langdurige bewerking.

status

LroStatus

De status van de aanvraag.

warning

ErrorDetail

De foutdetails.

LroStatus

De status van de aanvraag.

Name Type Description
Failed

string

De aanvraag heeft een of meer fouten.

NotStarted

string

De verwerking van de aanvraag is nog niet gestart.

Running

string

De verwerking van de aanvraag is gestart.

Succeeded

string

De aanvraag is voltooid.