Share via


Data - Upload Preview

O Pedido de carregamento permite que o autor da chamada carregue conteúdos de dados para a respetiva conta Azure Maps.
Aplica-se a: Escalão de preço S1.

A API de Carregamento de Dados permite que o autor da chamada carregue conteúdos de dados para o serviço Azure Maps. Pode utilizar esta API num cenário como carregar uma coleção de Geofences no GeoJSON formato, para utilização no nosso Serviço de Perímetro Geográfico Azure Maps.

Nota

descontinuação do Serviço de dados do Azure Maps

O serviço Azure Maps Dados (v1 e v2) foi preterido e será descontinuado a 16/09/24. Para evitar interrupções do serviço, todas as chamadas para o serviço de Dados terão de ser atualizadas para utilizar o serviço Azure Maps Registo de Dados até 16/09/24. Para obter mais informações, veja Como criar um registo de dados.

Submeter Pedido de Carregamento

Para carregar os seus conteúdos, irá utilizar um POST pedido. O corpo do pedido irá conter os dados a carregar. O Content-Type cabeçalho será definido para o tipo de conteúdo dos dados.

Por exemplo, para carregar uma coleção de perímetros geográficos no GeoJSON formato, defina o corpo do pedido para o conteúdo geográfico. Defina o dataFormat parâmetro de consulta como geojson e defina o Content-Type cabeçalho para um dos seguintes tipos de suporte de dados:

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

Eis um corpo de pedido de exemplo para carregar um Geofence simples representado como uma geometria circular com um ponto central e um raio. O exemplo abaixo encontra-se em GeoJSON:

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

A API de Carregamento de Dados executa uma operação de execução prolongada.

Limites de Carregamento de Dados

Tenha em atenção que, atualmente, todas as Azure Maps conta têm um limite de armazenamento de dados. Assim que o limite de armazenamento for atingido, todas as novas chamadas à API de carregamento devolverão uma 409 Conflict resposta de erro http. Pode sempre utilizar a API de Eliminação de Dados para eliminar conteúdos antigos/não utilizados e criar espaço para novos carregamentos.

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}

Parâmetros do URI

Name Em Necessário Tipo Description
geography
path True

string

Este parâmetro especifica onde está localizado o recurso Azure Maps Criador. Os valores válidos são nós e eu.

api-version
query True

string

Número da versão da API Azure Maps. A versão atual é 1.0

dataFormat
query True

UploadDataFormat

Formato de dados do conteúdo a ser carregado.

subscription-key
query

string

Uma das chaves de Azure Maps fornecidas a partir de uma Conta do Azure Map. Veja este artigo para obter detalhes sobre como gerir a autenticação.

Cabeçalho do Pedido

Name Necessário Tipo Description
x-ms-client-id

string

Especifica a conta que se destina à utilização em conjunto com o modelo de segurança Microsoft Entra ID. Representa um ID exclusivo para a conta Azure Maps e pode ser obtido a partir da API de Conta do plano de gestão Azure Maps. Para utilizar Microsoft Entra ID segurança no Azure Maps consulte os seguintes artigos para obter orientações.

Corpo do Pedido

Name Tipo Description
UploadContent

object

O conteúdo a carregar.

Respostas

Name Tipo Description
200 OK

ODataErrorResponse

Falha no carregamento 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

Suportado apenas para pedido assíncrono. Pedido Aceite: o pedido foi aceite para processamento. Utilize o URL no Cabeçalho da Localização para repetir ou aceder aos resultados.

Headers

Location: string

400 Bad Request

ODataErrorResponse

Pedido incorreto: um ou mais parâmetros foram especificados incorretamente ou são mutuamente exclusivos.

401 Unauthorized

ODataErrorResponse

Acesso negado devido a chave de subscrição inválida ou token de portador de Microsoft Entra ID inválido. Confirme que fornece uma chave válida para uma subscrição ativa do Azure e um recurso do Maps. Caso contrário, verifique o cabeçalho WWW-Authenticate para obter o código de erro e a descrição do token de portador de 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: não foi possível localizar o recurso pedido, mas poderá estar novamente disponível no futuro.

500 Internal Server Error

ODataErrorResponse

Ocorreu um erro ao processar o pedido. Tente novamente mais tarde.

Segurança

AADToken

Estes são os fluxos Microsoft Entra OAuth 2.0. Quando emparelhado com o controlo de acesso baseado em funções do Azure, pode ser utilizado para controlar o acesso às APIs REST Azure Maps. Os controlos de acesso baseados em funções do Azure são utilizados para designar o acesso a uma ou mais Azure Maps conta de recursos ou sub-recursos. Qualquer utilizador, grupo ou principal de serviço pode ter acesso através de uma função incorporada ou de uma função personalizada composta por uma ou mais permissões para Azure Maps APIs REST.

Para implementar cenários, recomendamos que veja os conceitos de autenticação. Em resumo, esta definição de segurança fornece uma solução para modelar aplicações através de objetos com capacidade de controlo de acesso em APIs e âmbitos específicos.

Notas

  • Esta definição de segurança requer a utilização do x-ms-client-id cabeçalho para indicar a que recurso Azure Maps a aplicação está a pedir acesso. Isto pode ser adquirido a partir da API de gestão do Maps.

O Authorization URL é específico da instância da cloud pública do Azure. As clouds soberanas têm URLs de Autorização exclusivos e configurações de Microsoft Entra ID. * O controlo de acesso baseado em funções do Azure está configurado a partir do plano de gestão do Azure através de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST. * A utilização do SDK Web Azure Maps permite a configuração baseada na configuração de uma aplicação para vários casos de utilização.

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

Esta é uma chave partilhada que é aprovisionada quando Cria uma conta Azure Maps no portal do Azure ou com o PowerShell, a CLI, os SDKs do Azure ou a API REST.

Com esta chave, qualquer aplicação pode aceder a toda a API REST. Por outras palavras, esta chave pode ser utilizada como uma chave mestra na conta na qual são emitidas.

Para aplicações expostas publicamente, a nossa recomendação é utilizar a abordagem de aplicações cliente confidenciais para aceder Azure Maps APIs REST para que a sua chave possa ser armazenada de forma segura.

Type: apiKey
In: query

SAS Token

Este é um token de assinatura de acesso partilhado criado a partir da operação Listar SAS no recurso Azure Maps através do plano de gestão do Azure através de portal do Azure, PowerShell, CLI, SDKs do Azure ou APIs REST.

Com este token, qualquer aplicação está autorizada a aceder com controlos de acesso baseados em funções do Azure e controlo detalhado para a expiração, taxa e regiões de utilização para o token específico. Por outras palavras, o Token de SAS pode ser utilizado para permitir que as aplicações controlem o acesso de uma forma mais segura do que a chave partilhada.

Para aplicações expostas publicamente, a nossa recomendação é configurar uma lista específica de origens permitidas no recurso da conta de Mapa para limitar o abuso de composição e renovar regularmente o Token de SAS.

Type: apiKey
In: header

Exemplos

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

Definições

Name Description
LongRunningOperationResult

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

ODataError

Este objeto é devolvido quando ocorre um erro na API de Azure Maps.

ODataErrorResponse

Este objeto de resposta é devolvido quando ocorre um erro na API Azure Maps.

type

O estado do pedido.

UploadDataFormat

Formato de dados do conteúdo a ser carregado.

LongRunningOperationResult

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

Name Tipo Description
created

string

O carimbo de data/hora criado.

error

ODataError

Este objeto é devolvido quando ocorre um erro na API de Azure Maps.

operationId

string

O ID desta operação de execução prolongada.

resourceLocation

string

O URI de localização para obter detalhes sobre o recurso criado. Isto só é fornecido quando o pedido foi concluído com êxito.

status

type

O estado do pedido.

warning

ODataError

Este objeto é devolvido quando ocorre um erro na API de Azure Maps.

ODataError

Este objeto é devolvido quando ocorre um erro na API de Azure Maps.

Name Tipo Description
code

string

O código ODataError.

details

ODataError[]

Este objeto é devolvido quando ocorre um erro na API de Azure Maps.

message

string

Se disponível, uma descrição legível por humanos do erro.

target

string

Se disponível, o destino está a causar o erro.

ODataErrorResponse

Este objeto de resposta é devolvido quando ocorre um erro na API Azure Maps.

Name Tipo Description
error

ODataError

Este objeto é devolvido quando ocorre um erro na API de Azure Maps.

type

O estado do pedido.

Name Tipo Description
Failed

string

O pedido tem uma ou mais falhas.

NotStarted

string

O pedido ainda não começou a ser processado.

Running

string

O pedido começou a ser processado.

Succeeded

string

O pedido foi concluído com êxito.

UploadDataFormat

Formato de dados do conteúdo a ser carregado.

Name Tipo Description
geojson

string

GeoJSON é um formato de intercâmbio de dados geoespacial baseado em JSON.

zip

string

Formato de dados comprimidos.