API를 사용하여 API 프록시 배포 상태 확인

이 섹션에서는 Apigee API를 사용하여 API 프록시의 배포 상태를 확인하는 방법을 설명합니다.

  1. 새 API 프록시 만들기 및 배포에 설명된 대로 테스트 API 프록시를 배포합니다.
  2. Apigee 조직 관리자 서비스 계정 키로 JSON 파일을 찾습니다. 이 서비스 계정과 키는 동기화 담당자 액세스 사용 설정에서 생성되었습니다.
  3. 다음 두 명령어를 실행하여 토큰을 가져옵니다.
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    여기서 org-admin-service-account-fileApigee 조직 관리자 역할로 다운로드한 서비스 계정 키에 대한 시스템의 경로입니다.

  4. 다음 부분을 포함하여 버전 API를 호출합니다.
    • 기본 URL: https://apigee.googleapis.com/v1
    • 엔드포인트 URL: /organizations/my-organization/environments/test/apis/myproxy/revisions/1/deployments
    • 프로토콜: HTTPS
    • 메서드: GET
    • 헤더: "Authorization: Bearer $TOKEN"

    다음 예시에서는 curl을 사용하여 이러한 설정으로 배포 버전 API를 호출합니다.

    curl "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/apis/myproxy/revisions/1/deployments" \
    -X GET -H "Authorization: Bearer $TOKEN"

    다음과 비슷한 응답이 표시됩니다.

    {
      "deployments": [
        {
          "environment": "test",
          "apiProxy": "myproxy",
          "revision": "1",
          "deployStartTime": "1560782439002",
          "pods": [
            {
              "podName": "apigee-runtime-my-organization-test-blue-56b642fv429v",
              "appVersion": "self",
              "deploymentStatusTime": "1560787671389",
              "deploymentStatus": "deployed",
              "statusCode": "200",
              "statusCodeDetails": "Deployment Success",
              "deploymentTime": "1560782471370",
              "podStatus": "active",
              "podStatusTime": "1560787671389"
            },
            {
              "podName": "apigee-runtime-my-organization-test-blue-564422f7dmwj",
              "appVersion": "self",
              "deploymentStatusTime": "1560787670121",
              "deploymentStatus": "deployed",
              "statusCode": "200",
              "statusCodeDetails": "Deployment Success",
              "deploymentTime": "1560782485204",
              "podStatus": "active",
              "podStatusTime": "1560787670121"
            }
          ],
          "basePath": "/"
        }
      ]
    }

    이 응답 예시는 2개의 pod에 대한 API 프록시의 상태를 보여줍니다. 모든 pod의 배포 상태는 deployed입니다.

    현재 응답은 클러스터 구성에 따라 더 적거나 많은 포드에서 API 프록시의 배포 상태를 표시할 수 있습니다.

    빈 응답 또는 오류가 표시되면 다음을 확인하세요.

    • 올바른 기본 URL을 사용했습니다. 하이브리드 기본 URL은 Edge API의 기본 URL과 동일하지 않습니다. https://apigee.googleapis.com/v1을 사용하세요.
    • 올바른 엔드포인트 URL을 사용했습니다. 버전은 '1'이고 엔드포인트는 /organizations/my_organization/environments/test/apis/myproxy/revisions/1/deployments입니다. 존재하지 않는 버전을 지정하면 요청은 다음과 같이 빈 응답을 반환합니다.
      { }
    • 요청에서 지정하는 조직에 액세스할 권한이 있습니다.
    • 토큰이 만료되지 않았습니다. 토큰이 만료된 경우 OAuth 2.0 액세스 토큰 받기에 설명된 대로 새 토큰을 다시 생성하세요.
    • "Authorization: Bearer $TOKEN" 헤더를 따옴표로 래핑했습니다.