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.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init -
Verifique se você tem as permissões necessárias para concluir este guia.
-
Instale a CLI do Google Cloud.
-
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
Para inicializar a gcloud CLI, execute o seguinte comando:
gcloud init -
Verifique se você tem as permissões necessárias para concluir este guia.
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 Leitor do App Optimize (roles/appoptimize.viewer)
do IAM 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 usando a API REST, envie uma solicitação HTTP POST ao endpoint :read do relatório.
Use o comando
curla seguir para ler a primeira página de 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 terá 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