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 GeoJSON
souboru :
{
"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í |
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 |
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 |
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 |
Chybný požadavek: Jeden nebo více parametrů bylo zadáno nesprávně nebo se vzájemně vylučují. |
|
401 Unauthorized |
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 |
Problémy s oprávněním, kapacitou nebo ověřováním |
|
404 Not Found |
Nenalezený: Požadovaný prostředek se nepovedlo najít, ale v budoucnu může být znovu k dispozici. |
|
500 Internal Server Error |
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í.
- Další informace o Microsoft identity platform najdete v přehledu Microsoft identity platform.
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 |
---|---|
Long |
Model odpovědí pro rozhraní API Long-Running Operations. |
OData |
Tento objekt se vrátí, když dojde k chybě v rozhraní API Azure Maps. |
OData |
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 |
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 |
Stav požadavku. |
|
warning |
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 |
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 |
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. |