Data - Upload Preview

Žádost Nahrát umožňuje volajícímu nahrát datový obsah do svého Azure Maps účtu.
Platí pro: Cenová úroveň S1.

Rozhraní API pro nahrávání dat umožňuje volajícímu nahrát datový obsah do služby Azure Maps. Toto rozhraní API můžete použít ve scénáři, jako je nahrání kolekce geofences ve GeoJSON formátu, pro použití v naší službě Azure Maps Geofencing Service.

Poznámka

vyřazení služby Azure Maps Data Service

Služba Azure Maps Data (v1 i v2) je teď zastaralá a 16. 9. 24. bude vyřazena. Aby nedocházelo k přerušení služeb, bude potřeba do 16. 9. do 24. 9. aktualizovat všechna volání datové služby tak, aby používala službu Azure Maps Data Registry. Další informace najdete v tématu Vytvoření registru dat.

Odeslat žádost o nahrání

K nahrání obsahu použijete POST žádost. Text požadavku bude obsahovat data k nahrání. Hlavička Content-Type bude nastavena na typ obsahu dat.

Pokud chcete například nahrát kolekci geografických fence ve GeoJSON formátu, nastavte text požadavku na obsah geografické zóny. dataFormat Nastavte parametr dotazu na geojson a hlavičku Content-Type nastavte na jeden z následujících typů médií:

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

Tady je ukázkový text požadavku pro nahrání jednoduché geografické zóny reprezentované geometrií kruhu pomocí středového bodu a poloměru. Následující ukázka je v GeoJSONsouboru :

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

Rozhraní API pro nahrávání dat provádí dlouhotrvající operaci.

Limity nahrávání dat

Mějte na paměti, že v současné době má každý účet Azure Maps limit úložiště dat. Jakmile dosáhnete limitu úložiště, všechna nová volání rozhraní API pro nahrávání vrátí chybovou 409 Conflict odpověď HTTP. Kdykoli můžete použít rozhraní API pro odstranění dat k odstranění starého nebo nepoužívaného obsahu a vytvoření místa pro nové nahrání.

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}

Parametry identifikátoru URI

Name V Vyžadováno Typ Description
geography
path True

string

Tento parametr určuje, kde se nachází prostředek Azure Maps Creator. Platné hodnoty jsou my a eu.

api-version
query True

string

Číslo verze rozhraní API Azure Maps. Aktuální verze je 1.0.

dataFormat
query True

UploadDataFormat

Datový formát nahrávaného obsahu.

subscription-key
query

string

Jeden z Azure Maps klíčů zadaných z mapového účtu Azure. Podrobnosti o správě ověřování najdete v tomto článku .

Hlavička požadavku

Name Vyžadováno Typ Description
x-ms-client-id

string

Určuje, který účet je určen pro použití ve spojení s modelem zabezpečení Microsoft Entra ID. Představuje jedinečné ID účtu Azure Maps a dá se načíst z rozhraní API účtu Azure Maps roviny správy. Pokud chcete použít zabezpečení Microsoft Entra ID v Azure Maps pokyny najdete v následujících článcích.

Text požadavku

Name Typ Description
UploadContent

object

Obsah, který se má nahrát.

Odpovědi

Name Typ Description
200 OK

ODataErrorResponse

Nahrávání dat se nezdařilo. Nahraný obsah nevyhovoval všem ověřovacím kontrolám. Text odpovědi obsahuje všechny chyby, ke kterým došlo.

201 Created

LongRunningOperationResult

Prostředek se úspěšně vytvořil.

Headers

Location: string

202 Accepted

Podporováno pouze pro asynchronní požadavek. Žádost byla přijata: Žádost byla přijata ke zpracování. K opakování nebo přístupu k výsledkům použijte adresu URL v záhlaví umístění.

Headers

Location: string

400 Bad Request

ODataErrorResponse

Chybný požadavek: Jeden nebo více parametrů bylo zadáno nesprávně nebo se vzájemně vylučují.

401 Unauthorized

ODataErrorResponse

Přístup byl odepřen kvůli neplatnému klíči předplatného nebo neplatnému Microsoft Entra ID nosný token. Nezapomeňte zadat platný klíč pro aktivní předplatné Azure a prostředek Maps. V opačném případě ověřte kód chyby a popis zadaného Microsoft Entra ID nosného tokenu v hlavičce WWW-Authenticate.

Headers

WWW-Authenticate: string

403 Forbidden

ODataErrorResponse

Problémy s oprávněním, kapacitou nebo ověřováním

404 Not Found

ODataErrorResponse

Nenalezený: Požadovaný prostředek se nepodařilo najít, ale v budoucnu může být znovu dostupný.

500 Internal Server Error

ODataErrorResponse

Při zpracování požadavku došlo k chybě. Zkuste to později.

Zabezpečení

AADToken

Toto jsou Microsoft Entra toky OAuth 2.0. Při spárování s řízením přístupu na základě role v Azure se dá použít k řízení přístupu k Azure Maps rozhraní REST API. Řízení přístupu na základě role v Azure slouží k určení přístupu k jednomu nebo několika Azure Maps účtu prostředku nebo dílčím prostředkům. Každému uživateli, skupině nebo instančnímu objektu je možné udělit přístup prostřednictvím předdefinované role nebo vlastní role, která se skládá z jednoho nebo více oprávnění k Azure Maps rozhraní REST API.

Pokud chcete implementovat scénáře, doporučujeme zobrazit si koncepty ověřování. Souhrnně řečeno, tato definice zabezpečení poskytuje řešení pro modelování aplikací prostřednictvím objektů schopných řízení přístupu k určitým rozhraním API a oborům.

Poznámky

  • Tato definice zabezpečení vyžaduje použití hlavičky x-ms-client-id k označení Azure Maps prostředku, ke kterému aplikace žádá o přístup. To je možné získat z rozhraní API pro správu map.

Je Authorization URL specifický pro instanci veřejného cloudu Azure. Suverénní cloudy mají jedinečné autorizační adresy URL a konfigurace Microsoft Entra ID. * Řízení přístupu na základě role v Azure se konfiguruje z roviny správy Azure prostřednictvím Azure Portal, PowerShellu, rozhraní příkazového řádku, sad Azure SDK nebo rozhraní REST API. * Použití sady Azure Maps Web SDK umožňuje nastavení aplikace na základě konfigurace pro více případů použití.

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

Jedná se o sdílený klíč, který se zřídí při vytvoření účtu Azure Maps v Azure Portal nebo pomocí PowerShellu, rozhraní příkazového řádku, sad Azure SDK nebo rozhraní REST API.

S tímto klíčem má každá aplikace přístup ke všem rozhraním REST API. Jinými slovy, tento klíč se dá použít jako hlavní klíč v účtu, ve který je vystavený.

U veřejně vystavených aplikací doporučujeme používat pro přístup k rozhraním REST API Azure Maps přístup k důvěrným klientským aplikacím, aby se váš klíč mohl bezpečně uložit.

Type: apiKey
In: query

SAS Token

Jedná se o token sdíleného přístupového podpisu, který se vytvoří z operace List SAS prostředku Azure Maps prostřednictvím roviny správy Azure prostřednictvím Azure Portal, PowerShellu, rozhraní příkazového řádku, sad Azure SDK nebo rozhraní REST API.

S tímto tokenem má každá aplikace oprávnění k přístupu pomocí řízení přístupu na základě role v Azure a podrobného řízení k vypršení platnosti, četnosti a oblastem použití konkrétního tokenu. Jinými slovy, token SAS je možné použít k tomu, aby aplikace mohly řídit přístup bezpečnějším způsobem než sdílený klíč.

U veřejně vystavených aplikací doporučujeme nakonfigurovat konkrétní seznam povolených zdrojů v prostředku mapového účtu , aby se omezilo zneužití vykreslování a pravidelně obnovovali token SAS.

Type: apiKey
In: header

Příklady

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

Definice

Name Description
LongRunningOperationResult

Model odpovědí pro rozhraní API Long-Running Operations.

ODataError

Tento objekt se vrátí, když dojde k chybě v rozhraní API Azure Maps.

ODataErrorResponse

Tento objekt odpovědi se vrátí, když dojde k chybě v rozhraní API Azure Maps.

type

Stav požadavku.

UploadDataFormat

Datový formát nahrávaného obsahu.

LongRunningOperationResult

Model odpovědí pro rozhraní API Long-Running Operations.

Name Typ Description
created

string

Vytvořené časové razítko.

error

ODataError

Tento objekt se vrátí, když dojde k chybě v rozhraní API Azure Maps.

operationId

string

ID této dlouhotrvající operace.

resourceLocation

string

Identifikátor URI umístění pro podrobnosti o vytvořeném prostředku. Tato hodnota je k dispozici pouze v případě, že se žádost úspěšně dokončila.

status

type

Stav požadavku.

warning

ODataError

Tento objekt se vrátí, když dojde k chybě v rozhraní API Azure Maps.

ODataError

Tento objekt se vrátí, když dojde k chybě v rozhraní API Azure Maps.

Name Typ Description
code

string

Kód ODataError.

details

ODataError[]

Tento objekt se vrátí, když dojde k chybě v rozhraní API Azure Maps.

message

string

Pokud je k dispozici, popis chyby čitelný pro člověka.

target

string

Pokud je k dispozici, cíl, který chybu způsobuje.

ODataErrorResponse

Tento objekt odpovědi se vrátí, když dojde k chybě v rozhraní API Azure Maps.

Name Typ Description
error

ODataError

Tento objekt se vrátí, když dojde k chybě v rozhraní API Azure Maps.

type

Stav požadavku.

Name Typ Description
Failed

string

Požadavek má jedno nebo více selhání.

NotStarted

string

Žádost se ještě nezačala zpracovávat.

Running

string

Žádost se začala zpracovávat.

Succeeded

string

Žádost se úspěšně dokončila.

UploadDataFormat

Datový formát nahrávaného obsahu.

Name Typ Description
geojson

string

GeoJSON je formát pro výměnu geoprostorových dat založený na formátu JSON.

zip

string

Komprimovaný formát dat.