Google Cloud 프로젝트 내의 모든 보고서 구성을 나열하여 App Optimize API 보고서를 효과적으로 관리합니다. 이를 통해 데이터를 읽거나 더 이상 필요하지 않은 경우 만료일 전에 삭제할 특정 보고서를 식별할 수 있습니다.
목록 작업은 각 보고서의 리소스 이름, 범위, 측정기준, 측정항목, 만료 시간을 비롯한 보고서 메타데이터를 반환합니다. 요청된 비용 및 사용량 정보를 다운로드하려면 보고서의 데이터를 읽어야 합니다.
시작하기 전에
-
Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
Verify that you have the permissions required to complete this guide.
이 문서의 샘플 사용 방법에 대한 탭을 선택하세요.
gcloud
Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.
Google Cloud 콘솔 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.
프로덕션 환경의 인증 설정에 대한 자세한 내용은 Google Cloud 인증 문서의 Google Cloud에서 실행되는 코드의 애플리케이션 기본 사용자 인증 정보 설정 을 참고하세요.
Python
- App Optimize API용 Python 클라이언트 라이브러리를 설치합니다.
-
로컬 개발 환경에서 이 페이지의 Python 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다.
-
Google Cloud CLI를 설치합니다.
-
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
-
로컬 셸을 사용하는 경우 사용자 계정에 대한 로컬 인증 사용자 인증 정보를 만듭니다.
gcloud auth application-default login
Cloud Shell을 사용하는 경우 이 작업을 수행할 필요는 없습니다.
인증 오류가 반환되고 외부 ID 공급업체(IdP)를 사용하는 경우 제휴 ID로 gcloud CLI에 로그인했는지 확인합니다.
자세한 내용은 Google Cloud 인증 문서의 로컬 개발 환경의 ADC 설정을 참고하세요.
프로덕션 환경의 인증 설정에 대한 자세한 내용은 Google Cloud 인증 문서의 Google Cloud에서 실행되는 코드의 애플리케이션 기본 사용자 인증 정보 설정 을 참고하세요.
-
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Google Cloud CLI를 설치합니다.
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
프로덕션 환경의 인증 설정에 대한 자세한 내용은 Google Cloud 인증 문서의 Google Cloud에서 실행되는 코드의 애플리케이션 기본 사용자 인증 정보 설정 을 참고하세요.
필요한 역할
프로젝트의 보고서 리소스를 나열하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 앱 최적화 뷰어 (roles/appoptimize.viewer) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
보고서 나열
프로젝트의 보고서를 나열하려면 선호하는 방법에 대한 안내를 따르세요.
gcloud
gcloud beta app-optimize reports list 명령어를 사용하여 프로젝트의 보고서를 나열합니다.
gcloud beta app-optimize reports list \
--project=PROJECT_ID \
--location=global
PROJECT_ID를 나열할 보고서 리소스를 소유한 Google Cloud프로젝트의 ID로 바꿉니다.
gcloud 명령어는 페이지 나누기를 자동으로 처리하여 요청된 모든 리소스를 반환합니다.
Python
다음 Python 코드는 AppOptimizeClient.list_reports()를 사용하여 프로젝트의 보고서 목록을 표시합니다.
from google.cloud import appoptimize_v1beta
project_id = "PROJECT_ID"
# Create the App Optimize client and request the project's reports
client = appoptimize_v1beta.AppOptimizeClient()
request = appoptimize_v1beta.ListReportsRequest(
parent=f"projects/{project_id}/locations/global"
)
page_result = client.list_reports(request=request)
# Iterate over the list of reports and display each one
for response in page_result:
print(response)
PROJECT_ID를 나열할 보고서 리소스를 소유한 Google Cloud프로젝트의 ID로 바꿉니다.
클라이언트 라이브러리는 페이지 나누기를 자동으로 처리하여 반복자에서 결과를 생성합니다.
REST
다음 curl 명령어를 사용하여 프로젝트의 보고서를 나열합니다.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports?pageSize=PAGE_SIZE"
다음을 바꿉니다.
PROJECT_ID: 나열하려는 보고서 리소스를 소유한 Google Cloud 프로젝트의 ID입니다.PAGE_SIZE: 페이지당 반환할 최대 보고서 수입니다. 생략하면 API에서 기본값을 사용합니다. 서버에서 요청한 것보다 적은 보고서를 반환할 수 있습니다.
요청이 성공하면 API는 보고서 리소스 목록이 포함된 JSON 응답을 반환합니다. 다음은 성공적인 호출 응답의 예입니다.
{
"reports": [
{
"name": "projects/PROJECT_ID/locations/global/reports/my-first-report",
"dimensions": [
"location",
"product_display_name",
"project",
"sku"
],
"scopes": [
{
"project": "projects/PROJECT_ID"
}
],
"filter": "hour \u003e= now - duration(\"168h\")",
"expireTime": "2026-02-05T18:30:39.907639266Z",
"metrics": [
"cost"
]
},
{
"name": "projects/PROJECT_ID/locations/global/reports/my-second-report",
"dimensions": [
"location",
"product_display_name",
"project",
"resource",
"resource_type"
],
"scopes": [
{
"project": "projects/PROJECT_ID"
}
],
"filter": "hour \u003e= now - duration(\"168h\")",
"expireTime": "2026-02-05T18:50:25.273833857Z",
"metrics": [
"cost",
"cpu_mean_utilization"
]
}
]
}
reports 배열에는 각 보고서의 메타데이터가 포함됩니다. 요청이 실패하면 API에서 반환된 오류 메시지를 검토합니다.
응답에 nextPageToken 문자열이 포함되어 있으면 가져올 보고서가 더 있다는 의미입니다.
응답에서 nextPageToken 필드를 확인합니다. 토큰이 있으면 다음 curl 명령어를 실행하여 pageToken 쿼리 매개변수를 포함한 다음 페이지를 가져옵니다. pageSize 매개변수를 계속 사용할 수 있습니다.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports?pageToken=NEXT_PAGE_TOKEN&pageSize=PAGE_SIZE"
다음을 바꿉니다.
NEXT_PAGE_TOKEN: 이전 응답에서 수신한nextPageToken값입니다.PAGE_SIZE: 이 요청에 사용할 페이지 크기입니다.
모든 보고서를 가져왔음을 나타내는 nextPageToken이 더 이상 응답에 포함되지 않을 때까지 이 프로세스를 반복합니다.