

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á.

# Entenda como AWS Ground Station usa efemérides
<a name="ephemeris"></a>

 Uma [efeméride](https://en.wikipedia.org/wiki/Ephemeris), efemérides no plural, é um arquivo ou estrutura de dados que fornece a trajetória de objetos astronômicos. Historicamente, esse arquivo se referia apenas a dados tabulares, mas, gradualmente, passou a direcionar para uma ampla variedade de arquivos de dados indicando a trajetória de uma espaçonave. 

 A API Ephemeris permite que efemérides personalizadas sejam enviadas para AWS Ground Station uso com um satélite. [Essas efemérides substituem as efemérides padrão do Space-Track (consulte:).](https://www.space-track.org/) [Dados de efemérides padrão](default-ephemeris-data.md) Oferecemos suporte ao recebimento de dados de efemérides nos formatos Orbit Ephemeris Message (OEM), elemento de duas linhas (TLE) e elevação de azimute. 

 AWS Ground Station usa dados de efemérides para determinar quando os contatos ficam disponíveis com base nas efemérides fornecidas e comanda corretamente as antenas na rede. AWS Ground Station [Por padrão, nenhuma ação é necessária para AWS Ground Station fornecer efemérides se seu satélite tiver um ID NORAD atribuído.](https://en.wikipedia.org/wiki/Satellite_Catalog_Number) 

 O upload de efemérides personalizadas pode melhorar a qualidade do rastreamento, lidar com operações iniciais em que não há efemérides do [Space-Track disponíveis](https://www.space-track.org/) e contabilizar as manobras. AWS Ground Station

 Como alternativa, AWS Ground Station suporta um formato de elevação de azimute, que permite especificar diretamente as direções de apontamento da antena sem fornecer informações orbitais do satélite. Isso é útil para cenários em que o apontamento preciso da antena é necessário porque as informações da trajetória do satélite são imprecisas ou desconhecidas. 

**Topics**
+ [Dados de efemérides padrão](default-ephemeris-data.md)
+ [Forneça dados de efemérides personalizados](providing-custom-ephemeris-data.md)
+ [Reserve contatos com efemérides personalizadas](reserving-contacts-with-custom-ephemeris.md)
+ [Entenda quais efemérides são usadas](which-ephemeris-is-used.md)
+ [Obtenha as efemérides atuais de um satélite](getting-current-ephemeris.md)
+ [Reverter para dados de efemérides padrão](reverting-to-default-ephemeris-data.md)

# Dados de efemérides padrão
<a name="default-ephemeris-data"></a>

 Por padrão, AWS Ground Station usa dados publicamente disponíveis do [Space-Track](https://www.space-track.org/), e nenhuma ação é necessária para AWS Ground Station fornecer essas efemérides padrão. [Essas efemérides são [conjuntos de elementos de duas linhas (TLEs) associados ao ID](https://en.wikipedia.org/wiki/Two-line_element_set) NORAD do seu satélite.](https://en.wikipedia.org/wiki/Satellite_Catalog_Number) Todas as efemérides padrão têm uma prioridade de. `0` Como resultado, elas serão sempre substituídas por quaisquer efemérides personalizadas não expiradas enviadas por meio da API de efemérides, que sempre deve ter uma prioridade igual ou superior. `1` 

 Os satélites sem um ID NORAD devem carregar dados de efemérides personalizados para. AWS Ground Station Por exemplo, satélites que acabaram de ser lançados ou que foram intencionalmente omitidos do catálogo do [Space-Track](https://www.space-track.org/) não teriam ID NORAD e precisariam ter efemérides personalizadas carregadas. Para obter mais informações sobre como fornecer dados de efemérides personalizados, consulte: [Fornecimento de dados de efemérides personalizados](providing-custom-ephemeris-data.md). 

# Forneça dados de efemérides personalizados
<a name="providing-custom-ephemeris-data"></a>

**Importante**  
 A API Ephemeris está atualmente em um estado de visualização 

 O acesso à API Ephemeris é fornecido somente conforme a necessidade. Se você precisar fazer upload de dados de efemérides personalizados, abra um AWS Support ticket por meio do. [AWS Support Center Console](https://console.aws.amazon.com/support) Nossa equipe trabalhará com você para habilitar esse recurso para suas necessidades específicas. 

## Visão geral do
<a name="w2aac28c17b7"></a>

 A API Ephemeris permite que efemérides personalizadas sejam enviadas para AWS Ground Station uso com um satélite. [Essas efemérides substituem as efemérides padrão do Space-Track (consulte:).](https://www.space-track.org/) [Dados de efemérides padrão](default-ephemeris-data.md) Oferecemos suporte ao recebimento de dados de efemérides nos formatos Orbit Ephemeris Message (OEM), elemento de duas linhas (TLE) e elevação de azimute. 

 AWS Ground Station trata as efemérides como dados de uso [individualizados](https://aws.amazon.com/service-terms). Se você usar esse recurso opcional, a AWS usará seus dados de efemérides para fornecer suporte à solução de problemas. 

 O upload de efemérides personalizadas pode melhorar a qualidade do rastreamento, lidar com operações nas quais não há efemérides do [Space-Track disponíveis](https://www.space-track.org/) e contabilizar as manobras. AWS Ground Station

 Para solucionar uma efeméride inválida, consulte: [Solucionar problemas de efemérides inválidas](troubleshooting-invalid-ephemerides.md) 

## Exemplo: uso de efemérides fornecidas pelo cliente com AWS Ground Station
<a name="w2aac28c17b9"></a>

 [Para obter instruções mais detalhadas sobre como usar efemérides fornecidas pelo cliente com AWS Ground Station, consulte Como usar efemérides [fornecidas pelo cliente com e seu repositório associado aws-samples/](https://aws.amazon.com/blogs/publicsector/using-customer-provided-ephemerides-with-aws-ground-station/). AWS Ground Station GitHub aws-groundstation-cpe](https://github.com/aws-samples/aws-groundstation-cpe) 

# Forneça dados de efemérides do TLE
<a name="providing-tle-ephemeris-data"></a>

**Importante**  
 A API Ephemeris está atualmente em um estado de visualização 

 O acesso à API Ephemeris é fornecido somente conforme a necessidade. Se você precisar fazer upload de dados de efemérides personalizados, abra um AWS Support ticket por meio do. [AWS Support Center Console](https://console.aws.amazon.com/support) Nossa equipe trabalhará com você para habilitar esse recurso para suas necessidades específicas. 

## Visão geral do
<a name="w2aac28c17c11b7"></a>

 Os conjuntos de elementos de duas linhas (TLE) são um formato padronizado para descrever as órbitas dos satélites. A API Ephemeris permite que as efemérides do TLE sejam enviadas para AWS Ground Station uso com um satélite. [Essas efemérides substituem as efemérides padrão do Space-Track (consulte:).](https://www.space-track.org/) [Dados de efemérides padrão](default-ephemeris-data.md) 

 AWS Ground Station trata as efemérides como dados de uso [individualizados](https://aws.amazon.com/service-terms). Se você usar esse recurso opcional, a AWS usará seus dados de efemérides para fornecer suporte à solução de problemas. 

 O upload de efemérides TLE personalizadas pode melhorar a qualidade do rastreamento, lidar com operações iniciais em que não há efemérides do [Space-Track disponíveis](https://www.space-track.org/) e contabilizar as manobras. AWS Ground Station

**nota**  
 Ao fornecer efemérides personalizadas antes que um número de catálogo de satélite seja atribuído ao seu satélite, você pode usar `00000` para o campo de número de catálogo de satélite do TLE e `000` para a parte do número de lançamento do campo designador internacional do TLE (por exemplo, `24000A` para um veículo lançado em 2024).   
 Para obter mais informações sobre o formato de TLEs, consulte [Conjunto de elementos de duas linhas](https://en.wikipedia.org/wiki/Two-line_element_set). 

## Criando uma efeméride de TLE
<a name="w2aac28c17c11b9"></a>

 Uma efeméride de TLE pode ser criada usando a [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)ação na API. AWS Ground Station Essa ação fará o upload de uma efeméride usando dados no corpo da solicitação ou de um bucket do S3 especificado. 

 É importante observar que o upload de uma efeméride define as efemérides como `VALIDATING` e inicia um fluxo de trabalho assíncrono que validará e gerará contatos potenciais a partir de suas efemérides. Somente quando uma efeméride passar por esse fluxo de trabalho e se tornar `ENABLED`, ela será usada para contatos. Você deve pesquisar o status das efemérides ou usar CloudWatch eventos [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)para rastrear as mudanças de status das efemérides. 

 Para solucionar uma efeméride inválida, consulte: [Solucionar problemas de efemérides inválidas](troubleshooting-invalid-ephemerides.md) 

## Exemplo: criar efemérides de um conjunto de elementos de duas linhas (TLE) por meio da API
<a name="w2aac28c17c11c11"></a>

 A AWS SDKs CLI e pode ser usada para fazer upload de efemérides de um conjunto de elementos de duas linhas (TLE) por meio da chamada. AWS Ground Station [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html) Essas efemérides serão usadas no lugar dos dados de efemérides padrão de um satélite (consulte). [Dados de efemérides padrão](default-ephemeris-data.md) Este exemplo mostra como fazer isso usando o [AWS SDK para Python (](https://docs.aws.amazon.com/pythonsdk)Boto3). 

 Um conjunto TLE é um objeto formatado em JSON que TLEs une um ou mais para construir uma trajetória contínua. O TLEs conjunto TLE deve formar um conjunto contínuo que possamos usar para construir uma trajetória (ou seja, sem lacunas no tempo entre TLEs um conjunto TLE). Um conjunto de TLE de exemplo é mostrado abaixo: 

```
[
    {
        "tleLine1": "1 25994U 99068A   20318.54719794  .00000075  00000-0  26688-4 0  9997",
        "tleLine2": "2 25994  98.2007  30.6589 0001234  89.2782  18.9934 14.57114995111906",
        "validTimeRange": {
            "startTime": 12345,
            "endTime": 12346
        }
    },
    {
        "tleLine1": "1 25994U 99068A   20318.54719794  .00000075  00000-0  26688-4 0  9997",
        "tleLine2": "2 25994  98.2007  30.6589 0001234  89.2782  18.9934 14.57114995111906",
        "validTimeRange": {
            "startTime": 12346,
            "endTime": 12347
        }
    }
]
```

**nota**  
 Os intervalos de tempo do TLEs em um conjunto de TLE devem corresponder exatamente para serem uma trajetória contínua e válida. 

 Um conjunto TLE pode ser carregado por meio do cliente AWS Ground Station boto3 da seguinte forma: 

```
import boto3
from datetime import datetime, timedelta, timezone

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# Create TLE ephemeris
tle_ephemeris = ground_station_client.create_ephemeris(
    name="Example Ephemeris",
    satelliteId="2e925701-9485-4644-b031-EXAMPLE01",
    enabled=True,
    expirationTime=datetime.now(timezone.utc) + timedelta(days=3),
    priority=2,
    ephemeris={
        "tle": {
            "tleData": [
                {
                    "tleLine1": "1 25994U 99068A   20318.54719794  .00000075  00000-0  26688-4 0  9997",
                    "tleLine2": "2 25994  98.2007  30.6589 0001234  89.2782  18.9934 14.57114995111906",
                    "validTimeRange": {
                        "startTime": datetime.now(timezone.utc),
                        "endTime": datetime.now(timezone.utc) + timedelta(days=7),
                    },
                }
            ]
        }
    },
)

print(f"Created TLE ephemeris with ID: {tle_ephemeris['ephemerisId']}")
```

 Essa chamada retornará um EphemerisID que pode ser usado para referenciar as efemérides no futuro. Por exemplo, podemos usar o EphemerisId fornecido na chamada acima para pesquisar o status da efeméride: 

```
import boto3
from datetime import datetime, timedelta, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# First, create a TLE ephemeris
print("Creating TLE ephemeris...")

tle_ephemeris = ground_station_client.create_ephemeris(
    name="Example TLE Ephemeris for Description",
    satelliteId="2e925701-9485-4644-b031-EXAMPLE01",
    enabled=True,
    expirationTime=datetime.now(timezone.utc) + timedelta(days=3),
    priority=2,
    ephemeris={
        "tle": {
            "tleData": [
                {
                    "tleLine1": "1 25994U 99068A   20318.54719794  .00000075  00000-0  26688-4 0  9997",
                    "tleLine2": "2 25994  98.2007  30.6589 0001234  89.2782  18.9934 14.57114995111906",
                    "validTimeRange": {
                        "startTime": datetime.now(timezone.utc),
                        "endTime": datetime.now(timezone.utc) + timedelta(days=7),
                    },
                }
            ]
        }
    },
)

ephemeris_id = tle_ephemeris["ephemerisId"]
print(f"Created TLE ephemeris with ID: {ephemeris_id}")

# Describe the ephemeris immediately to check initial status
print("Describing ephemeris...")

response = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)

print(f"Ephemeris ID: {response['ephemerisId']}")
print(f"Name: {response['name']}")
print(f"Status: {response['status']}")
```

 Um exemplo de resposta da ação [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html) é fornecido abaixo 

```
{
  "creationTime": 1620254718.765,
  "enabled": true,
  "name": "Example Ephemeris",
  "ephemerisId": "fde41049-14f7-413e-bd7b-EXAMPLE01",
  "priority": 2,
  "status": "VALIDATING",
  "suppliedData": {
    "tle": {
      "ephemerisData": "[{\"tleLine1\": \"1 25994U 99068A   20318.54719794  .00000075  00000-0  26688-4 0  9997\",\"tleLine2\": \"2 25994  98.2007  30.6589 0001234  89.2782  18.9934 14.57114995111906\",\"validTimeRange\": {\"startTime\": 1620254712000,\"endTime\": 1620859512000}}]"
    }
  }
}
```

 É recomendável pesquisar a [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)rota ou usar CloudWatch eventos para rastrear o status das efemérides carregadas, pois elas devem passar por um fluxo de trabalho de validação assíncrona antes de serem configuradas `ENABLED` e se tornarem utilizáveis para agendar e executar contatos. 

 Observe que o ID NORAD TLEs em todo o conjunto TLE, `25994` nos exemplos acima, deve corresponder ao ID NORAD atribuído ao seu satélite no banco de dados do [Space-Track](https://www.space-track.org/). 

## Exemplo: carregamento de dados de efemérides do TLE de um bucket do S3
<a name="w2aac28c17c11c13"></a>

 Também é possível fazer upload de um arquivo de efemérides TLE diretamente de um bucket do S3 apontando para o bucket e a chave do objeto. AWS Ground Station recuperará o objeto em seu nome. As informações sobre a criptografia de dados em repouso AWS Ground Station estão detalhadas em:[Criptografia de dados em repouso para AWS Ground Station](security.encryption-at-rest.md). 

 Abaixo está um exemplo de upload de um arquivo de efemérides TLE de um bucket S3 

```
import boto3
from datetime import datetime, timedelta, timezone
import json

# Create AWS clients
s3_client = boto3.client("s3")
ground_station_client = boto3.client("groundstation")

# Define S3 bucket and key
bucket_name = "ephemeris-bucket"
object_key = "test_data.tle"

# Create sample TLE set data
# Note: For actual satellites, use real TLE data from sources like Space-Track
tle_set_data = [
    {
        "tleLine1": "1 25994U 99068A   20318.54719794  .00000075  00000-0  26688-4 0  9997",
        "tleLine2": "2 25994  98.2007  30.6589 0001234  89.2782  18.9934 14.57114995111906",
        "validTimeRange": {
            "startTime": datetime.now(timezone.utc),
            "endTime": datetime.now(timezone.utc) + timedelta(days=3),
        },
    },
    {
        "tleLine1": "1 25994U 99068A   20321.54719794  .00000075  00000-0  26688-4 0  9998",
        "tleLine2": "2 25994  98.2007  33.6589 0001234  89.2782  18.9934 14.57114995112342",
        "validTimeRange": {
            "startTime": datetime.now(timezone.utc) + timedelta(days=3),
            "endTime": datetime.now(timezone.utc) + timedelta(days=7),
        },
    },
]

# Convert to JSON string for upload
tle_json = json.dumps(tle_set_data, indent=2)

# Upload sample TLE data to S3
print(f"Uploading TLE set data to s3://{bucket_name}/{object_key}")

s3_client.put_object(
    Bucket=bucket_name, Key=object_key, Body=tle_json, ContentType="application/json"
)
print("TLE set data uploaded successfully to S3")
print(f"Uploaded {len(tle_set_data)} TLE entries covering 7 days")

# Create TLE ephemeris from S3
print("Creating TLE ephemeris from S3...")

s3_tle_ephemeris = ground_station_client.create_ephemeris(
    name="2022-11-05 S3 TLE Upload",
    satelliteId="fde41049-14f7-413e-bd7b-EXAMPLE01",
    enabled=True,
    expirationTime=datetime.now(timezone.utc) + timedelta(days=5),
    priority=2,
    ephemeris={"tle": {"s3Object": {"bucket": bucket_name, "key": object_key}}},
)

print(f"Created TLE ephemeris with ID: {s3_tle_ephemeris['ephemerisId']}")
```

# Forneça dados de efemérides do OEM
<a name="providing-oem-ephemeris-data"></a>

**Importante**  
 A API Ephemeris está atualmente em um estado de visualização 

 O acesso à API Ephemeris é fornecido somente conforme a necessidade. Se você precisar fazer upload de dados de efemérides personalizados, abra um AWS Support ticket por meio do. [AWS Support Center Console](https://console.aws.amazon.com/support) Nossa equipe trabalhará com você para habilitar esse recurso para suas necessidades específicas. 

## Visão geral do
<a name="w2aac28c17c13b7"></a>

 Orbit Ephemeris Message (OEM) é um formato padronizado para representar dados de trajetória de espaçonaves. A API Ephemeris permite que efemérides OEM sejam enviadas para uso com um satélite. AWS Ground Station [Essas efemérides substituem as efemérides padrão do Space-Track (consulte:).](https://www.space-track.org/) [Dados de efemérides padrão](default-ephemeris-data.md) 

 AWS Ground Station trata as efemérides como dados de uso [individualizados](https://aws.amazon.com/service-terms). Se você usar esse recurso opcional, AWS usará seus dados de efemérides para fornecer suporte à solução de problemas. 

 O upload de efemérides OEM personalizadas pode melhorar a qualidade do rastreamento, lidar com operações iniciais em que não há efemérides do [Space-Track](https://www.space-track.org/) disponíveis e contabilizar as manobras. AWS Ground Station

**nota**  
 Ao fornecer efemérides personalizadas antes que um número de catálogo de satélite seja atribuído ao seu satélite, você pode usar `satelliteId` para a `OBJECT_ID` parte do OEM.   
 Para obter mais informações sobre o formato do OEMs, consulte[Formato de efemérides OEM](#oem-ephemeris-format). 

## Formato de efemérides OEM
<a name="oem-ephemeris-format"></a>

 AWS Ground Station processa efemérides fornecidas pelo cliente OEM de acordo com o padrão [CCSDS](https://ccsds.org/Pubs/502x0b3e1.pdf) com algumas restrições extras. Os arquivos OEM devem estar no formato KVN. A tabela a seguir descreve os diferentes campos em um OEM e como AWS Ground Station difere do padrão CCSDS. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/ground-station/latest/ug/providing-oem-ephemeris-data.html)

 \$1 Se alguma linha que não seja suportada pelo AWS Ground Station for incluída no OEM fornecido, o OEM falhará na validação. 

 Os desvios importantes do padrão CCSDS para são: AWS Ground Station 
+ `CCSDS_OEM_VERS`é necessário que seja`2.0`.
+ `REF_FRAME`é necessário que seja um `EME2000` ou` ITRF2000`.
+ `REF_FRAME_EPOCH`não é suportado pelo AWS Ground Station.
+ `CENTER_NAME`é necessário que seja`Earth`.
+ `TIME_SYSTEM`é necessário que seja`UTC`.
+ `INTERPOLATION`e ambos `INTERPOLATION_DEGREE` são necessários para AWS Ground Station efemérides fornecidas pelo cliente.

## Exemplo de efemérides de OEM no formato KVN
<a name="w2aac28c17c13c11"></a>

 A seguir está um exemplo truncado de uma efeméride OEM no formato KVN para o satélite de transmissão pública JPSS-1. 

```
CCSDS_OEM_VERS = 2.0

COMMENT Orbit data are consistent with planetary ephemeris DE-430

CREATION_DATE  = 2024-07-22T05:20:59
ORIGINATOR     = Raytheon-JPSS/CGS

META_START
OBJECT_NAME          = J1
OBJECT_ID            = 2017-073A
CENTER_NAME          = Earth
REF_FRAME            = EME2000
TIME_SYSTEM          = UTC
START_TIME           = 2024-07-22T00:00:00.000000
STOP_TIME            = 2024-07-22T00:06:00.000000
INTERPOLATION        = Lagrange
INTERPOLATION_DEGREE = 5
META_STOP

2024-07-22T00:00:00.000000   5.905147360000000e+02  -1.860082793999999e+03  -6.944807075000000e+03  -5.784245796000000e+00   4.347501391999999e+00  -1.657256863000000e+00
2024-07-22T00:01:00.000000   2.425572045154201e+02  -1.595860765983339e+03  -7.030938457373539e+03  -5.810660250794190e+00   4.457103652219009e+00  -1.212889340333023e+00
2024-07-22T00:02:00.000000  -1.063224256538050e+02  -1.325569732497146e+03  -7.090262617183503e+03  -5.814973972202444e+00   4.549739160042560e+00  -7.639633689161465e-01
2024-07-22T00:03:00.000000  -4.547973959231161e+02  -1.050238305712201e+03  -7.122556683227951e+03  -5.797176562437553e+00   4.625064829516728e+00  -3.121687831090774e-01
2024-07-22T00:04:00.000000  -8.015427368657785e+02  -7.709137891269565e+02  -7.127699477194810e+03  -5.757338007808417e+00   4.682800822515077e+00   1.407953645161997e-01
2024-07-22T00:05:00.000000  -1.145240083085062e+03  -4.886583601179489e+02  -7.105671911254255e+03  -5.695608435738609e+00   4.722731329786999e+00   5.932259682105052e-01
2024-07-22T00:06:00.000000  -1.484582479061495e+03  -2.045451985605701e+02  -7.056557069672793e+03  -5.612218005854990e+00   4.744705579872771e+00   1.043421397392599e+00
```

## Criando uma efeméride de OEM
<a name="w2aac28c17c13c13"></a>

 Uma efeméride de OEM pode ser criada usando a [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)ação na API. AWS Ground Station Essa ação fará o upload de uma efeméride usando dados no corpo da solicitação ou de um bucket do S3 especificado. 

 É importante observar que o upload de uma efeméride define as efemérides como ` VALIDATING` e inicia um fluxo de trabalho assíncrono que validará e gerará contatos potenciais a partir de suas efemérides. Somente quando uma efeméride passar por esse fluxo de trabalho e se tornar `ENABLED`, ela será usada para contatos. Você deve pesquisar o status das efemérides ou usar CloudWatch eventos [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)para rastrear as mudanças de status das efemérides. 

 Para solucionar uma efeméride inválida, consulte: [Solucionar problemas de efemérides inválidas](troubleshooting-invalid-ephemerides.md) 

## Exemplo: carregamento de dados de efemérides de OEM de um bucket S3
<a name="w2aac28c17c13c15"></a>

 Também é possível fazer upload de um arquivo de efemérides OEM diretamente de um bucket do S3 apontando para o bucket e a chave do objeto. AWS Ground Station recuperará o objeto em seu nome. As informações sobre a criptografia de dados em repouso AWS Ground Station estão detalhadas em:[Criptografia de dados em repouso para AWS Ground Station](security.encryption-at-rest.md). 

 Abaixo está um exemplo de upload de um arquivo de efemérides OEM de um bucket S3 

```
import boto3
from datetime import datetime, timedelta, timezone

# Create AWS clients
s3_client = boto3.client("s3")
ground_station_client = boto3.client("groundstation")

# Define S3 bucket and key
bucket_name = "ephemeris-bucket"
object_key = "test_data.oem"

# Create sample OEM data in KVN format
oem_data = """CCSDS_OEM_VERS = 2.0

COMMENT Orbit data are consistent with planetary ephemeris DE-430

CREATION_DATE  = 2024-07-22T05:20:59
ORIGINATOR     = Raytheon-JPSS/CGS

META_START
OBJECT_NAME          = J1
OBJECT_ID            = 2017-073A
CENTER_NAME          = Earth
REF_FRAME            = EME2000
TIME_SYSTEM          = UTC
START_TIME           = 2024-07-22T00:00:00.000000
STOP_TIME            = 2024-07-22T00:06:00.000000
INTERPOLATION        = Lagrange
INTERPOLATION_DEGREE = 5
META_STOP

2024-07-22T00:00:00.000000   5.905147360000000e+02  -1.860082793999999e+03  -6.944807075000000e+03  -5.784245796000000e+00   4.347501391999999e+00  -1.657256863000000e+00
2024-07-22T00:01:00.000000   2.425572045154201e+02  -1.595860765983339e+03  -7.030938457373539e+03  -5.810660250794190e+00   4.457103652219009e+00  -1.212889340333023e+00
2024-07-22T00:02:00.000000  -1.063224256538050e+02  -1.325569732497146e+03  -7.090262617183503e+03  -5.814973972202444e+00   4.549739160042560e+00  -7.639633689161465e-01
2024-07-22T00:03:00.000000  -4.547973959231161e+02  -1.050238305712201e+03  -7.122556683227951e+03  -5.797176562437553e+00   4.625064829516728e+00  -3.121687831090774e-01
2024-07-22T00:04:00.000000  -8.015427368657785e+02  -7.709137891269565e+02  -7.127699477194810e+03  -5.757338007808417e+00   4.682800822515077e+00   1.407953645161997e-01
2024-07-22T00:05:00.000000  -1.145240083085062e+03  -4.886583601179489e+02  -7.105671911254255e+03  -5.695608435738609e+00   4.722731329786999e+00   5.932259682105052e-01
2024-07-22T00:06:00.000000  -1.484582479061495e+03  -2.045451985605701e+02  -7.056557069672793e+03  -5.612218005854990e+00   4.744705579872771e+00   1.043421397392599e+00
"""

# Upload sample OEM data to S3
print(f"Uploading OEM data to s3://{bucket_name}/{object_key}")

s3_client.put_object(
    Bucket=bucket_name, Key=object_key, Body=oem_data, ContentType="text/plain"
)

print("OEM data uploaded successfully to S3")

# Create OEM ephemeris from S3
print("Creating OEM ephemeris from S3...")

s3_oem_ephemeris = ground_station_client.create_ephemeris(
    name="2024-07-22 S3 OEM Upload",
    satelliteId="fde41049-14f7-413e-bd7b-EXAMPLE01",
    enabled=True,
    expirationTime=datetime.now(timezone.utc) + timedelta(days=5),
    priority=2,
    ephemeris={"oem": {"s3Object": {"bucket": bucket_name, "key": object_key}}},
)

print(f"Created OEM ephemeris with ID: {s3_oem_ephemeris['ephemerisId']}")
```

 Abaixo está um exemplo de dados retornados da ação [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html) que está sendo chamada para as efemérides do OEM carregadas no bloco anterior do código de exemplo. 

```
{
  "creationTime": 1620254718.765,
  "enabled": true,
  "name": "Example Ephemeris",
  "ephemerisId": "fde41049-14f7-413e-bd7b-EXAMPLE02",
  "priority": 2,
  "status": "VALIDATING",
  "suppliedData": {
    "oem": {
      "sourceS3Object": {
          "bucket": "ephemeris-bucket-for-testing",
          "key": "test_data.oem"
      }
    }
  }
}
```

# Forneça dados de efemérides de elevação de azimute
<a name="providing-azimuth-elevation-ephemeris-data"></a>

**Importante**  
 O recurso de efemérides de elevação de azimute está atualmente em um estado de visualização e requer integração explícita.   
 A funcionalidade de efemérides de elevação de azimute está sob estrito controle de acesso para um número limitado de casos de uso especializados e predeterminados. O acesso é significativamente mais restritivo do que os recursos de efemérides padrão fornecidos pelo cliente. Para obter mais informações sobre casos de uso aprovados e o processo de solicitação de acesso, abra um AWS Support ticket por meio do [AWS Support Center Console](https://console.aws.amazon.com/support). Nossa equipe o guiará pelo processo de aprovação de casos de uso especializados. 

## Visão geral do
<a name="w2aac28c17c15b5"></a>

 As efemérides de elevação de azimute fornecem uma maneira de especificar diretamente as direções de apontamento da antena sem fornecer informações orbitais do satélite. Em vez de enviar dados de efemérides que descrevem a órbita de um satélite, você fornece azimute e ângulos de elevação marcados com o tempo que informam à antena exatamente para onde apontar durante um contato. 

 AWS Ground Station trata as efemérides como dados de uso [individualizados](https://aws.amazon.com/service-terms). Se você usar esse recurso opcional, a AWS usará seus dados de efemérides para fornecer suporte à solução de problemas. 

 Essa abordagem é particularmente útil para os seguintes cenários: 
+ *Suporte às operações iniciais:* durante a fase de lançamento e órbita inicial (LEOP), quando dados orbitais precisos não estão disponíveis ou os parâmetros orbitais estão mudando rapidamente.
+ *Padrões de apontamento personalizados:* implementação de sequências de apontamento específicas para testes de antenas ou operações não padrão.

**nota**  
 Ao usar efemérides de elevação de azimute, o ARN do satélite pode ser omitido da solicitação de reserva de contato. Se o ARN do satélite não for omitido, ele ainda será incluído como parte dos dados de contato, mas as efemérides de elevação de azimute serão usadas para apontar a antena, em vez de realizar a resolução prioritária das efemérides. A efeméride de elevação do azimute está associada a uma estação terrestre específica e define as direções de apontamento da antena para esse local. 

## Formato de dados de efemérides de elevação de azimute
<a name="w2aac28c17c15b7"></a>

 Os dados de efemérides de elevação de azimute consistem em valores de azimute e elevação com marcação temporal organizados em segmentos. Cada segmento contém uma série de ângulos de azimute e elevação que abrangem um intervalo de tempo específico. 

 Os principais componentes dos dados de efemérides de elevação de azimute são: 
+ *Ground Station:* A estação terrestre específica onde essa efeméride de elevação de azimute será usada.
+ *Unidade de ângulo:* A unidade de medida para ângulos (`DEGREE_ANGLE`ou`RADIAN`).
+ *Segmentos:* uma ou mais coleções limitadas no tempo de azimute e ângulos de elevação.
+ *Ângulos marcados com data e hora:* valores individuais de azimute e elevação com registros de data e hora associados.

 Cada segmento exige: 
+ Uma época de referência (a hora base para o segmento)
+ Um intervalo de tempo válido (horários de início e término do segmento)
+ Pelo menos 5 pares marcados com data e hora azimuth/elevation 

 Restrições de elevação de azimute: 
+ Azimute em graus: -180° a 360°
+ Azimute em radianos: -π a 2π
+ Elevação em graus: -90° a 90°
+ Elevação em radianos: -π/2 a π/2
+ Os valores de tempo devem estar em ordem crescente dentro de cada segmento
+ Os segmentos não devem se sobrepor no tempo

 Para obter mais informações, consulte a documentação [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)da API e o tipo de [TimeAzEl](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_TimeAzEl.html)dados. 

## Criando efemérides de elevação de azimute
<a name="w2aac28c17c15b9"></a>

 As efemérides de elevação de azimute são criadas usando a mesma ação de [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)API, mas com o tipo de efemérides. `azEl` As principais diferenças das efemérides de TLE e OEM são: 
+ Você deve especificar um `groundStation` parâmetro
+ O `satelliteId` parâmetro deve ser omitido da solicitação
+ As configurações de prioridade não se aplicam (cada efeméride de elevação de azimute é específica para uma estação terrestre)
+ Cada segmento deve conter pelo menos 5 azimuth/elevation pontos para suportar a interpolação de Lagrange de 4ª ordem
+ Limites e requisitos adicionais estão detalhados na documentação [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)da API

 É importante observar que o upload de uma efeméride define as efemérides como `VALIDATING` e inicia um fluxo de trabalho assíncrono que validará e gerará contatos potenciais a partir de suas efemérides. Uma efeméride só será usada para contatos depois de passar por esse fluxo de trabalho e seu status se tornar. `ENABLED` Você deve pesquisar o status das efemérides ou usar CloudWatch eventos [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)para rastrear as mudanças de status das efemérides. 

 Para solucionar uma efeméride inválida, consulte: [Solucionar problemas de efemérides inválidas](troubleshooting-invalid-ephemerides.md) 

## Exemplo: criar efemérides de elevação de azimute por meio da API
<a name="w2aac28c17c15c11"></a>

 O exemplo a seguir mostra como criar uma efeméride de elevação de azimute usando o AWS SDK for Python (Boto3): 

```
import boto3

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# Create azimuth elevation ephemeris
azimuth_elevation_ephemeris = ground_station_client.create_ephemeris(
    name="Azimuth Elevation for Ohio Ground Station",
    ephemeris={
        "azEl": {
            "groundStation": "Ohio 1",
            "data": {
                "azElData": {
                    "angleUnit": "DEGREE_ANGLE",
                    "azElSegmentList": [
                        {
                            "referenceEpoch": "2024-03-15T10:00:00Z",
                            "validTimeRange": {
                                "startTime": "2024-03-15T10:00:00Z",
                                "endTime": "2024-03-15T10:15:00Z",
                            },
                            "azElList": [
                                {"dt": 0.0, "az": 45.0, "el": 10.0},
                                {"dt": 180.0, "az": 50.0, "el": 15.0},
                                {"dt": 360.0, "az": 55.0, "el": 20.0},
                                {"dt": 540.0, "az": 60.0, "el": 25.0},
                                {"dt": 720.0, "az": 65.0, "el": 30.0},
                                {"dt": 900.0, "az": 70.0, "el": 35.0},
                            ],
                        }
                    ],
                }
            },
        }
    },
)

print(f"Created ephemeris with ID: {azimuth_elevation_ephemeris['ephemerisId']}")
```

 Neste exemplo: 
+ Os dados de elevação do azimute estão associados à estação terrestre “Ohio 1"
+ Os ângulos são especificados em graus
+ O segmento abrange um período de 15 minutos
+ Os `dt` valores são segundos atômicos deslocados da época de referência
+ Seis azimuth/elevation pares são fornecidos (o mínimo é 5)

## Exemplo: Carregar dados de elevação de azimute do S3
<a name="w2aac28c17c15c13"></a>

 Para conjuntos de dados maiores, você pode carregar dados de elevação de azimute de um bucket do S3: 

```
import boto3
import json

# Create AWS clients
s3_client = boto3.client("s3")
ground_station_client = boto3.client("groundstation")

# Define S3 bucket and key
bucket_name = "azimuth-elevation-bucket"
object_key = "singapore-azimuth-elevation.json"

# Create sample azimuth elevation data
azimuth_elevation_data = {
    "angleUnit": "DEGREE_ANGLE",
    "azElSegmentList": [
        {
            "referenceEpoch": "2024-03-15T10:00:00Z",
            "validTimeRange": {
                "startTime": "2024-03-15T10:00:00Z",
                "endTime": "2024-03-15T10:15:00Z",
            },
            "azElList": [
                {"dt": 0.0, "az": 45.0, "el": 10.0},
                {"dt": 180.0, "az": 50.0, "el": 15.0},
                {"dt": 360.0, "az": 55.0, "el": 20.0},
                {"dt": 540.0, "az": 60.0, "el": 25.0},
                {"dt": 720.0, "az": 65.0, "el": 30.0},
                {"dt": 900.0, "az": 70.0, "el": 35.0},
            ],
        },
        {
            "referenceEpoch": "2024-03-15T10:15:00Z",
            "validTimeRange": {
                "startTime": "2024-03-15T10:15:00Z",
                "endTime": "2024-03-15T10:30:00Z",
            },
            "azElList": [
                {"dt": 0.0, "az": 70.0, "el": 35.0},
                {"dt": 180.0, "az": 75.0, "el": 40.0},
                {"dt": 360.0, "az": 80.0, "el": 45.0},
                {"dt": 540.0, "az": 85.0, "el": 50.0},
                {"dt": 720.0, "az": 90.0, "el": 55.0},
                {"dt": 900.0, "az": 95.0, "el": 50.0},
            ],
        },
    ],
}

# Upload sample data to S3
print(f"Uploading azimuth elevation data to s3://{bucket_name}/{object_key}")

s3_client.put_object(
    Bucket=bucket_name,
    Key=object_key,
    Body=json.dumps(azimuth_elevation_data, indent=2),
    ContentType="application/json",
)
print("Sample data uploaded successfully to S3")

# Create azimuth elevation ephemeris from S3
print("Creating azimuth elevation ephemeris from S3...")

s3_azimuth_elevation_ephemeris = ground_station_client.create_ephemeris(
    name="Large Azimuth Elevation Dataset",
    ephemeris={
        "azEl": {
            "groundStation": "Singapore 1",
            "data": {"s3Object": {"bucket": bucket_name, "key": object_key}},
        }
    },
)

print(f"Created ephemeris with ID: {s3_azimuth_elevation_ephemeris['ephemerisId']}")
```

 O objeto S3 deve conter uma estrutura JSON com os dados de elevação de azimute no mesmo formato mostrado no exemplo de upload direto. 

## Reservando contatos com efemérides de elevação de azimute
<a name="w2aac28c17c15c15"></a>

 Ao usar uma efeméride de elevação de azimute para reservar um contato, o processo difere das efemérides TLE e OEM: 

1. Crie as efemérides de elevação do azimute usando [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)

1. Aguarde até que as efemérides atinjam o status `ENABLED`

1. Reserve o contato usando [ReserveContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ReserveContact.html)substituições de rastreamento

 Exemplo de reserva de contato com efemérides de elevação de azimute: 

```
import boto3
from datetime import datetime
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# First, create an azimuth elevation ephemeris
print("Creating azimuth elevation ephemeris...")

create_ephemeris_response = ground_station_client.create_ephemeris(
    name="Azimuth Elevation for Contact Reservation",
    ephemeris={
        "azEl": {
            "groundStation": "Ohio 1",
            "data": {
                "azElData": {
                    "angleUnit": "DEGREE_ANGLE",
                    "azElSegmentList": [
                        {
                            "referenceEpoch": "2024-03-15T10:00:00Z",
                            "validTimeRange": {
                                "startTime": "2024-03-15T10:00:00Z",
                                "endTime": "2024-03-15T10:15:00Z",
                            },
                            "azElList": [
                                {"dt": 0.0, "az": 45.0, "el": 10.0},
                                {"dt": 180.0, "az": 50.0, "el": 15.0},
                                {"dt": 360.0, "az": 55.0, "el": 20.0},
                                {"dt": 540.0, "az": 60.0, "el": 25.0},
                                {"dt": 720.0, "az": 65.0, "el": 30.0},
                                {"dt": 900.0, "az": 70.0, "el": 35.0},
                            ],
                        }
                    ],
                }
            },
        }
    },
)

ephemeris_id = create_ephemeris_response["ephemerisId"]
print(f"Created ephemeris with ID: {ephemeris_id}")

# Wait for ephemeris to become ENABLED
print("Waiting for ephemeris to become ENABLED...")

while True:
    status = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)[
        "status"
    ]
    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        raise RuntimeError(f"Ephemeris failed: {status}")
    time.sleep(5)

# Reserve contact with azimuth elevation ephemeris
print("Reserving contact...")

contact = ground_station_client.reserve_contact(
    # Note: satelliteArn is omitted when using azimuth elevation ephemeris
    missionProfileArn="arn:aws:groundstation:us-east-2:111122223333:mission-profile/example-mission-profile",
    groundStation="Ohio 1",
    startTime=datetime(2024, 3, 15, 10, 0, 0),
    endTime=datetime(2024, 3, 15, 10, 15, 0),
    trackingOverrides={"programTrackSettings": {"azEl": {"ephemerisId": ephemeris_id}}},
)

print(f"Reserved contact with ID: {contact['contactId']}")
```

**nota**  
 O `satelliteArn` parâmetro pode ser omitido ao reservar um contato com efemérides de elevação de azimute. A antena seguirá os ângulos de azimute e elevação especificados durante o contato. 

## Listando os contatos disponíveis
<a name="w2aac28c17c15c17"></a>

 Ao usar efemérides de elevação de azimute, a API exige parâmetros específicos: [ListContacts](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListContacts.html) 
+ O `satelliteArn` parâmetro pode ser omitido da solicitação
+ Você deve fornecer um `ephemeris` parâmetro com o ID de efemérides de elevação de azimute para especificar quais efemérides usar.
+ As janelas de contato disponíveis mostram quando o azimute e os ângulos de elevação fornecidos estão acima da [máscara do local](https://docs.aws.amazon.com/ground-station/latest/ug/locations.site-masks.html) da estação terrestre solicitada
+ Você ainda deve fornecer `groundStation` e `missionProfileArn`

 Exemplo de criar uma efeméride de elevação de azimute e listar os contatos disponíveis com ela: 

```
import boto3
from datetime import datetime, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# Step 1: Create azimuth elevation ephemeris
print("Creating azimuth elevation ephemeris...")
ephemeris_response = ground_station_client.create_ephemeris(
    name="Stockholm AzEl Ephemeris",
    ephemeris={
        "azEl": {
            "groundStation": "Stockholm 1",
            "data": {
                "azElData": {
                    "angleUnit": "DEGREE_ANGLE",
                    "azElSegmentList": [
                        {
                            "referenceEpoch": "2024-04-01T12:00:00Z",
                            "validTimeRange": {
                                "startTime": "2024-04-01T12:00:00Z",
                                "endTime": "2024-04-01T12:30:00Z",
                            },
                            "azElList": [
                                {"dt": 0.0, "az": 30.0, "el": 15.0},
                                {"dt": 360.0, "az": 45.0, "el": 30.0},
                                {"dt": 720.0, "az": 60.0, "el": 45.0},
                                {"dt": 1080.0, "az": 75.0, "el": 35.0},
                                {"dt": 1440.0, "az": 90.0, "el": 20.0},
                                {"dt": 1800.0, "az": 105.0, "el": 10.0},
                            ],
                        }
                    ],
                }
            },
        }
    },
)

ephemeris_id = ephemeris_response["ephemerisId"]
print(f"Created ephemeris: {ephemeris_id}")

# Step 2: Wait for ephemeris to become ENABLED
print("Waiting for ephemeris to become ENABLED...")
while True:
    describe_response = ground_station_client.describe_ephemeris(
        ephemerisId=ephemeris_id
    )
    status = describe_response["status"]

    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        # Check for validation errors
        if "invalidReason" in describe_response:
            print(f"Ephemeris validation failed: {describe_response['invalidReason']}")
        raise RuntimeError(f"Ephemeris failed with status: {status}")

    print(f"Current status: {status}, waiting...")
    time.sleep(5)

# Step 3: List available contacts using the azimuth elevation ephemeris
print("Listing available contacts with azimuth elevation ephemeris...")

# Convert epoch timestamps to datetime objects
start_time = datetime.fromtimestamp(1760710513, tz=timezone.utc)
end_time = datetime.fromtimestamp(1760883313, tz=timezone.utc)

contacts_response = ground_station_client.list_contacts(
    startTime=start_time,
    endTime=end_time,
    groundStation="Stockholm 1",
    statusList=["AVAILABLE"],
    ephemeris={"azEl": {"id": ephemeris_id}},
    # satelliteArn is optional
    satelliteArn="arn:aws:groundstation::111122223333:satellite/a88611b0-f755-404e-b60d-57d8aEXAMPLE",
    missionProfileArn="arn:aws:groundstation:eu-north-1:111122223333:mission-profile/966b72f6-6d82-4e7e-b072-f8240EXAMPLE",
)

# Process the results
if contacts_response["contactList"]:
    print(f"Found {len(contacts_response['contactList'])} available contacts:")
    for contact in contacts_response["contactList"]:
        print(f"  - Contact from {contact['startTime']} to {contact['endTime']}")
        print(
            f"    Max elevation: {contact.get('maximumElevation', {}).get('value', 'N/A')}°"
        )
else:
    print("No available contacts found for the specified azimuth elevation ephemeris")
```

**nota**  
 O `ephemeris` parâmetro com o ID de elevação de azimute deve ser fornecido ao listar contatos para especificar quais efemérides de elevação de azimute devem ser usadas para determinar as janelas de contato. Se `satelliteArn` for incluído, ele será associado aos dados de contato, mas as efemérides de elevação do azimute serão usadas para apontar a antena, em vez de realizar a resolução prioritária das efemérides. 

# Reserve contatos com efemérides personalizadas
<a name="reserving-contacts-with-custom-ephemeris"></a>

## Visão geral do
<a name="w2aac28c19b3"></a>

 Ao usar efemérides personalizadas (TLE, OEM ou elevação de azimute), você pode reservar contatos usando a API. [ReserveContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ReserveContact.html) Esta seção descreve dois fluxos de trabalho comuns para reservar contatos e considerações importantes para garantir o sucesso do agendamento de contatos. 

 AWS Ground Station antenas são recursos compartilhados entre vários clientes. Isso significa que, mesmo que uma janela de contato apareça disponível quando você lista contatos, outro cliente pode reservá-la antes de você. Portanto, é crucial verificar se seu contato atinge o `SCHEDULED` estado após a reserva e implementar o monitoramento adequado das mudanças no estado do contato. 

**Importante**  
 Para efemérides de elevação de azimute, o `satelliteArn` parâmetro pode ser omitido da `ReserveContact` solicitação e você deve fornecer o ID da efeméride. `trackingOverrides` Para efemérides de TLE e OEM, você ainda precisa fornecer o. `satelliteArn` 

## Fluxos de trabalho de reservas de contatos
<a name="w2aac28c19b5"></a>

 Há dois fluxos de trabalho principais para reservar contatos com efemérides personalizadas: 

1. *List-then-reserve fluxo de trabalho:* primeiro liste as janelas de contato disponíveis usando [ListContacts](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListContacts.html), depois selecione e reserve uma janela específica. Essa abordagem é útil quando você deseja ver todas as oportunidades disponíveis antes de fazer uma seleção.

1. *Fluxo de trabalho de reserva direta:* reserve diretamente um contato para uma janela de tempo específica sem primeiro listar os contatos disponíveis. Essa abordagem é útil quando você já sabe o horário de contato desejado ou está trabalhando com horários predeterminados.

 Ambos os fluxos de trabalho são válidos e a escolha depende de seus requisitos operacionais. As seções a seguir fornecem exemplos de cada abordagem. 

## Fluxo de trabalho 1: liste os contatos disponíveis e reserve
<a name="w2aac28c19b7"></a>

 Esse fluxo de trabalho primeiro consulta as janelas de contato disponíveis e, em seguida, reserva uma janela específica. Isso é útil quando você deseja ver todas as oportunidades disponíveis antes de fazer uma seleção. 

### Exemplo: Listar e reservar com efemérides de elevação de azimute
<a name="w2aac28c19b7b5"></a>

```
import boto3
from datetime import datetime, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# Create azimuth elevation ephemeris
print("Creating azimuth elevation ephemeris...")
ephemeris_response = ground_station_client.create_ephemeris(
    name="AzEl Ephemeris for Contact",
    ephemeris={
        "azEl": {
            "groundStation": "Ohio 1",
            "data": {
                "azElData": {
                    "angleUnit": "DEGREE_ANGLE",
                    "azElSegmentList": [
                        {
                            "referenceEpoch": "2024-03-15T10:00:00Z",
                            "validTimeRange": {
                                "startTime": "2024-03-15T10:00:00Z",
                                "endTime": "2024-03-15T10:15:00Z",
                            },
                            "azElList": [
                                {"dt": 0.0, "az": 45.0, "el": 10.0},
                                {"dt": 180.0, "az": 50.0, "el": 15.0},
                                {"dt": 360.0, "az": 55.0, "el": 20.0},
                                {"dt": 540.0, "az": 60.0, "el": 25.0},
                                {"dt": 720.0, "az": 65.0, "el": 30.0},
                                {"dt": 900.0, "az": 70.0, "el": 35.0},
                            ],
                        }
                    ],
                }
            },
        }
    },
)

ephemeris_id = ephemeris_response["ephemerisId"]
print(f"Created ephemeris: {ephemeris_id}")

# Wait for ephemeris to become ENABLED
while True:
    status = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)[
        "status"
    ]
    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        raise RuntimeError(f"Ephemeris failed: {status}")
    time.sleep(5)

# List available contacts
print("Listing available contacts...")
contacts = ground_station_client.list_contacts(
    # Note: satelliteArn is omitted for azimuth elevation ephemeris
    groundStation="Ohio 1",
    missionProfileArn="arn:aws:groundstation:us-east-2:111122223333:mission-profile/example-profile",
    startTime=datetime(2024, 3, 15, 10, 0, 0, tzinfo=timezone.utc),
    endTime=datetime(2024, 3, 15, 10, 15, 0, tzinfo=timezone.utc),
    statusList=["AVAILABLE"],
    ephemeris={"azEl": {"id": ephemeris_id}},
)

if contacts["contactList"]:
    # Reserve the first available contact
    contact = contacts["contactList"][0]
    print(f"Reserving contact from {contact['startTime']} to {contact['endTime']}...")

    reservation = ground_station_client.reserve_contact(
        # Note: satelliteArn is omitted when using azimuth elevation ephemeris
        missionProfileArn="arn:aws:groundstation:us-east-2:111122223333:mission-profile/example-profile",
        groundStation="Ohio 1",
        startTime=contact["startTime"],
        endTime=contact["endTime"],
        trackingOverrides={
            "programTrackSettings": {"azEl": {"ephemerisId": ephemeris_id}}
        },
    )

    print(f"Reserved contact: {reservation['contactId']}")
else:
    print("No available contacts found")
```

### Exemplo: Listar e reservar com efemérides de TLE
<a name="w2aac28c19b7b7"></a>

```
import boto3
from datetime import datetime, timedelta, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

satellite_id = "12345678-1234-1234-1234-123456789012"
satellite_arn = f"arn:aws:groundstation::111122223333:satellite/{satellite_id}"

# Create TLE ephemeris
print("Creating TLE ephemeris...")
ephemeris_response = ground_station_client.create_ephemeris(
    name="TLE Ephemeris for Contact",
    satelliteId=satellite_id,
    enabled=True,
    expirationTime=datetime.now(timezone.utc) + timedelta(days=7),
    priority=1,  # Higher priority than default ephemeris
    ephemeris={
        "tle": {
            "tleData": [
                {
                    "tleLine1": "1 25994U 99068A   24075.54719794  .00000075  00000-0  26688-4 0  9997",
                    "tleLine2": "2 25994  98.2007  30.6589 0001234  89.2782  18.9934 14.57114995111906",
                    "validTimeRange": {
                        "startTime": datetime.now(timezone.utc),
                        "endTime": datetime.now(timezone.utc) + timedelta(days=7),
                    },
                }
            ]
        }
    },
)

ephemeris_id = ephemeris_response["ephemerisId"]
print(f"Created ephemeris: {ephemeris_id}")

# Wait for ephemeris to become ENABLED
while True:
    status = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)[
        "status"
    ]
    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        raise RuntimeError(f"Ephemeris failed: {status}")
    time.sleep(5)

# List available contacts
print("Listing available contacts...")
start_time = datetime.now(timezone.utc) + timedelta(hours=1)
end_time = start_time + timedelta(days=1)

contacts = ground_station_client.list_contacts(
    satelliteArn=satellite_arn,  # Required for TLE/OEM ephemeris
    groundStation="Hawaii 1",
    missionProfileArn="arn:aws:groundstation:us-west-2:111122223333:mission-profile/example-profile",
    startTime=start_time,
    endTime=end_time,
    statusList=["AVAILABLE"],
)

if contacts["contactList"]:
    # Reserve the first available contact
    contact = contacts["contactList"][0]
    print(f"Reserving contact from {contact['startTime']} to {contact['endTime']}...")

    reservation = ground_station_client.reserve_contact(
        satelliteArn=satellite_arn,  # Required for TLE/OEM ephemeris
        missionProfileArn="arn:aws:groundstation:us-west-2:111122223333:mission-profile/example-profile",
        groundStation="Hawaii 1",
        startTime=contact["startTime"],
        endTime=contact["endTime"],
        # Note: trackingOverrides is optional for TLE/OEM
        # The system will use the highest priority ephemeris automatically
    )

    print(f"Reserved contact: {reservation['contactId']}")
else:
    print("No available contacts found")
```

## Fluxo de trabalho 2: reserva de contato direto
<a name="w2aac28c19b9"></a>

 Esse fluxo de trabalho reserva diretamente um contato sem primeiro listar as janelas disponíveis. Essa abordagem é útil quando você já sabe o horário de contato desejado ou está implementando o agendamento automatizado. 

### Exemplo: reserva direta com efemérides de elevação de azimute
<a name="w2aac28c19b9b5"></a>

```
import boto3
from datetime import datetime, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# Define contact window
contact_start = datetime(2024, 3, 20, 14, 0, 0, tzinfo=timezone.utc)
contact_end = datetime(2024, 3, 20, 14, 15, 0, tzinfo=timezone.utc)

# Create azimuth elevation ephemeris for the specific contact time
print("Creating azimuth elevation ephemeris...")
ephemeris_response = ground_station_client.create_ephemeris(
    name="Direct Contact AzEl Ephemeris",
    ephemeris={
        "azEl": {
            "groundStation": "Ohio 1",
            "data": {
                "azElData": {
                    "angleUnit": "DEGREE_ANGLE",
                    "azElSegmentList": [
                        {
                            "referenceEpoch": contact_start.isoformat(),
                            "validTimeRange": {
                                "startTime": contact_start.isoformat(),
                                "endTime": contact_end.isoformat(),
                            },
                            "azElList": [
                                {"dt": 0.0, "az": 45.0, "el": 10.0},
                                {"dt": 180.0, "az": 50.0, "el": 15.0},
                                {"dt": 360.0, "az": 55.0, "el": 20.0},
                                {"dt": 540.0, "az": 60.0, "el": 25.0},
                                {"dt": 720.0, "az": 65.0, "el": 30.0},
                                {"dt": 900.0, "az": 70.0, "el": 35.0},
                            ],
                        }
                    ],
                }
            },
        }
    },
)

ephemeris_id = ephemeris_response["ephemerisId"]
print(f"Created ephemeris: {ephemeris_id}")

# Wait for ephemeris to become ENABLED
while True:
    status = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)[
        "status"
    ]
    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        raise RuntimeError(f"Ephemeris failed: {status}")
    time.sleep(5)

# Directly reserve the contact
print(f"Reserving contact from {contact_start} to {contact_end}...")

reservation = ground_station_client.reserve_contact(
    # Note: satelliteArn is omitted for azimuth elevation
    missionProfileArn="arn:aws:groundstation:us-east-2:111122223333:mission-profile/example-profile",
    groundStation="Ohio 1",
    startTime=contact_start,
    endTime=contact_end,
    trackingOverrides={"programTrackSettings": {"azEl": {"ephemerisId": ephemeris_id}}},
)

print(f"Reserved contact: {reservation['contactId']}")
```

### Exemplo: reserva direta com efemérides da TLE
<a name="w2aac28c19b9b7"></a>

```
import boto3
from datetime import datetime, timedelta, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

satellite_id = "12345678-1234-1234-1234-123456789012"
satellite_arn = f"arn:aws:groundstation::111122223333:satellite/{satellite_id}"

# Define contact window (based on predicted pass)
contact_start = datetime(2024, 3, 21, 10, 30, 0, tzinfo=timezone.utc)
contact_end = datetime(2024, 3, 21, 10, 42, 0, tzinfo=timezone.utc)

# Create TLE ephemeris
print("Creating TLE ephemeris...")
ephemeris_response = ground_station_client.create_ephemeris(
    name="Direct Contact TLE Ephemeris",
    satelliteId=satellite_id,
    enabled=True,
    expirationTime=contact_end + timedelta(days=1),
    priority=1,
    ephemeris={
        "tle": {
            "tleData": [
                {
                    "tleLine1": "1 25994U 99068A   24080.50000000  .00000075  00000-0  26688-4 0  9999",
                    "tleLine2": "2 25994  98.2007  35.6589 0001234  89.2782  18.9934 14.57114995112000",
                    "validTimeRange": {
                        "startTime": (contact_start - timedelta(hours=1)).isoformat(),
                        "endTime": (contact_end + timedelta(hours=1)).isoformat(),
                    },
                }
            ]
        }
    },
)

ephemeris_id = ephemeris_response["ephemerisId"]
print(f"Created ephemeris: {ephemeris_id}")

# Wait for ephemeris to become ENABLED
while True:
    status = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)[
        "status"
    ]
    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        raise RuntimeError(f"Ephemeris failed: {status}")
    time.sleep(5)

# Directly reserve the contact
print(f"Reserving contact from {contact_start} to {contact_end}...")

reservation = ground_station_client.reserve_contact(
    satelliteArn=satellite_arn,  # Required for TLE ephemeris
    missionProfileArn="arn:aws:groundstation:us-west-2:111122223333:mission-profile/example-profile",
    groundStation="Hawaii 1",
    startTime=contact_start,
    endTime=contact_end,
    # Note: trackingOverrides is optional for TLE
    # The system will use the highest priority ephemeris automatically
)

print(f"Reserved contact: {reservation['contactId']}")
```

## Monitorando mudanças no estado do contato
<a name="w2aac28c19c11"></a>

 Depois de reservar um contato, é importante monitorar seu estado para garantir que ele faça a transição `SCHEDULED` e seja notificado sobre quaisquer problemas. AWS Ground Station emite eventos para a Amazon EventBridge para todas as mudanças de estado de contato. 

 Os estados de contato seguem este ciclo de vida: 
+ `SCHEDULING`- O contato está sendo processado para agendamento
+ `SCHEDULED`- O contato foi agendado com sucesso e será executado
+ `FAILED_TO_SCHEDULE`- O contato não pôde ser agendado (estado do terminal)

 Para obter mais informações sobre estados de contato e ciclo de vida, consulte. [Entenda o ciclo de vida do contato](contacts.lifecycle.md) 

### Implementando o monitoramento do estado de contato com EventBridge
<a name="w2aac28c19c11c11"></a>

 Para monitorar as mudanças no estado do contato em tempo real, você pode configurar uma EventBridge regra da Amazon que aciona uma função Lambda sempre que um contato da Ground Station muda de estado. Essa abordagem é mais eficiente e escalável do que pesquisar o status do contato. 

#### Etapas de implementação
<a name="w2aac28c19c11c11b5"></a>

1. Crie uma função Lambda para processar eventos de mudança de estado de contato

1. Crie uma EventBridge regra que corresponda aos eventos de mudança de estado de contato da Ground Station

1. Adicione a função Lambda como destino para a regra

#### Exemplo de manipulador de funções Lambda
<a name="w2aac28c19c11c11b7"></a>

 Para ver um exemplo completo de uma função Lambda que processa eventos de mudança de estado de contato, consulte o `GroundStationCloudWatchEventHandlerLambda` recurso no `AquaSnppJpssTerraDigIF.yml` CloudFormation modelo. Esse modelo está disponível no bucket Amazon S3 de integração do AWS Ground Station cliente. Para obter instruções sobre como acessar esse modelo, consulte a [Juntando tudo](examples.pbs-data-dataflow-endpoint.md#examples.pbs-dataflow-endpoint.putting-it-together) seção do exemplo de endpoint de fluxo de dados. 

#### EventBridge configuração de regras
<a name="w2aac28c19c11c11b9"></a>

 A EventBridge regra deve usar o seguinte padrão de evento para corresponder a todas as mudanças de estado de contato da Ground Station: 

```
{
  "source": ["aws.groundstation"],
  "detail-type": ["Ground Station Contact State Change"]
}
```

 Para filtrar somente por estados específicos (por exemplo, falhas), você pode adicionar um filtro de detalhes: 

```
{
  "source": ["aws.groundstation"],
  "detail-type": ["Ground Station Contact State Change"],
  "detail": {
    "contactStatus": [
      "FAILED_TO_SCHEDULE",
      "FAILED",
      "AWS_FAILED",
      "AWS_CANCELLED"
    ]
  }
}
```

 Para obter instruções detalhadas sobre a criação de EventBridge regras com alvos Lambda, consulte [Criação de regras que reagem a eventos](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html) no Guia EventBridge do usuário da Amazon. 

### Configurando EventBridge regras para automação
<a name="w2aac28c19c11c13"></a>

 Você pode criar EventBridge regras para responder automaticamente às mudanças no estado do contato. Por exemplo: 
+ Enviar notificações quando um contato não consegue agendar
+ Acione as funções do Lambda para preparar recursos quando um contato entra `PREPASS`
+ Registre as conclusões de contatos para fins de auditoria

 Para obter informações detalhadas sobre como configurar EventBridge regras para AWS Ground Station eventos, consulte[Automatize AWS Ground Station com eventos](monitoring.automating-events.md). 

## Práticas recomendadas e considerações
<a name="w2aac28c19c13"></a>

### Lidando com conflitos de agendamento
<a name="w2aac28c19c13b3"></a>

 Como as AWS Ground Station antenas são recursos compartilhados, uma janela de contato que aparece disponível em `ListContacts` pode ser reservada por outro cliente antes que você possa reservá-la. Para lidar com isso: 

1. Sempre verifique o status do contato após a reserva

1. Implemente a lógica de repetição com janelas de tempo alternativas

1. Considere reservar contatos com bastante antecedência, quando possível

1. Use EventBridge eventos para monitorar os `FAILED_TO_SCHEDULE` estados

### Tempo de validação de efemérides
<a name="w2aac28c19c13b5"></a>

 Lembre-se de que as efemérides devem estar em vigor antes `ENABLED` que você possa usá-las para reservar contatos. O processo de validação normalmente leva de alguns segundos a alguns minutos, dependendo do tipo e tamanho da efeméride. Sempre verifique o status das efemérides antes de tentar reservar contatos. 

### Considerações sobre o tempo de contato
<a name="w2aac28c19c13b7"></a>

 Ao usar efemérides personalizadas: 
+ Certifique-se de que suas efemérides cubram toda a duração do contato
+ [Para efemérides de elevação de azimute, verifique se os ângulos mantêm a antena acima da máscara do local durante todo o contato](https://docs.aws.amazon.com/ground-station/latest/ug/locations.site-masks.html)
+ Considere os prazos de expiração das efemérides ao agendar contatos futuros

### Diferenças de API por tipo de efeméride
<a name="w2aac28c19c13b9"></a>

 A `ReserveContact` API se comporta de forma diferente dependendo do tipo de efeméride: 


| Tipo de efemérides | É necessário o SatellitEarn | Substituições de rastreamento necessárias | 
| --- | --- | --- | 
| TELHA | Sim | Não (opcional) | 
| OEM | Sim | Não (opcional) | 
| Elevação do azimute | Não (opcional) | Sim | 

# Entenda quais efemérides são usadas
<a name="which-ephemeris-is-used"></a>

 As efemérides têm *prioridade*, *prazo de validade* e sinalizador *ativado*. Juntos, eles determinam quais efemérides são usadas para rastreamento durante um contato. 

## Efemérides TLE e OEM
<a name="w2aac28c21b5"></a>

 Para efemérides OEM e TLE, somente uma efeméride pode estar ativa para cada satélite. A efeméride que será usada é a efeméride habilitada de maior prioridade, cujo prazo de expiração está no futuro. Um valor de prioridade maior indica uma prioridade mais alta. Os horários de contato disponíveis retornados por [ListContacts](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListContacts.html)são baseados nessas efemérides. Se várias efemérides `ENABLED` tiverem a mesma prioridade, as efemérides criadas ou atualizadas mais recentemente serão usadas. 

**nota**  
 AWS Ground Station [tem uma cota de serviço no número de efemérides `ENABLED` fornecidas pelo cliente por satélite (consulte: Cotas de serviço).](https://docs.aws.amazon.com/general/latest/gr/gs.html) Para carregar dados de efemérides após atingir essa cota, exclua (usando [DeleteEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DeleteEphemeris.html)) ou desabilite (usando [UpdateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_UpdateEphemeris.html)) as efemérides de menor prioridade/mais recentes criadas pelo cliente. 

 [Se nenhuma efeméride tiver sido criada, ou se nenhuma efeméride tiver `ENABLED` status, AWS Ground Station usará uma efeméride padrão para o satélite (do Space-Track), se disponível.](https://www.space-track.org/) Essa efeméride padrão tem prioridade zero. 

## Efemérides de elevação de azimute
<a name="w2aac28c21b7"></a>

 As efemérides de elevação de azimute funcionam de forma diferente das efemérides OEM e TLE. Cada efeméride de elevação de azimute está associada a uma estação terrestre específica e não tem prioridade. Ao reservar um contato com efemérides de elevação de azimute, você especifica explicitamente quais efemérides de elevação de azimute usar por meio do parâmetro. `trackingOverrides` 

 Principais diferenças para efemérides de elevação de azimute: 
+ Sem sistema prioritário - você seleciona explicitamente as efemérides para cada contato
+ Estação terrestre específica - cada efeméride está associada a uma estação terrestre específica
+ Sem retorno automático - se as efemérides especificadas não estiverem disponíveis, o contato falhará

**nota**  
 As efemérides de elevação de azimute não competem com as efemérides OEM e TLE. Eles são selecionados explicitamente ao reservar um contato e são usados somente quando as substituições de rastreamento são especificadas. 

## Efeito de novas efemérides em contatos previamente agendados
<a name="w2aac28c21b9"></a>

 Use a [DescribeContact API](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContact.html) para visualizar os efeitos de novas efemérides em contatos previamente agendados, retornando os horários de visibilidade ativos. 

 Para efemérides OEM e TLE, os contatos agendados antes do upload de uma nova efeméride manterão o horário de contato originalmente programado, enquanto o rastreamento da antena usará as efemérides ativas. Se a posição da espaçonave, com base nas efemérides ativas, for muito diferente das efemérides anteriores, isso pode resultar na redução do tempo de contato do satélite com a antena devido à operação da espaçonave fora da máscara do local. transmit/receive Portanto, recomendamos que você cancele e reagende seus futuros contatos depois de carregar uma nova efeméride que seja muito diferente da efeméride anterior. 

 Com a [DescribeContact API](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContact.html), você pode determinar a parte do seu contato futuro que está inutilizável devido à operação da espaçonave fora da máscara do transmit/receive local, comparando seu contato agendado `startTime` e `endTime` com o retornado e. `visibilityStartTime` `visibilityEndTime` Se você optar por cancelar e reagendar seus futuros contatos, o intervalo de tempo de contato não deve estar fora do intervalo de tempo de visibilidade em mais de 30 segundos. Os contatos cancelados podem incorrer em custos quando cancelados muito perto do momento do contato. Para obter mais informações sobre contatos cancelados, consulte: [Ground Station FAQs](https://aws.amazon.com/ground-station/faqs/). 

 Para efemérides de elevação de azimute, os contatos agendados usarão as efemérides específicas que foram selecionadas quando o contato foi reservado. Se precisar atualizar os dados de elevação de azimute para um contato agendado, você pode cancelar e reagendar o contato com uma nova efeméride. 

# Obtenha as efemérides atuais de um satélite
<a name="getting-current-ephemeris"></a>

 As efemérides atuais em uso AWS Ground Station por um satélite específico podem ser recuperadas chamando as ações ou. [GetSatellite[ListSatellites](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListSatellites.html)](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_GetSatellite.html) Ambos os métodos retornarão metadados para as efemérides atualmente em uso. Esses metadados de efemérides são diferentes para efemérides personalizadas enviadas para e efemérides padrão. AWS Ground Station 

**nota**  
 As efemérides de elevação de azimute não estão associadas a satélites e, portanto, não são retornadas por ou. [GetSatellite[ListSatellites](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListSatellites.html)](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_GetSatellite.html) Para recuperar informações sobre efemérides de elevação de azimute, use a [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)API com o ID de efemérides específico ou use [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html)para ver todas as efemérides disponíveis para sua conta. 

 As efemérides padrão incluirão apenas campos `source` e `epoch`. Essa `epoch` é a [época](https://en.wikipedia.org/wiki/Epoch_(astronomy)) do [conjunto de elementos de duas linhas](https://en.wikipedia.org/wiki/Two-line_element_set) que foi retirado do [Space-Track](https://www.space-track.org/) e atualmente está sendo usado para calcular a trajetória do satélite. 

 Uma efeméride personalizada terá um valor `source` de `CUSTOMER_PROVIDED` e incluirá um identificador exclusivo no campo `ephemerisId`. Esse identificador exclusivo pode ser usado para consultar as efemérides por meio da ação [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html). Um `name` campo opcional será retornado se a efeméride receber um nome durante o upload AWS Ground Station por meio da ação. [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html) 

 É importante observar que as efemérides são atualizadas dinamicamente, AWS Ground Station portanto, os dados retornados são apenas um instantâneo das efemérides que estão sendo usadas no momento da chamada para a API. 

## Exemplo de retorno [GetSatellite](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_GetSatellite.html) para um satélite usando uma efeméride padrão
<a name="w2aac28c23c13"></a>

```
{
    "satelliteId": "e1cfe0c7-67f9-4d98-bad2-EXAMPLE",
    "satelliteArn": "arn:aws:groundstation::111122223333:satellite/e1cfe0c7-67f9-4d98-bad2-EXAMPLE",
    "noradSatelliteID": 25994,
    "groundStations": [
        "Ohio 1",
        "Oregon 1"
    ],
    "currentEphemeris": {
        "source": "SPACE_TRACK",
        "epoch": 1528245583.619
    }
}
```

## Exemplo de retorno [GetSatellite](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_GetSatellite.html) para um satélite usando uma efeméride personalizada
<a name="w2aac28c23c15"></a>

```
{
      "satelliteId": "e1cfe0c7-67f9-4d98-bad2-EXAMPLE",
      "satelliteArn": "arn:aws:groundstation::111122223333:satellite/e1cfe0c7-67f9-4d98-bad2-EXAMPLE",
      "noradSatelliteID": 25994,
      "groundStations": [
            "Ohio 1",
            "Oregon 1"
      ],
      "currentEphemeris": {
          "source": "CUSTOMER_PROVIDED",
          "ephemerisId": "e1cfe0c7-67f9-4d98-bad2-EXAMPLE",
          "name": "My Ephemeris"
      }
  }
```

## Listando efemérides de elevação de azimute
<a name="w2aac28c23c17"></a>

 Como as efemérides de elevação de azimute não estão associadas a satélites, você precisa usar diferentes APIs para descobrir e recuperar informações sobre elas: 

1. Use [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html)para listar todas as efemérides em sua conta, incluindo efemérides de elevação de azimute. Você pode filtrar por status e tipo de efeméride.

1. Use [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)com um ID de efeméride específico para obter informações detalhadas sobre uma efeméride de elevação de azimute.

1. Use [DescribeContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContact.html)com uma ID de contato específica para obter informações detalhadas sobre uma efeméride usada para o contato.

 Exemplo de [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html)resposta incluindo uma efeméride de elevação de azimute: 

```
{
    "ephemerides": [
        {
            "ephemerisId": "abc12345-6789-def0-1234-5678EXAMPLE",
            "ephemerisType": "AZ_EL",
            "name": "Azimuth Elevation for Ohio Ground Station",
            "status": "ENABLED",
            "creationTime": 1620254718.765
        },
        {
            "ephemerisId": "def45678-9012-abc3-4567-8901EXAMPLE",
            "ephemerisType": "TLE",
            "name": "TLE for Satellite 12345",
            "status": "ENABLED",
            "creationTime": 1620254700.123
        }
    ]
}
```

**nota**  
 Na [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html)resposta, as efemérides de elevação de azimute terão um `groundStation` campo em vez de um `satelliteId` campo, facilitando sua identificação. 

# Reverter para dados de efemérides padrão
<a name="reverting-to-default-ephemeris-data"></a>

 Quando você carrega dados de efemérides personalizados, eles substituem os usos padrão de efemérides AWS Ground Station para aquele satélite específico. AWS Ground Station não usa as efemérides padrão novamente até que não haja efemérides atualmente habilitadas e não expiradas fornecidas pelo cliente disponíveis para uso. AWS Ground Station também não lista contatos após o prazo de expiração das efemérides atuais fornecidas pelo cliente, mesmo que haja uma efeméride padrão disponível após esse prazo de expiração. 

**nota**  
 As efemérides de elevação de azimute não têm valores padrão e não substituem as efemérides de satélite. Eles são selecionados explicitamente ao reservar um contato usando o `trackingOverrides` parâmetro. Se você não quiser mais usar efemérides de elevação de azimute, basta reservar contatos sem especificar substituições de rastreamento, e o sistema usará as efemérides de satélite ativas. 

## Revertendo efemérides de TLE e OEM
<a name="w2aac28c25b7"></a>

 Para voltar às efemérides padrão do [Space-Track](https://www.space-track.org/) de um satélite, você precisará fazer o seguinte: 
+  Exclua (usando [DeleteEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DeleteEphemeris.html)) ou desative (usando [UpdateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_UpdateEphemeris.html)) todas as efemérides habilitadas fornecidas pelo cliente. Você pode listar as efemérides fornecidas pelo cliente para um satélite usando [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html). 
+  Aguarde até que todas as efemérides existentes fornecidas pelo cliente expirem. 

 Você pode confirmar se a efeméride padrão está sendo usada chamando [GetSatellite](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_GetSatellite.html) e verificando se o `source` da efeméride atual do satélite está `SPACE_TRACK`. Consulte [Dados de efemérides padrão](default-ephemeris-data.md) para obter mais informações sobre efemérides padrão. 

## Gerenciando efemérides de elevação de azimute
<a name="w2aac28c25b9"></a>

 Como as efemérides de elevação de azimute são selecionadas explicitamente para cada contato e não estão associadas a satélites, não existe o conceito de “reverter” para um padrão. Em vez disso, você pode gerenciar as efemérides de elevação de azimute da seguinte forma: 
+  *Para parar de usar efemérides de elevação de azimute: basta* reservar novos contatos sem especificar e especificar a. `trackingOverrides` `satelliteArn` Em vez disso, o contato usará as efemérides ativas do satélite especificado. 
+  *Para remover efemérides de elevação de azimute não utilizadas: Use [DeleteEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DeleteEphemeris.html)para excluir efemérides* de elevação de azimute que não são mais necessárias. Observe que você não pode excluir uma efeméride que esteja sendo usada atualmente por um contato agendado. 

 Para listar todas as efemérides de elevação de azimute em sua conta, use. [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html) As efemérides de elevação de azimute podem ser identificadas pelo `ephemerisType` campo ou pela presença de um `groundStation` campo em vez de um `satelliteId` campo na resposta. 