Os testes de conetividade suportam a verificação periódica do estado de uma operação de teste em execução, como create
, update
ou delete
. Pode
continuar a rever os resultados finais do teste quando este estiver concluído.
Consola
A Google Cloud consola usa um ícone de roda giratória para mostrar um teste em execução. Nos bastidores, os testes de conetividade sondam continuamente o estado da operação de teste. Quando o teste estiver concluído, pode verificar os resultados finais no painel Detalhes dos resultados.
Para mais informações sobre as Google Cloud páginas da consola, consulte o artigo Crie e execute testes de conetividade.
gcloud
Para usar a CLI gcloud para verificar uma operação de teste em execução,
especifique a opção --async
. Se não especificar esta opção, são apresentados apenas os resultados finais do teste.
Por exemplo, a criação do seguinte teste através da opção
--async
devolve imediatamente um ID do recurso de operação à linha de comandos. Em seguida, pode usar este ID num comandodescribe
subsequente para verificar o estado do teste enquanto o teste ainda está em execução.gcloud network-management connectivity-tests create NAME \ --destination-project=DESTINATION_PROJECT \ --source-ip-address=SOURCE_IP_ADDRESS \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL \ --source-project=SOURCE_PROJECT \ --async
Substitua os seguintes valores:
NAME
: o nome dos testes de conetividadeDESTINATION_PROJECT
: o ID do projeto do ponto final de destinoSOURCE_IP_ADDRESS
: o endereço IP de origem interno ou externo a partir do qual está a fazer o teste; só é permitido um endereço IPv6 quando o destino do teste é um VIP do balanceador de carga globalDESTINATION_IP_ADDRESS
: o endereço IP de origem interno ou externo para o qual está a fazer o teste; só é permitido um endereço IPv6 quando o destino do teste é um VIP do balanceador de carga globalPROTOCOL
: um protocolo suportado para testes de conetividadeSOURCE_PROJECT
: o ID do projeto do ponto final de origem
O resultado é o seguinte:
Create request issued for: [gcloud-example] Check operation [projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13] for status
Use o ID do recurso da operação com o comando
describe
para verificar o estado do teste:gcloud network-management operations describe \ projects/SOURCE_PROJECT/locations/global/operations/OPERATION_RESOURCE_ID
Substitua os seguintes valores:
SOURCE_PROJECT
: o ID do projeto do ponto final de origemOPERATION_RESOURCE_ID
: o ID do recurso da operação em curso que está a verificar (por exemplo,operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13
)
O seguinte exemplo de saída para o comando anterior mostra
done: false
. Quando o teste estiver concluído, este campo muda paradone: true
.done: false metadata: '@type': type.googleapis.com/google.cloud.networkmanagement.v1.OperationMetadata apiVersion: v1 cancelRequested: false createTime: '2020-01-30T19:06:50.055838110Z' endTime: '2020-01-30T19:06:57.637200039Z' target: projects/reachability-e2e-test/locations/global/connectivityTests/gcloud-example verb: create name: projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13 response: '@type': type.googleapis.com/google.cloud.networkmanagement.v1beta1.ConnectivityTest createTime: '2020-01-30T19:06:50.050012906Z' ... // Full resource metadata displayed here.
Repita o comando
describe
anterior até o resultado mostrardone: true
.
API
A API Network Management está sempre no modo async
. Quando emite um comando para a API, recebe imediatamente um ID da operação. Pode usar este ID para verificar periodicamente o estado do teste.
Python
A API Network Management está sempre no modo async
. Quando usa o cliente Python da API para emitir um pedido, recebe imediatamente um ID da operação.
Pode usar este ID para verificar periodicamente o estado do teste.
Veja o exemplo seguinte:
project_id = 'PROJECT_ID' operation_id = 'OPERATION_ID' request = api.projects().locations().global_().operations().get( name='projects/%s/locations/global/operations/%s' % (project_id, operation_id)) print(json.dumps(request.execute(), indent=4))
Substitua os seguintes valores:
PROJECT_ID
: o ID do projeto no qual criou o testeOPERATION_ID
: o ID do recurso da operação em curso que está a verificar (por exemplo,operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13
)