Data - Update Preview
A solicitação Atualizar permite que o chamador atualize o conteúdo dos dados carregados anteriormente usando o Carregamento de Dados.
Aplica-se a: Tipo de preço S1.
A API de Atualização de Dados permite que o chamador atualize um conteúdo de dados carregado anteriormente.
Você pode usar essa API em um cenário como adicionar ou remover cercas geográficas de ou para uma coleção existente de cercas geográficas. As cercas geográficas são carregadas usando a API de Carregamento de Dados, para uso no Serviço de Geofencing do Azure Mapas.
Observe que a API de Atualização substituirá e substituirá o conteúdo de dados existente.
Observação
Desativação do serviço Dados do Azure Mapas
O serviço Dados do Azure Mapas (v1 e v2) foi preterido e será desativado em 16/09/24. Para evitar interrupções de serviço, todas as chamadas ao Serviço de Dados precisarão ser atualizadas para usar o serviço de Registro de Dados do Azure Mapas até 16/09/24. Para obter mais informações, confira Como criar um registro de dados.
Enviar Solicitação de Atualização
Para atualizar seu conteúdo, você usará uma solicitação PUT
. O corpo da solicitação conterá os novos dados que substituirão os dados existentes. O Content-Type
cabeçalho será definido como o tipo de conteúdo dos dados e o caminho conterá o udid
dos dados a serem atualizados.
Por exemplo, para atualizar uma coleção de cercas geográficas que foram carregadas anteriormente usando a API upload, coloque o novo conteúdo de cerca geográfica no corpo da solicitação. Defina o udid
parâmetro no caminho para o udid
dos dados recebidos anteriormente na resposta da API de upload. E defina o Content-Type
cabeçalho como um dos seguintes tipos de mídia:
application/json
application/vnd.geo+json
application/octet-stream
Aqui está um corpo de solicitação de exemplo para atualizar uma cerca geográfica simples. Ele é representado como uma geometria de círculo usando um ponto central e um raio. O exemplo abaixo está em GeoJSON
:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-122.126986, 47.639754]
},
"properties": {
"geometryId": "001",
"radius": 500
}
}]
}
A cerca geográfica carregada anteriormente tinha um raio de 100m. A solicitação acima a atualizará para 500m.
A API de Atualização de Dados executa uma operação de execução prolongada.
Limites de atualização de dados
Lembre-se de que atualmente cada conta Azure Mapas tem um limite de armazenamento de dados.
Depois que o limite de armazenamento for atingido, todas as novas chamadas à API de upload retornarão uma 409 Conflict
resposta de erro http.
Você sempre pode usar a API de Exclusão de Dados para excluir conteúdo antigo/não utilizado e criar espaço para novos uploads.
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
Parâmetros de URI
Nome | Em | Obrigatório | Tipo | Description |
---|---|---|---|---|
geography
|
path | True |
string |
Esse parâmetro especifica onde o recurso Azure Mapas Creator está localizado. Os valores válidos são nós e eu. |
udid
|
path | True |
string |
A ID de dados exclusiva para o conteúdo. O |
api-version
|
query | True |
string |
Número de versão da API de Mapas Azure. A versão atual é 1.0 |
subscription-key
|
query |
string |
Uma das chaves de Mapas do Azure fornecidas de uma Conta do Azure Mapas. Consulte este artigo para obter detalhes sobre como gerenciar a autenticação. |
Cabeçalho da solicitação
Nome | Obrigatório | Tipo | Description |
---|---|---|---|
x-ms-client-id |
string |
Especifica qual conta destina-se ao uso em conjunto com o modelo de segurança Microsoft Entra ID. Ele representa uma ID exclusiva para a conta Azure Mapas e pode ser recuperado da API de Conta do plano de gerenciamento do Azure Mapas. Para usar Microsoft Entra ID segurança no Azure Mapas consulte os artigos a seguir para obter diretrizes. |
Corpo da solicitação
Nome | Tipo | Description |
---|---|---|
UpdateContent |
object |
O novo conteúdo que atualizará/substituirá o conteúdo carregado anteriormente. |
Respostas
Nome | Tipo | Description |
---|---|---|
200 OK |
Falha na atualização de dados. O conteúdo carregado não satisfez todas as verificações de validação. O corpo da resposta contém todos os erros encontrados. |
|
201 Created |
O recurso foi criado com êxito. Headers Location: string |
|
202 Accepted |
Com suporte apenas para solicitação assíncrona. Solicitação Aceita: a solicitação foi aceita para processamento. Use a URL no Cabeçalho de Localização para tentar novamente ou acessar os resultados. Headers Location: string |
|
400 Bad Request |
Solicitação incorreta: um ou mais parâmetros foram especificados incorretamente ou são mutuamente exclusivos. |
|
401 Unauthorized |
Acesso negado devido a uma chave de assinatura inválida ou token de portador de Microsoft Entra ID inválido. Certifique-se de fornecer uma chave válida para uma assinatura ativa do Azure e um recurso do Mapas. Caso contrário, verifique o cabeçalho WWW-Authenticate quanto ao código de erro e a descrição do token de portador Microsoft Entra ID fornecido. Headers WWW-Authenticate: string |
|
403 Forbidden |
Problemas de permissão, capacidade ou autenticação. |
|
404 Not Found |
Não encontrado: o recurso solicitado não pôde ser encontrado, mas pode estar disponível novamente no futuro. |
|
500 Internal Server Error |
Ocorreu um erro ao processar a solicitação. Tente novamente mais tarde. |
Segurança
AADToken
Esses são os fluxos Microsoft Entra OAuth 2.0. Quando emparelhado com o controle de acesso baseado em função do Azure, ele pode ser usado para controlar o acesso a Azure Mapas APIs REST. Os controles de acesso baseados em função do Azure são usados para designar o acesso a uma ou mais Azure Mapas conta de recurso ou sub-recursos. Qualquer usuário, grupo ou entidade de serviço pode receber acesso por meio de uma função interna ou uma função personalizada composta por uma ou mais permissões para Azure Mapas APIs REST.
Para implementar cenários, recomendamos exibir conceitos de autenticação. Em resumo, essa definição de segurança fornece uma solução para modelar aplicativos por meio de objetos capazes de acessar o controle em APIs e escopos específicos.
Observações
- Essa definição de segurança requer o uso do
x-ms-client-id
cabeçalho para indicar a qual Azure Mapas recurso o aplicativo está solicitando acesso. Isso pode ser adquirido da API de gerenciamento de Mapas.
O Authorization URL
é específico para a instância de nuvem pública do Azure. As nuvens soberanas têm URLs de autorização exclusivas e configurações de Microsoft Entra ID.
* O controle de acesso baseado em função do Azure é configurado no plano de gerenciamento do Azure por meio de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.
* O uso do SDK da Web do Azure Mapas permite a configuração baseada em configuração de um aplicativo para vários casos de uso.
- Para obter mais informações sobre plataforma de identidade da Microsoft, consulte visão geral plataforma de identidade da Microsoft.
Type:
oauth2
Flow:
implicit
Authorization URL:
https://login.microsoftonline.com/common/oauth2/authorize
Scopes
Nome | Description |
---|---|
https://atlas.microsoft.com/.default | https://atlas.microsoft.com/.default |
subscription-key
Essa é uma chave compartilhada provisionada quando você cria uma conta Azure Mapas no portal do Azure ou usando o PowerShell, a CLI, os SDKs do Azure ou a API REST.
Com essa chave, qualquer aplicativo pode acessar toda a API REST. Em outras palavras, essa chave pode ser usada como uma chave master na conta em que elas são emitidas.
Para aplicativos expostos publicamente, nossa recomendação é usar a abordagem de aplicativos cliente confidenciais para acessar Azure Mapas APIs REST para que sua chave possa ser armazenada com segurança.
Type:
apiKey
In:
query
SAS Token
Esse é um token de assinatura de acesso compartilhado criado com base na operação Listar SAS no recurso Azure Mapas por meio do plano de gerenciamento do Azure por meio de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.
Com esse token, qualquer aplicativo está autorizado a acessar com controles de acesso baseados em função do Azure e controle refinado para a expiração, a taxa e as regiões de uso para o token específico. Em outras palavras, o Token SAS pode ser usado para permitir que os aplicativos controlem o acesso de maneira mais segura do que a chave compartilhada.
Para aplicativos expostos publicamente, nossa recomendação é configurar uma lista específica de origens permitidas no recurso de conta de mapa para limitar o abuso de renderização e renovar regularmente o Token SAS.
Type:
apiKey
In:
header
Exemplos
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."
}
}
Definições
Nome | Description |
---|---|
Long |
O modelo de resposta para uma API de Operações Long-Running. |
OData |
Esse objeto é retornado quando ocorre um erro na API Azure Mapas. |
OData |
Esse objeto de resposta é retornado quando ocorre um erro na API Azure Mapas. |
type |
O estado status da solicitação. |
LongRunningOperationResult
O modelo de resposta para uma API de Operações Long-Running.
Nome | Tipo | Description |
---|---|---|
created |
string |
O carimbo de data/hora criado. |
error |
Esse objeto é retornado quando ocorre um erro na API Azure Mapas. |
|
operationId |
string |
A ID dessa operação de execução prolongada. |
resourceLocation |
string |
O URI de localização para obter detalhes sobre o recurso criado. Isso só é fornecido quando a solicitação foi concluída com êxito. |
status |
O estado status da solicitação. |
|
warning |
Esse objeto é retornado quando ocorre um erro na API Azure Mapas. |
ODataError
Esse objeto é retornado quando ocorre um erro na API Azure Mapas.
Nome | Tipo | Description |
---|---|---|
code |
string |
O código ODataError. |
details |
Esse objeto é retornado quando ocorre um erro na API Azure Mapas. |
|
message |
string |
Se disponível, uma descrição legível do erro. |
target |
string |
Se disponível, o destino causará o erro. |
ODataErrorResponse
Esse objeto de resposta é retornado quando ocorre um erro na API Azure Mapas.
Nome | Tipo | Description |
---|---|---|
error |
Esse objeto é retornado quando ocorre um erro na API Azure Mapas. |
type
O estado status da solicitação.
Nome | Tipo | Description |
---|---|---|
Failed |
string |
A solicitação tem uma ou mais falhas. |
NotStarted |
string |
A solicitação ainda não iniciou o processamento. |
Running |
string |
A solicitação iniciou o processamento. |
Succeeded |
string |
A solicitação foi concluída com êxito. |