Data - Update Preview

Žádost o aktualizaci umožňuje volajícímu aktualizovat datový obsah dříve nahraný pomocí nahrání dat.
Platí pro: Cenová úroveň S1.

Rozhraní API pro aktualizaci dat umožňuje volajícímu aktualizovat dříve nahraný datový obsah.

Toto rozhraní API můžete použít ve scénáři, jako je přidávání nebo odebírání geografických zóny do nebo z existující kolekce geografických zóny. Geografické zóny se nahrávají pomocí rozhraní API pro nahrávání dat pro použití ve službě Azure Maps Geofencing.

Upozorňujeme, že rozhraní API pro aktualizaci nahradí a přepíše existující datový obsah.

Poznámka

Vyřazení služby Azure Maps Data

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

Odeslat žádost o aktualizaci

K aktualizaci obsahu použijete PUT žádost. Text požadavku bude obsahovat nová data, která nahradí stávající data. Hlavička Content-Type bude nastavena na typ obsahu dat a cesta bude obsahovat udid data, která se mají aktualizovat.

Pokud například chcete aktualizovat kolekci geografických zóny, které se dříve nahrály pomocí rozhraní API pro nahrávání, umístěte nový obsah geografické zóny do textu požadavku. udid Nastavte parametr v cestě k udid datům přijatým dříve v odpovědi rozhraní API pro nahrávání. A nastavte hlavičku Content-Type na jeden z následujících typů médií:

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

Tady je ukázkový text žádosti o aktualizaci jednoduché geografické zóny. Je znázorněna jako geometrie 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
        }
    }]
}

Dříve nahraná geografická zóna měla poloměr 100 m. Výše uvedená žádost ho aktualizuje na 500 min.

Rozhraní API pro aktualizaci dat provádí dlouhotrvající operaci.

Limity aktualizace dat

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

PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?api-version=1.0
PUT https://{geography}.atlas.microsoft.com/mapData/{udid}?subscription-key={subscription-key}&api-version=1.0

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.

udid
path True

string

Jedinečné ID dat pro obsah. Musí udid být získán z úspěšného volání rozhraní API pro nahrávání dat .

api-version
query True

string

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

subscription-key
query

string

Jeden z Azure Maps klíčů zadaných z účtu Azure Map. 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 je možné ho načíst z rozhraní API účtu roviny správy Azure Maps. Pokud chcete použít Microsoft Entra ID zabezpečení v Azure Maps pokyny najdete v následujících článcích.

Text požadavku

Name Typ Description
UpdateContent

object

Nový obsah, který aktualizuje nebo nahradí dříve nahraný obsah.

Odpovědi

Name Typ Description
200 OK

ODataErrorResponse

Aktualizace dat se nezdařila. Nahraný obsah nevyhovoval všem ověřovacím kontrolám. Tělo 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

Podporuje se pouze pro asynchronní požadavek. Žádost byla přijata: Žádost byla přijata ke zpracování. K opakování nebo získání přístupu k výsledkům použijte adresu URL v hlavičce 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 nosnýmu tokenu Microsoft Entra ID. 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 nepovedlo najít, ale v budoucnu může být znovu k dispozici.

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 složené 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 pro konkrétní rozhraní API a obory.

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. Můžete ho získat z rozhraní MAPS MANAGEMENT API.

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ůže každá aplikace přistupovat ke všem rozhraním REST API. Jinými slovy, tento klíč se dá použít jako hlavní klíč v účtu, ve kterému je vystavený.

U veřejně vystavených aplikací doporučujeme pro přístup k Azure Maps rozhraní REST API použít 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 v Azure Maps prostředku 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 autorizaci pro přístup pomocí řízení přístupu na základě role v Azure a podrobnou kontrolu vypršení platnosti, četnosti a oblastí použití konkrétního tokenu. Jinými slovy, token SAS je možné použít k tomu, aby aplikace mohly řídit přístup zabezpečený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 účtu map , aby se omezilo zneužití vykreslování, a pravidelně obnovovat token SAS.

Type: apiKey
In: header

Příklady

Update previously uploaded GeoJSON data containing geometries that represent a collection of geofences

Sample Request

PUT https://us.atlas.microsoft.com/mapData/25084fb7-307a-4720-8f91-7952a0b91012?subscription-key=[subscription-key]&api-version=1.0

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

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. To 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

Požadavek se začal zpracovávat.

Succeeded

string

Žádost byla úspěšně dokončena.