Depois que a API App Optimize cria um relatório, você extrai os dados de custo e utilização dele. Essa operação baixa as informações como colunas e linhas, estruturadas de acordo com as dimensões e métricas especificadas ao solicitar o relatório.
Essa solicitação de API é diferente de receber os metadados de um relatório, que só retorna as configurações de configuração do relatório.
Antes de começar
-
Verify that you have the permissions required to complete this guide.
Selecione a guia para definir como você quer usar as amostras neste documento:
gcloud
Instale a CLI do Google Cloud.
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
Para inicializar a CLI gcloud, execute o seguinte comando:
gcloud initDepois de inicializar a CLI gcloud, atualize-a e instale os componentes necessários:
gcloud components update gcloud components install beta
Para informações sobre como configurar a autenticação em um ambiente de produção, consulte Configurar o Application Default Credentials para código executado em Google Cloud na documentação de autenticação do Google Cloud .
Python
- Instale a biblioteca de cliente Python para a App Optimize API.
-
Para usar os exemplos do Python nesta página em um ambiente de desenvolvimento local, instale e inicialize a CLI gcloud e configure o Application Default Credentials com suas credenciais de usuário.
-
Instale a CLI do Google Cloud.
-
Configure a CLI gcloud para usar sua identidade federada.
Para mais informações, consulte Fazer login na CLI gcloud com sua identidade federada.
-
Crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Se um erro de autenticação for retornado e você estiver usando um provedor de identidade (IdP) externo, confirme se você fez login na CLI gcloud com sua identidade federada.
Para mais informações, consulte Configurar o ADC para um ambiente de desenvolvimento local na documentação de autenticação do Google Cloud .
Para informações sobre como configurar a autenticação em um ambiente de produção, consulte Configurar o Application Default Credentials para código executado em Google Cloud na documentação de autenticação do Google Cloud .
-
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para CLI gcloud.
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.
Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .
Para informações sobre como configurar a autenticação em um ambiente de produção, consulte Configurar o Application Default Credentials para código executado em Google Cloud na documentação de autenticação do Google Cloud .
Funções exigidas
Para receber as permissões necessárias
para ler os dados de um relatório,
peça ao administrador para conceder a você o papel do IAM
Leitor do App Optimize (roles/appoptimize.viewer) no projeto que possui o recurso de relatório.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.
Ler dados do relatório
Para ler dados de um relatório concluído, siga as instruções do seu método preferido:
gcloud
Use o comando gcloud beta app-optimize reports read para buscar os dados de um relatório.
gcloud beta app-optimize reports read REPORT_ID \
--project=PROJECT_ID \
--location=global
Substitua:
PROJECT_ID: o ID do Google Cloud projeto que tem o recurso de relatório que você quer ler.REPORT_ID: o ID do relatório a ser lido. Esse ID foi especificado quando o relatório foi criado e pode ser obtido listando os relatórios.
O comando gcloud processa a paginação automaticamente, retornando todos os recursos solicitados.
Para entender os valores no campo cost, consulte
Como interpretar métricas de custo.
Para mais informações sobre os dados e entender as limitações deles, consulte
Entender os dados.
Python
O código Python a seguir usa AppOptimizeClient.read_report() para ler os dados de um relatório.
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)
Substitua:
PROJECT_ID: o ID do Google Cloud projeto que tem o recurso de relatório que você quer ler.REPORT_ID: o ID do relatório a ser lido. Esse ID foi especificado quando o relatório foi criado e pode ser obtido listando os relatórios.
A biblioteca de cliente processa a paginação automaticamente, gerando resultados do iterador.
Para entender os valores no campo cost, consulte
Como interpretar métricas de custo.
Para mais informações sobre os dados e entender as limitações deles, consulte
Entender os dados.
REST
Envie uma solicitação HTTP POST para o método personalizado :read da API REST.
Use o seguinte comando
curlpara enviar essa solicitação e ler a primeira página dos dados do relatório: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"Substitua:
PROJECT_ID: o ID do Google Cloud projeto que tem o recurso de relatório que você quer ler.REPORT_ID: o ID do relatório a ser lido. Esse ID foi especificado quando o relatório foi criado e pode ser obtido listando os relatórios.PAGE_SIZE: o número máximo de linhas a serem retornadas por página. O servidor retorna no máximo 1.000 linhas por página, mesmo que você especifique um valor maior. As respostas também estão sujeitas a um limite de tamanho de 10 MB. Portanto, menos linhas podem ser retornadas para ficar dentro desse limite. SepageSizefor omitido, um tamanho padrão será usado.
Se a solicitação for bem-sucedida, a API vai retornar uma resposta JSON com o esquema e as linhas do relatório. Confira um exemplo de resposta bem-sucedida:
{ "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 entender os valores no campo
cost, consulte Como interpretar métricas de custo. Para mais informações sobre os dados e entender as limitações deles, consulte Entender os dados.Se a resposta incluir um campo
nextPageToken, o relatório vai conter mais linhas. Para recuperar a próxima página de resultados, faça outra solicitaçãoPOSTque inclua esse token no campopageTokendo corpo 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"Substitua:
NEXT_PAGE_TOKEN: o valor donextPageTokenrecebido na resposta anterior.PAGE_SIZE: o número máximo de linhas a serem retornadas por página. Embora seja possível mudar esse valor entre solicitações de página, os limites do lado do servidor ainda se aplicam.
Repita esse processo até que a resposta não contenha mais um
nextPageToken, indicando que você recuperou todos os dados do relatório.