Data - Upload Preview
A solicitação Carregar permite que o chamador carregue o conteúdo dos dados em sua conta Azure Mapas.
Aplica-se a: Tipo de preço S1.
A API de Carregamento de Dados permite que o chamador carregue o conteúdo dos dados no serviço Azure Mapas.
Você pode usar essa API em um cenário como carregar uma coleção de Cercas Geográficas no GeoJSON
formato, para uso em nosso serviço de geofencing Azure Mapas.
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 Carregamento
Para carregar seu conteúdo, você usará uma solicitação POST
. O corpo da solicitação conterá os dados a serem carregados. O Content-Type
cabeçalho será definido como o tipo de conteúdo dos dados.
Por exemplo, para carregar uma coleção de cercas geográficas no GeoJSON
formato, defina o corpo da solicitação como o conteúdo de cerca geográfica. Defina o dataFormat
parâmetro de consulta como geojson e defina o Content-Type
cabeçalho como um dos seguintes tipos de mídia:
application/json
application/vnd.geo+json
application/octet-stream
Veja a seguir um corpo de solicitação de exemplo para carregar uma cerca geográfica simples representada 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 API de Carregamento de Dados executa uma operação de execução prolongada.
Limites de carregamento 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.
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 de URI
Nome | Em | Obrigatório | Tipo | Description |
---|---|---|---|---|
geography
|
path | True |
string |
Esse parâmetro especifica onde o recurso criador de Azure Mapas está localizado. Os valores válidos são nós e eu. |
api-version
|
query | True |
string |
Número de versão da API de Mapas Azure. A versão atual é 1.0 |
data
|
query | True |
Formato de dados do conteúdo que está sendo carregado. |
|
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 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 |
---|---|---|
UploadContent |
object |
O conteúdo a ser carregado. |
Respostas
Nome | Tipo | Description |
---|---|---|
200 OK |
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 |
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 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 à 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 às APIs REST Azure Mapas. 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 ao qual 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 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 a partir da 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 à expiração, taxa e 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 do Mapa para limitar o abuso de renderização e renovar regularmente o Token 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
Nome | Description |
---|---|
Long |
O modelo de resposta para uma API de operações de Long-Running. |
OData |
Esse objeto é retornado quando ocorre um erro na API de Azure Mapas. |
OData |
Esse objeto de resposta é retornado quando ocorre um erro na API de Azure Mapas. |
type |
O estado status da solicitação. |
Upload |
Formato de dados do conteúdo que está sendo carregado. |
LongRunningOperationResult
O modelo de resposta para uma API de operações de Long-Running.
Nome | Tipo | Description |
---|---|---|
created |
string |
O carimbo de data/hora criado. |
error |
Esse objeto é retornado quando ocorre um erro na API de Azure Mapas. |
|
operationId |
string |
A ID desta 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 de Azure Mapas. |
ODataError
Esse objeto é retornado quando ocorre um erro na API de Azure Mapas.
Nome | Tipo | Description |
---|---|---|
code |
string |
O código ODataError. |
details |
Esse objeto é retornado quando ocorre um erro na API de Azure Mapas. |
|
message |
string |
Se disponível, uma descrição legível pelo homem do erro. |
target |
string |
Se disponível, o destino causará o erro. |
ODataErrorResponse
Esse objeto de resposta é retornado quando ocorre um erro na API de Azure Mapas.
Nome | Tipo | Description |
---|---|---|
error |
Esse objeto é retornado quando ocorre um erro na API de 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. |
UploadDataFormat
Formato de dados do conteúdo que está sendo carregado.
Nome | Tipo | Description |
---|---|---|
geojson |
string |
GeoJSON é um formato de intercâmbio de dados geoespacial baseado em JSON. |
zip |
string |
Formato de dados compactado. |