檢查正在執行的測試作業

Connectivity Tests 支援定期檢查執行中的測試作業狀態,例如 createupdatedelete。測試完成後,您仍可查看最終測試結果。

主控台

Google Cloud 控制台會使用旋轉圖示顯示正在執行的測試。在幕後,Connectivity Tests 會持續輪詢測試作業的狀態。測試完成後,您可以在「結果詳細資料」面板中查看最終結果。

如要進一步瞭解 Google Cloud 主控台頁面,請參閱「建立並執行連線能力測試」。

gcloud

如要使用 gcloud CLI 檢查執行中的測試作業,請指定 --async 選項。如果未指定這個選項,您只會看到最終測試結果。

  1. 舉例來說,使用 --async 選項建立下列測試時,會立即將作業資源 ID傳回至指令列。接著,您可以在後續的 describe 指令中使用這個 ID,在測試執行期間檢查測試狀態。

    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
    

    替換下列值:

    • NAME:連線能力測試名稱
    • DESTINATION_PROJECT:目的地端點的專案 ID
    • SOURCE_IP_ADDRESS:您要測試的內部或外部來源 IP 位址;只有在測試目的地為全域負載平衡器 VIP 時,才允許使用 IPv6 位址
    • DESTINATION_IP_ADDRESS:您要測試的內部或外部來源 IP 位址;只有在測試目的地為全域負載平衡器 VIP 時,才允許使用 IPv6 位址
    • PROTOCOL:連線測試的支援通訊協定
    • SOURCE_PROJECT:來源端點的專案 ID

    輸出內容如下:

    Create request issued for: [gcloud-example]
    Check operation [projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13] for status
    
  2. 請使用作業資源 ID 搭配 describe 指令,查看測試狀態:

    gcloud network-management operations describe \
    projects/SOURCE_PROJECT/locations/global/operations/OPERATION_RESOURCE_ID
    

    替換下列值:

    • SOURCE_PROJECT:來源端點的專案 ID
    • OPERATION_RESOURCE_ID:您要檢查的進行中作業的資源 ID (例如 operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13)

    以下是先前指令的輸出範例,顯示 done: false。測試完成後,這個欄位會變更為 done: 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.
    
  3. 重複執行前述 describe 指令,直到輸出內容顯示 done: true 為止。

API

Network Management API 一律處於 async 模式。向 API 發出指令後,您會立即收到作業 ID。您可以使用這個 ID 定期檢查測試狀態。

Python

Network Management API 一律處於 async 模式。使用 API Python 用戶端發出要求時,您會立即收到作業 ID。您可以使用這個 ID 定期檢查測試狀態。

請參閱以下範例:

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))

替換下列值:

  • PROJECT_ID:您建立測試的專案專案 ID
  • OPERATION_ID:您要檢查的進行中作業的資源 ID (例如 operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13)

後續步驟