Descoberta da API Shadow: APIs de gerenciamento

Visão geral

Nesta página, fornecemos sintaxe de referência para gerenciar a descoberta da API Shadow da Apigee nas APIs de gerenciamento da Apigee (APIM). A documentação das APIs de gerenciamento relacionadas à descoberta de APIs Shadow, incluindo informações sobre cada campo de uma solicitação, está disponível em https://cloud.google.com/apigee/docs/reference/apis/apim/rest e https://cloud.google.com/apigee/docs/reference/apis/apim/rpc

Para uma visão geral da descoberta da API Shadow e instruções para gerenciá-la usando a interface da Apigee no console do Cloud, consulte Descoberta da API Shadow. Acesse as informações sobre comportamentos e limitações gerais da descoberta da API Shadow em Comportamentos e limitações.

Parâmetros em chamadas de API de referência

As chamadas de API nesta página podem usar os parâmetros a seguir, que se referem às informações da sua conta da Apigee (como seu projeto) ou informações usadas ao criar jobs de observação. Consulte Criar jobs de observação para mais informações sobre cada um desses campos.

  • OBSERVATION_JOB_LOCATION é o local de um job de observação.
  • OBSERVATION_JOB_NAME é o nome de um job de observação.
  • OBSERVATION_SOURCE_LOCATION é um local de origem do job de observação.
  • OBSERVATION_SOURCE_NAME é um nome de origem de observação.
  • PROJECT é seu projeto da Apigee.

Criar um job de observação

A criação de um job de observação exige várias etapas/solicitações de API.

  1. Criar uma fonte de observação: para criar uma nova fonte de observação em vez de usar uma existente, faça uma solicitação POST para o endpoint notificationSources com os detalhes da origem de observação.
    curl \ https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources?observation_source_id=OBSERVATION_SOURCE_NAME \
    -X POST \
    -H 'Content-type: application/json' \
    -d @- <<'EOF'
    {
      "gclbObservationSource": {
        "pscNetworkConfigs": [
          {
            "network": "projects/PROJECT/global/networks/{network_name}",
            "subnetwork":"projects/PROJECT/regions/OBSERVATION_SOURCE_LOCATION/subnetworks/{subnet_name}"
          }
        ]
      }
    }
    EOF
    A criação de uma fonte de observação leva vários minutos e inicia uma LRO, com uma resposta como esta:
    {
    "name": "projects/{project/locations/OBSERVATION_SOURCE_LOCATION/operations/operation-",
    "metadata": {
      "@type": "type.googleapis.com/google.cloud.apim.vl.ApiDiscoveryOperationMetadata",
      "createTime": "",
      "target": "projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME",
      "verb": "create",
      "requestedCancellation": false,
      "apiVersion": "vl"
    },
    "done": false
    }
  2. Para conferir a origem de observação recém-criada:
    curl \
    https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME
  3. Criar um job de observação: crie um job que procure APIs Shadow usando a origem que você acabou de criar:
    curl \
    https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs?observation_job_id=OBSERVATION_JOB_NAME \
    -X POST \
    -H 'Content-type: application/json' \
    -d @- <<'EOF'
    {
      "sources": [
        "projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME"
      ]
    }
    EOF

Ativar um job de observação

Use o comando a seguir para ativar um novo job de observação ou um job atual desativado.

curl https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME:enable \
-X POST \
-H 'Content-type: application/json' \
-d @- <<'EOF'
{}
EOF

Ver APIs descobertas

Para acessar as APIs descobertas por jobs de observação ativados, envie este comando:

curl https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME/apiObservations \
-X GET

Gerenciar tags nos resultados de observação

Para listar as tags já adicionadas aos resultados:

curl -H "https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION:listApiObservationTags"
  

Para gerenciar tags:

curl -H "Content-Type: appication/json" \
"https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME/apiObservations:batchEditTags" \
-X POST -d @- <<'EOF'
{
  "requests": [
    {
      "apiObservationId": "API_OBSERVATION_ID",
      "tagActions": [
      {
        "tag": "demo",
        "action": "REMOVE"
      },
      {
        "tag": "Needs Attentions",
        "action": "ADD"
      }]
    }
  ]
}
EOF

Desativar um job de observação

Essa solicitação desativa um job de observação sem excluí-lo.

curl https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationsJobs/OBSERVATION_JOB_NAME:disable \
-X POST \
-H 'Content-type: application/json' \
-d @- <<'EOF'
{
}

Excluir um job de observação

Essa solicitação exclui um job de observação.

curl -X DELETE https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_JOB_LOCATION/observationJobs/OBSERVATION_JOB_NAME

Excluir uma fonte de observação

Essa solicitação exclui uma origem de observação.

curl -X DELETE https://apim.googleapis.com/v1alpha/projects/PROJECT/locations/OBSERVATION_SOURCE_LOCATION/observationSources/OBSERVATION_SOURCE_NAME