Comece a rastrear com a Amazon Location - Amazon Location Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Comece a rastrear com a Amazon Location

Esta seção orienta você na criação de um aplicativo de rastreamento que captura a localização dos dispositivos.

Criar um rastreador

Crie um recurso de rastreador para armazenar e processar as atualizações de posição de seus dispositivos. Você pode usar o console do Amazon Location Service AWS CLI, o ou o Amazon LocationAPIs.

Cada atualização de posição armazenada em seus recursos de rastreador pode incluir uma medida da precisão da posição e até três campos de metadados sobre a posição ou o dispositivo que você deseja armazenar. Os metadados são armazenados como pares chave-valor e podem armazenar informações como velocidade, direção, pressão dos pneus ou temperatura do motor.

Os rastreadores filtram as atualizações de posição à medida que elas são recebidas. Isso reduz o ruído visual nos caminhos do dispositivo (chamado de instabilidade) e reduz o número de eventos falsos de entrada e saída da geocerca. Isso também ajuda a gerenciar custos, reduzindo o número de avaliações iniciadas de geocercas.

Os rastreadores oferecem três opções de filtragem de posições para ajudar a gerenciar custos e reduzir a instabilidade nas atualizações de localização.

  • Baseado na precisão: use com qualquer dispositivo que forneça uma medição de precisão. A maioria dos dispositivos móveis fornece essas informações. A precisão de cada medição de posição é afetada por muitos fatores ambientais, incluindo recepção de GPS satélite, paisagem e proximidade de dispositivos Wi-Fi e Bluetooth. A maioria dos dispositivos, incluindo a maioria dos dispositivos móveis, pode fornecer uma estimativa da precisão da medição junto com a medição. Com a filtragem AccuracyBased, o Amazon Location ignora atualizações de localização se o dispositivo tiver se movido menos em relação à precisão medida. Por exemplo, se duas atualizações consecutivas de um dispositivo tiverem uma faixa de precisão de 5 m e 10 m, o Amazon Location ignora a segunda atualização se o dispositivo tiver se movido menos de 15 m. O Amazon Location não avalia nem armazena as atualizações ignoradas em relação a geocercas.

    Quando a precisão não é fornecida, ela é tratada como zero, a medição é considerada perfeitamente precisa.

    nota

    Você também pode usar a filtragem baseada em precisão para remover toda a filtragem. Se você selecionar a filtragem com base na precisão, mas substituir todos os dados de precisão para zero ou omitir totalmente a precisão, o Amazon Location não filtrará nenhuma atualização.

  • Baseada na distância: use quando seus dispositivos não fornecem uma medição precisa, mas você quer aproveitar a filtragem para reduzir a instabilidade e gerenciar os custos mesmo assim. A filtragem DistanceBased ignora as atualizações de localização nas quais os dispositivos se moveram menos de 30 m (98,4 pés). Quando você usa a filtragem de posições DistanceBased, o Amazon Location não avalia nem armazena essas atualizações ignoradas em relação a geocercas.

    A precisão da maioria dos dispositivos móveis, incluindo a precisão média dos dispositivos iOS e Android, é de cerca de 15 m. Na maioria dos aplicativos, a filtragem DistanceBased pode reduzir o efeito das imprecisões de localização ao exibir a trajetória do dispositivo em um mapa e o efeito de vai e vem de vários eventos consecutivos de entrada e saída quando os dispositivos estão próximos à borda de uma geocerca. Ela também pode ajudar a reduzir o custo do seu aplicativo, fazendo menos chamadas para avaliar as geocercas vinculadas ou recuperar as posições dos dispositivos.

  • Baseada no tempo: (padrão) use quando seus dispositivos enviam atualizações de posição com muita frequência (mais de uma vez a cada 30 segundos) e você deseja obter as avaliações da geocerca em tempo quase real sem armazenar todas as atualizações.Na filtragem TimeBased, cada atualização de localização é avaliada em relação a coleções de geocercas vinculadas, mas nem todas as atualizações de localização são armazenadas. Se a frequência de atualização for superior a 30 segundos, apenas uma atualização a cada 30 segundos será armazenada para cada ID de dispositivo exclusivo.

nota

Esteja atento aos custos do seu aplicativo de rastreamento ao decidir seu método de filtragem e a frequência das atualizações de posição. Você é cobrado por cada atualização de localização e uma vez para avaliar a atualização de posição em relação a cada coleção de geocercas vinculada. Por exemplo, ao usar a filtragem baseada no tempo, se seu rastreador estiver vinculado a duas coleções de geocercas, cada atualização de posição contará como uma solicitação de atualização de localização e duas avaliações da coleção de geocercas. Se você estiver registrando atualizações de posição a cada cinco segundos para seus dispositivos e usando a filtragem com base no tempo, você será cobrado por 720 atualizações de localização e 1.440 avaliações da geocerca por hora para cada dispositivo.

Sua fatura não é afetada pelo número de geocercas em cada coleção. Como cada coleção de geocercas pode conter até 50 mil geocercas, convém combinar suas geocercas em menos coleções, sempre que possível, para reduzir o custo das avaliações das geocercas.

Por padrão, você receberá EventBridge eventos sempre que um dispositivo rastreado entrar ou sair de uma cerca geográfica vinculada. Para obter mais informações, consulte Tutorial: vincular um rastreador a uma coleção de cercas geográficas na Amazon Location.

Você pode ativar eventos para todas as atualizações de posição filtradas para um recurso de rastreador. Para obter mais informações, consulte Ativar eventos de atualização para um rastreador.

nota

Se você deseja criptografar seus dados usando sua própria chave gerenciada pelo AWS KMS cliente, o recurso Bounding Polygon Queries será desativado por padrão. Isso ocorre porque, ao usar esse recurso Bounding Polygon Queries, uma representação das posições do seu dispositivo não será criptografada usando a chave gerenciada. AWS KMS No entanto, a posição exata do dispositivo é criptografada mesmo assim usando sua chave gerenciada.

Você pode optar por ativar o atributo Bounding Polygon Queries definindo o parâmetro KmsKeyEnableGeospatialQueries como verdadeiro ao criar ou atualizar um rastreador.

Console

Para criar um rastreador usando o console do Amazon Location

  1. Abra o console do Amazon Location Service em https://console.aws.amazon.com/location/.

  2. No painel de navegação à esquerda, selecione Rastreadores.

  3. Selecione Criar rastreador.

  4. Preencha os seguintes campos:

    • Nome: insira um nome exclusivo. Por exemplo, ExampleTracker. Máximo de 100 caracteres. Entradas válidas incluem caracteres alfanuméricos, hifens, pontos e sublinhados.

    • Descrição: Insira uma descrição opcional.

  5. Em Filtragem de posições, escolha a opção que melhor se adequa à forma como você pretende usar seu recurso de rastreador. Se você não definir Filtragem de posições, a configuração padrão será TimeBased. Para obter mais informações, consulte Saiba mais sobre rastreadores no Amazon Location Service este guia e a Referência PositionFiltering de rastreadores API do Amazon Location Service.

  6. (Opcional) Em Tags, insira uma tag Chave e Valor. Isso adiciona uma tag à sua nova coleção de geocercas. Para obter mais informações, consulte Marcar seus recursos.

  7. (Opcional) Em Criptografia de chave gerenciada pelo cliente, você pode selecionar Adicionar uma chave gerenciada pelo cliente. Isso adiciona uma chave simétrica gerenciada pelo cliente que você cria, possui e gerencia por meio da criptografia padrão de AWS propriedade. Para obter mais informações, consulte Criptografia de dados em repouso.

  8. (Opcional) Em KmsKeyEnableGeospatialQueries, você pode optar por ativar as consultas geoespaciais. Isso permite que você use o recurso Bounding Polygon Queries e, ao mesmo tempo, criptografe seus dados usando uma chave gerenciada pelo cliente. AWS KMS

    nota

    Quando você usa o atributo Bounding Polygon Queries, a representação das suas posições dos dispositivos não é criptografada usando a chave gerenciada AWS KMS . No entanto, a posição exata do dispositivo é criptografada mesmo assim usando sua chave gerenciada.

  9. (Opcional) Em EventBridge configuração, você pode optar por ativar EventBridge eventos para atualizações de posição filtradas. Isso enviará um evento sempre que uma atualização de posição de um dispositivo nesse rastreador atender à avaliação de filtragem de posições.

  10. Selecione Criar rastreador.

API

Para criar um rastreador usando a localização da Amazon APIs

Use a CreateTracker operação dos Amazon Location TrackersAPIs.

O exemplo a seguir usa uma API solicitação para criar um rastreador chamado ExampleTracker. O recurso rastreador está associado a uma AWS KMS chave gerenciada pelo cliente para criptografar os dados do cliente e não permite atualizações de posição em. EventBridge

POST /tracking/v0/trackers Content-type: application/json { "TrackerName": "ExampleTracker", "Description": "string", "KmsKeyEnableGeospatialQueries": false, "EventBridgeEnabled": false, "KmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "PositionFiltering": "AccuracyBased", "Tags": { "string" : "string" } }

Crie um rastreador com KmsKeyEnableGeospatialQueries ativado

O exemplo a seguir tem o parâmetro KmsKeyEnableGeospatialQueries definido como verdadeiro. Isso permite que você use o recurso Bounding Polygon Queries e, ao mesmo tempo, criptografe seus dados usando uma chave gerenciada pelo cliente. AWS KMS

Para obter informações sobre como usar o atributo Bounding Polygon Queries, consulte Liste suas posições dos dispositivos

nota

Quando você usa o recurso Bounding Polygon Queries, uma representação das posições do seu dispositivo não é criptografada usando a chave gerenciada. AWS KMS No entanto, a posição exata do dispositivo é criptografada mesmo assim usando sua chave gerenciada.

POST /tracking/v0/trackers Content-type: application/json { "TrackerName": "ExampleTracker", "Description": "string", "KmsKeyEnableGeospatialQueries": true, "EventBridgeEnabled": false, "KmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "PositionFiltering": "AccuracyBased", "Tags": { "string" : "string" } }
AWS CLI

Para criar um rastreador usando comandos AWS CLI

Use o comando create-tracker.

O exemplo a seguir usa o AWS CLI para criar um rastreador chamado ExampleTracker. O recurso rastreador está associado a uma AWS KMS chave gerenciada pelo cliente para criptografar os dados do cliente e não permite atualizações de posição em. EventBridge

aws location \ create-tracker \ --tracker-name "ExampleTracker" \ --position-filtering "AccuracyBased" \ --event-bridge-enabled false \ --kms-key-enable-geospatial-queries false \ --kms-key-id "1234abcd-12ab-34cd-56ef-1234567890ab"

Crie um rastreador com KmsKeyEnableGeospatialQueries ativado

O exemplo a seguir tem o parâmetro KmsKeyEnableGeospatialQueries definido como verdadeiro. Isso permite que você use o recurso Bounding Polygon Queries e, ao mesmo tempo, criptografe seus dados usando uma chave gerenciada pelo cliente. AWS KMS

Para obter informações sobre como usar o atributo Bounding Polygon Queries, consulte Liste suas posições dos dispositivos

nota

Quando você usa o recurso Bounding Polygon Queries, uma representação das posições do seu dispositivo não é criptografada usando a chave gerenciada. AWS KMS No entanto, a posição exata do dispositivo é criptografada mesmo assim usando sua chave gerenciada.

aws location \ create-tracker \ --tracker-name "ExampleTracker" \ --position-filtering "AccuracyBased" \ --event-bridge-enabled false \ --kms-key-enable-geospatial-queries true \ --kms-key-id "1234abcd-12ab-34cd-56ef-1234567890ab"
nota

O faturamento depende do seu uso. Você pode incorrer em taxas pelo uso de outros serviços da AWS . Para obter mais informações, consulte os preços do Amazon Location Service.

Você pode editar a Descrição, a filtragem de posição e a EventBridge configuração após a criação do rastreador, escolhendo Editar rastreador.

Autenticando suas solicitações

Depois de criar um recurso de rastreador e estiver pronto para começar a avaliar as posições dos dispositivos em relação às geocercas, escolha como autenticar suas solicitações:

  • Para explorar as formas para acessar os serviços, consulte Acessando o Amazon Location Service.

  • Se você quiser publicar as posições de dispositivos com solicitações não autenticadas, talvez você deva usar o Amazon Cognito.

    Exemplo

    O exemplo a seguir mostra o uso de um pool de identidades do Amazon Cognito para autorização, usando a AWS JavaScript SDKv3 e o Amazon Location. JavaScript Auxiliar de autenticação

    import { LocationClient, BatchUpdateDevicePositionCommand } from "@aws-sdk/client-location"; import { withIdentityPoolId } from "@aws/amazon-location-utilities-auth-helper"; // Unauthenticated identity pool you created const identityPoolId = "us-east-1:1234abcd-5678-9012-abcd-sample-id"; // Create an authentication helper instance using credentials from Cognito const authHelper = await withIdentityPoolId(identityPoolId); const client = new LocationClient({ region: "us-east-1", // The region containing both the identity pool and tracker resource ...authHelper.getLocationClientConfig(), // Provides configuration required to make requests to Amazon Location }); const input = { TrackerName: "ExampleTracker", Updates: [ { DeviceId: "ExampleDevice-1", Position: [-123.4567, 45.6789], SampleTime: new Date("2020-10-02T19:09:07.327Z"), }, { DeviceId: "ExampleDevice-2", Position: [-123.123, 45.123], SampleTime: new Date("2020-10-02T19:10:32Z"), }, ], }; const command = new BatchUpdateDevicePositionCommand(input); // Send device position updates const response = await client.send(command);

Atualize seu rastreador com a posição de um dispositivo

Para rastrear seus dispositivos, você pode publicar atualizações das posições dos dispositivos em seu rastreador. Posteriormente, você pode recuperar essas posições dos dispositivos ou o histórico das posições do dispositivo a partir do seu recurso de rastreador.

Cada atualização de posição deve incluir a ID do dispositivo, um carimbo de data e hora e uma posição. Opcionalmente, você pode incluir outros metadados, incluindo a precisão e até três pares chave-valor para seu próprio uso.

Se o seu rastreador estiver vinculado a uma ou mais coleções de geocercas, as atualizações serão avaliadas em relação a essas geocercas (seguindo as regras de filtragem que você especificou para o rastreador). Se um dispositivo violar uma área cercada geograficamente (movendo-se de dentro para fora da área ou vice-versa), você receberá eventos em. EventBridge Esses ENTER ou EXIT eventos incluem os detalhes da atualização da posição, incluindo a ID do dispositivo, o timestamp e quaisquer metadados associados.

nota

Para obter mais informações sobre a filtragem de posições, consulte Criar um rastreador.

Para obter mais informações sobre os eventos das geocercas, consulte Reagindo aos eventos do Amazon Location Service com a Amazon EventBridge.

Use um desses métodos para enviar atualizações do dispositivo:

  • Envie MQTT atualizações para um recurso AWS do IoT Core e vincule-o ao seu recurso rastreador.

  • Envie atualizações de localização usando os Amazon Location TrackersAPI, usando o AWS CLI, ou o Amazon Location. APIs Você pode usar o AWS SDKspara ligar para o a APIs partir do seu aplicativo iOS ou Android.

API

Para enviar uma atualização de posição usando a localização da Amazon APIs

Use a BatchUpdateDevicePosition operação dos Amazon Location TrackersAPIs.

O exemplo a seguir usa uma API solicitação para publicar uma atualização da posição do dispositivo para ExampleDevice para um rastreador ExampleTracker.

POST /tracking/v0/trackers/ExampleTracker/positions Content-type: application/json { "Updates": [ { "DeviceId": "1", "Position": [ -123.12245146162303, 49.27521118043802 ], "SampleTime": "2022-10-24T19:09:07.327Z", "PositionProperties": { "name" : "device1" }, "Accuracy": { "Horizontal": 10 } }, { "DeviceId": "2", "Position": [ -123.1230104928471, 49.27752402723152 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "3", "Position": [ -123.12325592118916, 49.27340530543111 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "4", "Position": [ -123.11958813096311, 49.27774641063121 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "5", "Position": [ -123.1277418058896, 49.2765989015285 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "6", "Position": [ -123.11964267059481, 49.274188155916534 ], "SampleTime": "2022-10-02T19:09:07.327Z" } ] }
AWS CLI

Para enviar uma atualização de posição usando comandos AWS CLI

Use o comando batch-update-device-position.

O exemplo a seguir usa um AWS CLI para publicar uma atualização da posição do dispositivo para ExampleDevice-1 e ExampleDevice-2 para um rastreador ExampleTracker.

aws location batch-update-device-position \ --tracker-name ExampleTracker \ --updates '[{"DeviceId":"ExampleDevice-1","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z"},{"DeviceId":"ExampleDevice-2","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z","Accuracy":{"Horizontal":10.30},"PositionProperties":{"field1":"value1","field2":"value2"}}]'

Obtenha o histórico de localização de um dispositivo a partir de um rastreador

Seu recurso de rastreador do Amazon Location guarda o histórico de localização de todos os seus dispositivos rastreados por um período de 30 dias. Você pode recuperar o histórico de localização do dispositivo, incluindo todos os metadados associados, do seu recurso de rastreador. Os exemplos a seguir usam o AWS CLI, ou o Amazon LocationAPIs.

API

Para obter o histórico de localização do dispositivo de um rastreador usando o Amazon Location APIs

Use a GetDevicePositionHistory operação dos Amazon Location TrackersAPIs.

O exemplo a seguir usa uma API URI solicitação para obter o histórico de localização do dispositivo de ExampleDevice de um rastreador chamado ExampleTracker começando de 19:05:07 (inclusive) e termina em 19:20:07 (exclusivo) em2020–10–02.

POST /tracking/v0/trackers/ExampleTracker/devices/ExampleDevice/list-positions Content-type: application/json { "StartTimeInclusive": "2020-10-02T19:05:07.327Z", "EndTimeExclusive": "2020-10-02T19:20:07.327Z" }
AWS CLI

Para obter o histórico de localização do dispositivo de um rastreador usando comandos AWS CLI

Use o comando get-device-position-history.

O exemplo a seguir usa um AWS CLI para obter o histórico de localização do dispositivo de ExampleDevice de um rastreador chamado ExampleTracker começando de 19:05:07 (inclusive) e termina em 19:20:07 (exclusivo) em2020–10–02.

aws location \ get-device-position-history \ --device-id "ExampleDevice" \ --start-time-inclusive "2020-10-02T19:05:07.327Z" \ --end-time-exclusive "2020-10-02T19:20:07.327Z" \ --tracker-name "ExampleTracker"

Liste suas posições dos dispositivos

Você pode ver uma lista de posições de dispositivos para um rastreador usando o AWS CLI, ou o Amazon LocationAPIs, com o. ListDevicePositions API Quando você liga para o ListDevicePositions API, uma lista das posições mais recentes de todos os dispositivos associados a um determinado rastreador é retornada. Por padrão, isso API retorna 100 das posições mais recentes do dispositivo por página de resultados para um determinado rastreador. Para retornar somente os dispositivos que estão dentro de uma região específica, use o parâmetro FilterGeometry para criar uma Bounding Polygon Query (solicitação do polígono limítrofe). Dessa forma, quando você ligar ListDevicePositions, somente os dispositivos dentro do polígono serão retornados.

nota

Se você deseja criptografar seus dados usando sua própria chave gerenciada pelo AWS KMS cliente, o recurso Bounding Polygon Queries será desativado por padrão. Isso ocorre porque, ao usar esse recurso, uma representação das posições do seu dispositivo não será criptografada usando a chave AWS KMS gerenciada. A posição exata do dispositivo é criptografada mesmo assim usando sua chave gerenciada.

Você pode optar por ativar o atributo Bounding Polygon Queries. Isso é feito definindo o parâmetro KmsKeyEnableGeospatialQueries como verdadeiro ao criar ou atualizar um rastreador.

API

Use a ListDevicePositions operação dos Amazon Location TrackersAPIs.

O exemplo a seguir é uma API solicitação para obter uma lista das posições do dispositivo na área poligonal, usando o parâmetro opcional. FilterGeometry O exemplo retorna três localizações de dispositivos presentes na área definida pelo array Polygon.

POST /tracking/v0/trackers/TrackerName/list-positions HTTP/1.1 Content-type: application/json { "FilterGeometry": { "Polygon": [ [ [ -123.12003339442259, 49.27425121147397 ], [ -123.1176984148229, 49.277063620879744 ], [ -123.12389509145294, 49.277954183760926 ], [ -123.12755921328647, 49.27554025235713 ], [ -123.12330236586217, 49.27211836076236 ], [ -123.12003339442259, 49.27425121147397 ] ] ] }, "MaxResults": 3, "NextToken": "1234-5678-9012" }

Este é um exemplo de resposta para ListDevicePositions:

{ "Entries": [ { "DeviceId": "1", "SampleTime": "2022-10-24T19:09:07.327Z", "Position": [ -123.12245146162303, 49.27521118043802 ], "Accuracy": { "Horizontal": 10 }, "PositionProperties": { "name": "device1" } }, { "DeviceId": "3", "SampleTime": "2022-10-02T19:09:07.327Z", "Position": [ -123.12325592118916, 49.27340530543111 ] }, { "DeviceId": "2", "SampleTime": "2022-10-02T19:09:07.327Z", "Position": [ -123.1230104928471, 49.27752402723152 ] } ], "NextToken": "1234-5678-9012" }
CLI

Use o comando list-trackers.

O exemplo a seguir é AWS CLI para obter uma lista de dispositivos em uma área poligonal.

aws location list-device-positions TODO: add arguments add props for filter geo