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
-
Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
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
No console do Google Cloud , ative o Cloud Shell.
Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
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.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.
-
Se você estiver usando um shell local, crie credenciais de autenticação local para sua conta de usuário:
gcloud auth application-default login
Não é necessário fazer isso se você estiver usando o Cloud Shell.
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 CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro 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.
A seguir
- Receber os metadados de um relatório
- Listar relatórios
- Excluir um relatório
- Visão geral da API App Optimize