Después de que la API de App Optimize crea un informe, recuperas los datos de costos y utilización del informe. Esta operación descarga la información como columnas y filas, estructurada según las dimensiones y métricas que especificaste cuando solicitaste el informe.
Esta solicitud a la API es diferente de la obtención de los metadatos de un informe, que solo devuelve la configuración del informe.
Antes de comenzar
-
Verify that you have the permissions required to complete this guide.
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de este documento:
gcloud
Instala Google Cloud CLI.
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud initDespués de inicializar gcloud CLI, actualízala y, luego, instala los componentes necesarios:
gcloud components update gcloud components install beta
Para obtener información sobre cómo configurar la autenticación para un entorno de producción, consulta Configura las credenciales predeterminadas de la aplicación para el código que se ejecuta en Google Cloud en la documentación de autenticación de Google Cloud .
Python
- Instala la biblioteca cliente de Python para la API de App Optimize.
-
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa la gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
-
Instala Google Cloud CLI.
-
Configura gcloud CLI para usar tu identidad federada.
Para obtener más información, consulta Accede a la gcloud CLI con tu identidad federada.
-
Crea credenciales de autenticación locales para tu cuenta de usuario:
gcloud auth application-default login
Si se devuelve un error de autenticación y usas un proveedor de identidad (IdP) externo, confirma que accediste a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Configura ADC para un entorno de desarrollo local en la documentación de autenticación de Google Cloud .
Para obtener información sobre cómo configurar la autenticación para un entorno de producción, consulta Configura las credenciales predeterminadas de la aplicación para el código que se ejecuta en Google Cloud en la documentación de autenticación de Google Cloud .
-
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Para obtener información sobre cómo configurar la autenticación para un entorno de producción, consulta Configura las credenciales predeterminadas de la aplicación para el código que se ejecuta en Google Cloud en la documentación de autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para leer los datos de un informe, pídele a tu administrador que te otorgue el rol de IAM de visualizador de App Optimize (roles/appoptimize.viewer) en el proyecto propietario del recurso del informe.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Leer datos del informe
Para leer los datos de un informe completado, sigue las instrucciones del método que prefieras:
gcloud
Usa el comando gcloud beta app-optimize reports read para recuperar los datos de un informe.
gcloud beta app-optimize reports read REPORT_ID \
--project=PROJECT_ID \
--location=global
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del Google Cloud proyecto que posee el recurso del informe que deseas leer.REPORT_ID: ID del informe que se leerá. Este ID se especificó cuando se creó el informe y se puede obtener enumerando los informes.
El comando gcloud controla la paginación de forma automática y devuelve todos los recursos solicitados.
Para comprender los valores del campo cost, consulta Cómo interpretar las métricas de costos.
Para obtener más información sobre los datos y comprender sus limitaciones, consulta Cómo comprender los datos.
Python
El siguiente código de Python usa AppOptimizeClient.read_report() para leer los datos de un informe.
from google.cloud import appoptimize_v1beta
project_id = "PROJECT_ID"
report_id = "REPORT_ID"
# Create the App Optimize client and read a report's data
client = appoptimize_v1beta.AppOptimizeClient()
request = appoptimize_v1beta.ReadReportRequest(
name=f"projects/{project_id}/locations/global/reports/{report_id}"
)
result = client.read_report(request=request)
# Display the report data
print(result)
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del Google Cloud proyecto que posee el recurso del informe que deseas leer.REPORT_ID: ID del informe que se leerá. Este ID se especificó cuando se creó el informe y se puede obtener enumerando los informes.
La biblioteca cliente controla la paginación automáticamente y genera resultados del iterador.
Para comprender los valores del campo cost, consulta Cómo interpretar las métricas de costos.
Para obtener más información sobre los datos y comprender sus limitaciones, consulta Cómo comprender los datos.
REST
Envía una solicitud POST HTTP al método personalizado :read de la API de REST.
Usa el siguiente comando
curlpara enviar esa solicitud y leer la primera página de los datos del informe:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"pageSize": PAGE_SIZE}' \ "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports/REPORT_ID:read"Reemplaza lo siguiente:
PROJECT_ID: Es el ID del Google Cloud proyecto que posee el recurso del informe que deseas leer.REPORT_ID: ID del informe que se leerá. Este ID se especificó cuando se creó el informe y se puede obtener enumerando los informes.PAGE_SIZE: Es la cantidad máxima de filas que se mostrarán por página. El servidor devuelve un máximo de 1,000 filas por página, incluso si especificas un valor mayor. Las respuestas también están sujetas a un límite de tamaño de 10 MB, por lo que es posible que se devuelvan menos filas para no superar ese límite. Si se omitepageSize, se usa un tamaño predeterminado.
Si la solicitud se realiza correctamente, la API devuelve una respuesta en formato JSON que contiene el esquema y las filas del informe. Esta es una respuesta correcta de ejemplo:
{ "rows": [ [ "//apphub.googleapis.com/projects/123456789/locations/us-central1/applications/my-app-1", { "currency_code": "USD", "units": "106", "nanos": 321590000 } ], [ "//apphub.googleapis.com/projects/123456789/locations/us-central1/applications/my-app-2", { "currency_code": "USD", "units": "797", "nanos": 641691000 } ] ], "columns": [ { "name": "application", "type": "STRING" }, { "name": "cost", "type": "RECORD", "columns": [ { "name": "currency_code", "type": "STRING" }, { "name": "units", "type": "INT64" }, { "name": "nanos", "type": "INT64" } ] } ], "nextPageToken": "AABBCCddeeffGGHHiiJJkkLL" }Para comprender los valores del campo
cost, consulta Cómo interpretar las métricas de costos. Para obtener más información sobre los datos y comprender sus limitaciones, consulta Cómo comprender los datos.Si la respuesta incluye un campo
nextPageToken, el informe contiene filas adicionales. Para recuperar la siguiente página de resultados, haz otra solicitudPOSTque incluya este token en el campopageTokendel cuerpo JSON:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"pageToken": "NEXT_PAGE_TOKEN", "pageSize": PAGE_SIZE}' \ "https://appoptimize.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/reports/REPORT_ID:read"Reemplaza lo siguiente:
NEXT_PAGE_TOKEN: Es el valor denextPageTokenque se recibió en la respuesta anterior.PAGE_SIZE: Es la cantidad máxima de filas que se devolverán por página. Si bien puedes cambiar este valor entre solicitudes de página, se siguen aplicando los límites del servidor.
Repite este proceso hasta que la respuesta ya no contenga un
nextPageToken, lo que indica que recuperaste todos los datos del informe.