Share via


Data - Upload Preview

Med uppladdningsbegäran kan anroparen ladda upp datainnehåll till sitt Azure Maps konto.
Gäller för: Prisnivå för S1.

Med API:et för datauppladdning kan anroparen ladda upp datainnehåll till Azure Maps-tjänsten. Du kan använda det här API:et i ett scenario som att ladda upp en samling geofences i GeoJSON format för användning i vår Azure Maps Geofencing Service.

Anteckning

Azure Maps Data Service-tillbakadragning

Den Azure Maps datatjänsten (både v1 och v2) är nu inaktuell och kommer att dras tillbaka den 24-09-16. För att undvika avbrott i tjänsten måste alla anrop till datatjänsten uppdateras för att använda Azure Maps Data Registry-tjänsten senast 24-09-16. Mer information finns i Skapa dataregister.

Skicka uppladdningsbegäran

Om du vill ladda upp ditt innehåll använder du en POST begäran. Begärandetexten innehåller de data som ska laddas upp. Rubriken Content-Type anges till innehållstypen för data.

Om du till exempel vill ladda upp en samling geofences i GeoJSON format anger du begärandetexten till geofence-innehållet. dataFormat Ange frågeparametern till geojson och ställ in Content-Type rubriken på någon av följande medietyper:

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

Här är ett exempel på begärandetext för att ladda upp en enkel Geofence som representeras som en cirkelgeometri med hjälp av en mittpunkt och en radie. Exemplet nedan finns i GeoJSON:

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

API:et för datauppladdning utför en tidskrävande åtgärd.

Dataöverföringsgränser

Tänk på att varje Azure Maps konto för närvarande har en datalagringsgräns. När lagringsgränsen har nåtts returnerar alla nya API-anrop för uppladdning ett 409 Conflict http-felsvar. Du kan alltid använda API:et för databorttagning för att ta bort gammalt/oanvänt innehåll och skapa utrymme för nya uppladdningar.

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

Name I Obligatorisk Typ Description
geography
path True

string

Den här parametern anger var Azure Maps Creator-resursen finns. Giltiga värden är vi och eu.

api-version
query True

string

Versionsnummer för Azure Maps API. Aktuell version är 1.0

dataFormat
query True

UploadDataFormat

Dataformat för det innehåll som laddas upp.

subscription-key
query

string

En av de Azure Maps nycklar som tillhandahålls från ett Azure Map-konto. Mer information om hur du hanterar autentisering finns i den här artikeln .

Begärandehuvud

Name Obligatorisk Typ Description
x-ms-client-id

string

Anger vilket konto som är avsett för användning tillsammans med Microsoft Entra ID säkerhetsmodell. Det representerar ett unikt ID för Azure Maps-kontot och kan hämtas från konto-API:et för Azure Maps hanteringsplan. Information om hur du använder Microsoft Entra ID säkerhet i Azure Maps finns i följande artiklar.

Begärandetext

Name Typ Description
UploadContent

object

Innehållet som ska laddas upp.

Svar

Name Typ Description
200 OK

ODataErrorResponse

Dataöverföringen misslyckades. Det uppladdade innehållet uppfyllde inte alla valideringskontroller. Svarstexten innehåller alla fel som påträffades.

201 Created

LongRunningOperationResult

Resursen har skapats.

Headers

Location: string

202 Accepted

Stöds endast för asynkron begäran. Begäran accepterad: Begäran har godkänts för bearbetning. Använd URL:en i platsrubriken för att försöka igen eller komma åt resultatet.

Headers

Location: string

400 Bad Request

ODataErrorResponse

Felaktig begäran: en eller flera parametrar har angetts felaktigt eller är ömsesidigt uteslutande.

401 Unauthorized

ODataErrorResponse

Åtkomst nekad på grund av ogiltig prenumerationsnyckel eller ogiltig Microsoft Entra ID ägartoken. Se till att ange en giltig nyckel för en aktiv Azure-prenumeration och Maps-resurs. Annars kontrollerar du rubriken WWW-Authenticate för felkod och beskrivning av den angivna Microsoft Entra ID ägartoken.

Headers

WWW-Authenticate: string

403 Forbidden

ODataErrorResponse

Behörighets-, kapacitets- eller autentiseringsproblem.

404 Not Found

ODataErrorResponse

Hittades inte: det gick inte att hitta den begärda resursen, men den kan vara tillgänglig igen i framtiden.

500 Internal Server Error

ODataErrorResponse

Ett fel uppstod när begäran bearbetades. Försök igen senare.

Säkerhet

AADToken

Det här är Microsoft Entra OAuth 2.0-flöden. När den är kopplad till rollbaserad åtkomstkontroll i Azure kan den användas för att styra åtkomsten till Azure Maps REST-API:er. Rollbaserade åtkomstkontroller i Azure används för att ange åtkomst till ett eller flera Azure Maps resurskonto eller underresurser. Alla användare, grupper eller tjänstens huvudnamn kan beviljas åtkomst via en inbyggd roll eller en anpassad roll som består av en eller flera behörigheter för att Azure Maps REST-API:er.

För att implementera scenarier rekommenderar vi att du visar autentiseringsbegrepp. Sammanfattningsvis tillhandahåller den här säkerhetsdefinitionen en lösning för modellering av program via objekt som kan ha åtkomstkontroll för specifika API:er och omfång.

Kommentarer

  • Den här säkerhetsdefinitionen x-ms-client-idkräver att huvudet används för att ange vilken Azure Maps resurs som programmet begär åtkomst till. Detta kan hämtas från MAPS-hanterings-API:et.

Authorization URL är specifikt för den offentliga Azure-molninstansen. Nationella moln har unika auktoriserings-URL:er och Microsoft Entra ID konfigurationer. * Rollbaserad åtkomstkontroll i Azure konfigureras från Azure-hanteringsplanet via Azure Portal, PowerShell, CLI, Azure SDK:er eller REST-API:er. * Användning av Azure Maps Web SDK möjliggör konfigurationsbaserad konfiguration av ett program för flera användningsfall.

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

Det här är en delad nyckel som etableras när du skapar ett Azure Maps-konto i Azure Portal eller använder PowerShell, CLI, Azure SDK:er eller REST API.

Med den här nyckeln kan alla program komma åt alla REST-API:et. Med andra ord kan den här nyckeln användas som huvudnyckel i det konto som de har utfärdats i.

För offentligt exponerade program rekommenderar vi att du använder metoden för konfidentiella klientprogram för att komma åt Azure Maps REST-API:er så att din nyckel kan lagras på ett säkert sätt.

Type: apiKey
In: query

SAS Token

Det här är en signaturtoken för delad åtkomst som skapas från åtgärden Lista SAS på den Azure Maps resursen via Azure-hanteringsplanet via Azure Portal, PowerShell, CLI, Azure SDK:er eller REST-API:er.

Med den här token har alla program behörighet att komma åt med rollbaserade Åtkomstkontroller i Azure och detaljerad kontroll av förfallodatum, frekvens och region för användning för den specifika token. Med andra ord kan SAS-token användas för att tillåta program att styra åtkomsten på ett säkrare sätt än den delade nyckeln.

För offentligt exponerade program rekommenderar vi att du konfigurerar en specifik lista över tillåtna ursprung på map-kontoresursen för att begränsa återgivningsmissbruket och regelbundet förnya SAS-token.

Type: apiKey
In: header

Exempel

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

Definitioner

Name Description
LongRunningOperationResult

Svarsmodellen för ett Long-Running Operations API.

ODataError

Det här objektet returneras när ett fel inträffar i Azure Maps-API:et.

ODataErrorResponse

Det här svarsobjektet returneras när ett fel inträffar i Azure Maps-API:et.

type

Statustillståndet för begäran.

UploadDataFormat

Dataformat för det innehåll som laddas upp.

LongRunningOperationResult

Svarsmodellen för ett Long-Running Operations API.

Name Typ Description
created

string

Den skapade tidsstämpeln.

error

ODataError

Det här objektet returneras när ett fel inträffar i Azure Maps-API:et.

operationId

string

ID:t för den här långvariga åtgärden.

resourceLocation

string

Plats-URI:n för information om den skapade resursen. Detta anges endast när begäran slutfördes.

status

type

Statustillståndet för begäran.

warning

ODataError

Det här objektet returneras när ett fel inträffar i Azure Maps-API:et.

ODataError

Det här objektet returneras när ett fel inträffar i Azure Maps-API:et.

Name Typ Description
code

string

ODataError-koden.

details

ODataError[]

Det här objektet returneras när ett fel inträffar i Azure Maps-API:et.

message

string

Om det finns en beskrivning av felet som kan läsas av människor.

target

string

Om det är tillgängligt orsakar målet felet.

ODataErrorResponse

Det här svarsobjektet returneras när ett fel inträffar i Azure Maps-API:et.

Name Typ Description
error

ODataError

Det här objektet returneras när ett fel inträffar i Azure Maps-API:et.

type

Statustillståndet för begäran.

Name Typ Description
Failed

string

Begäran har ett eller flera fel.

NotStarted

string

Begäran har inte börjat bearbetas än.

Running

string

Begäran har börjat bearbetas.

Succeeded

string

Begäran har slutförts.

UploadDataFormat

Dataformat för det innehåll som laddas upp.

Name Typ Description
geojson

string

GeoJSON är ett JSON-baserat geospatialt datautbytesformat.

zip

string

Komprimerat dataformat.