Data - Upload

Använd för att ladda upp datainnehåll till ett Azure Maps-konto.

Anteckning

Azure Maps datatjänsten dras tillbaka

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

API:et Data Upload är en HTTP-begäran POST som gör att anroparen kan 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 GeoJSONformat, för användning i vår Azure Maps Geofencing Service.

Viktigt

Genom att använda den här funktionen godkänner du de juridiska villkoren för förhandsversionen. Mer information finns i Tilläggsvillkor för förhandsversion .

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. Frågeparametern dataFormat innehåller dataformatet. dataSharingLevel Frågeparametern kan innehålla delningsnivån för data. 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 Ställ in frågeparametern på 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?api-version=2.0&dataFormat={dataFormat}
POST https://{geography}.atlas.microsoft.com/mapData?api-version=2.0&description={description}&dataFormat={dataFormat}

URI-parametrar

Name I Obligatorisk Typ Description
geography
path True

string

Den här parametern anger var resursen Azure Maps Creator finns. Giltiga värden är oss och EU.

api-version
query True

string

Versionsnummer för Azure Maps API.

dataFormat
query True

DataFormat

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

description
query

string

Beskrivningen som ska ges till uppladdningen.

Begärandehuvud

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

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. Den representerar ett unikt ID för Azure Maps-kontot och kan hämtas från Azure Maps hanteringsplans konto-API. Information om hur du använder Microsoft Entra ID säkerhet i Azure Maps finns i följande artiklar.

Begärandetext

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

Name Typ Description
UploadContent

object

Det innehåll som ska laddas upp.

Svar

Name Typ Description
200 OK

LongRunningOperationResult

Åtgärden körs eller slutförs. Om åtgärden lyckades använder du Resource-Location-huvudet för att hämta sökvägen till resultatet.

Headers

Resource-Location: string

202 Accepted

Begäran accepterad: Begäran har godkänts för bearbetning. Använd URL:en i Operation-Location-huvudet för att hämta status.

Headers

Operation-Location: string

Other Status Codes

ErrorResponse

Datalagringsgränsen nås på Azure Maps-kontot. 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.

Other Status Codes

ErrorResponse

Det uppstod ett oväntat fel.

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 en 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 få å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 Management-API :et.

Authorization URL är specifikt för den offentliga Azure-molninstansen. Nationella moln har unika auktoriserings-URL:er och Microsoft Entra ID konfigurationer. * Den rollbaserade Azure-åtkomstkontrollen 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 Skapa ett Azure Maps-konto i Azure Portal eller med hjälp av 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 en huvudnyckel i det konto som de utfärdas 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 mer säkert 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 återgivningsmissbruk 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?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."
  }
}

Definitioner

Name Description
DataFormat

Dataformat för det uppladdade innehållet.

ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

ErrorDetail

Felinformationen.

ErrorResponse

Felsvar

LongRunningOperationResult

Svarsmodellen för ett Long-Running Operations-API.

LroStatus

Statustillståndet för begäran.

DataFormat

Dataformat för det uppladdade innehållet.

Name Typ Description
dwgzippackage

string

ZIP-paket som innehåller DWG-fil.

geojson

string

GeoJSON är ett JSON-baserat geospatialt datautbytesformat.

zip

string

Komprimerat dataformat.

ErrorAdditionalInfo

Ytterligare information om resurshanteringsfelet.

Name Typ Description
info

object

Den ytterligare informationen.

type

string

Ytterligare informationstyp.

ErrorDetail

Felinformationen.

Name Typ Description
additionalInfo

ErrorAdditionalInfo[]

Ytterligare information om felet.

code

string

Felkoden.

details

ErrorDetail[]

Felinformationen.

message

string

Felmeddelandet.

target

string

Felmålet.

ErrorResponse

Felsvar

Name Typ Description
error

ErrorDetail

Felobjektet.

LongRunningOperationResult

Svarsmodellen för ett Long-Running Operations-API.

Name Typ Description
created

string

Den skapade tidsstämpeln.

error

ErrorDetail

Felinformationen.

operationId

string

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

status

LroStatus

Statustillståndet för begäran.

warning

ErrorDetail

Felinformationen.

LroStatus

Statustillståndet för begäran.

Name Typ Description
Failed

string

Begäran har ett eller flera fel.

NotStarted

string

Begäran har inte påbörjat bearbetningen ännu.

Running

string

Begäran har börjat bearbetas.

Succeeded

string

Begäran har slutförts.