Depois que a App Optimize API cria um relatório, você busca os dados de custo e utilização dele. Essa operação faz o download dessas 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 dele.
Antes de começar
-
Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos 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 como planeja usar os exemplos neste documento:
gcloud
No Google Cloud console, ative o Cloud Shell.
Na parte de baixo do Google Cloud console, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI 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 em execução em Google Cloud na documentação de autenticação. Google Cloud
Python
- Instale a biblioteca de cliente Python para a App Optimize API.
-
Para usar os exemplos de Python desta 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 Google Cloud CLI.
-
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.
Saiba mais em Configurar o ADC para um ambiente de desenvolvimento local na documentação de Google Cloud autenticação.
Para informações sobre como configurar a autenticação em um ambiente de produção, consulte Configurar o Application Default Credentials para código em execução em Google Cloud na documentação de autenticação. Google Cloud
-
REST
Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Instale a Google Cloud CLI.
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 em execução em Google Cloud na documentação de autenticação. 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 de Leitor da 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 personalizados papéis ou outros predefinidos papéis.
Ler dados do relatório
Para ler dados de um relatório concluído, siga as instruções do 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 possui 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
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 possui 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
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 comando
curla seguir para enviar essa solicitação e 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 possui 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 permanecer dentro desse limite. SepageSizefor omitido, um tamanho padrão será usado.
Se a solicitação for bem-sucedida, a API retornará uma resposta JSON contendo 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 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 linhas adicionais. 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 denextPageTokenrecebido na resposta anterior.PAGE_SIZE: o número máximo de linhas a serem retornadas por página. Embora seja possível alterar esse valor entre as 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
- Acessar os metadados de um relatório
- Listar relatórios
- Excluir um relatório
- Visão geral da App Optimize API