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 |
data
|
query | True |
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 |
Dataöverföringen misslyckades. Det uppladdade innehållet uppfyllde inte alla valideringskontroller. Svarstexten innehåller alla fel som påträffades. |
|
201 Created |
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 |
Felaktig begäran: en eller flera parametrar har angetts felaktigt eller är ömsesidigt uteslutande. |
|
401 Unauthorized |
Å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 |
Behörighets-, kapacitets- eller autentiseringsproblem. |
|
404 Not Found |
Hittades inte: det gick inte att hitta den begärda resursen, men den kan vara tillgänglig igen i framtiden. |
|
500 Internal Server Error |
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-id
krä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.
- Mer information om Microsofts identitetsplattform finns i Microsofts identitetsplattform översikt.
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 |
---|---|
Long |
Svarsmodellen för ett Long-Running Operations API. |
OData |
Det här objektet returneras när ett fel inträffar i Azure Maps-API:et. |
OData |
Det här svarsobjektet returneras när ett fel inträffar i Azure Maps-API:et. |
type |
Statustillståndet för begäran. |
Upload |
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 |
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 |
Statustillståndet för begäran. |
|
warning |
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 |
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 |
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. |