Share via


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 udid deve ter sido obtido de uma chamada bem-sucedida à API de Upload de Dados .

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

ODataErrorResponse

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

LongRunningOperationResult

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

ODataErrorResponse

Solicitação incorreta: um ou mais parâmetros foram especificados incorretamente ou são mutuamente exclusivos.

401 Unauthorized

ODataErrorResponse

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

ODataErrorResponse

Problemas de permissão, capacidade ou autenticação.

404 Not Found

ODataErrorResponse

Não encontrado: o recurso solicitado não pôde ser encontrado, mas pode estar disponível novamente no futuro.

500 Internal Server Error

ODataErrorResponse

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.

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
LongRunningOperationResult

O modelo de resposta para uma API de Operações Long-Running.

ODataError

Esse objeto é retornado quando ocorre um erro na API Azure Mapas.

ODataErrorResponse

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

ODataError

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

type

O estado status da solicitação.

warning

ODataError

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

ODataError[]

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

ODataError

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.