Configure conjuntos de dados das Estatísticas de armazenamento

Este documento mostra como configurar conjuntos de dados de estatísticas de armazenamento.

Antes de começar

Antes de configurar um conjunto de dados, conclua os seguintes passos.

Obtenha as funções necessárias

Para receber as autorizações de que precisa para configurar conjuntos de dados, peça ao seu administrador que lhe conceda as seguintes funções da IAM nos seus projetos de origem:

Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Estas funções predefinidas contêm as autorizações necessárias para configurar conjuntos de dados. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

São necessárias as seguintes autorizações para configurar conjuntos de dados:

  • Configure um conjunto de dados:
    • storageinsights.datasetConfigs.create
    • storage.buckets.getObjectInsights
  • Faça a associação ao conjunto de dados do BigQuery: storageinsights.datasetConfigs.linkDataset

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Ative a API Storage Insights

Consola

Ative a API storageinsights.googleapis.com

Linha de comandos

Para ativar a API Storage Insights no seu projeto atual, execute o comando gcloud services enable:

gcloud services enable storageinsights.googleapis.com

Para mais informações sobre como ativar serviços para um Google Cloud projeto, consulte o artigo Ativar e desativar serviços.

Configure a inteligência de armazenamento

Certifique-se de que a inteligência de armazenamento está configurada para o projeto, a pasta ou a organização que quer analisar com conjuntos de dados.

Crie uma configuração do conjunto de dados

Para criar uma configuração do conjunto de dados, siga estes passos. Para mais informações sobre os campos que pode especificar para a configuração do conjunto de dados, consulte Propriedades de configuração do conjunto de dados.

Consola

  1. Na Google Cloud consola, aceda à página Storage Insights do Cloud Storage.

    Aceder a Estatísticas de armazenamento

  2. Clique em Configurar conjunto de dados.

  3. Na secção Atribua um nome ao conjunto de dados, introduza um nome para o conjunto de dados. Opcionalmente, introduza uma descrição para o conjunto de dados. Os nomes identificam as configurações do conjunto de dados e são imutáveis. O nome pode conter até 128 carateres, incluindo letras, números e sublinhados, e tem de começar por uma letra.

  4. Na secção Definir âmbito do conjunto de dados, faça o seguinte:

    • Selecione uma das seguintes opções:

      • Para obter metadados de armazenamento de todos os projetos na organização atual, selecione Incluir a organização.

      • Para obter metadados de armazenamento de todos os projetos nas pastas selecionadas, selecione Incluir pastas (suborganização/departamentos). Para informações sobre como obter IDs de pastas, consulte o artigo Ver ou listar pastas e projetos. Para adicionar pastas:

        1. No campo Pasta 1, introduza o ID da pasta.
        2. Opcionalmente, para adicionar vários IDs de pastas, clique em + Adicionar outra pasta.
      • Para obter metadados de armazenamento para os projetos selecionados, selecione Incluir projetos fornecendo os respetivos números. Para saber como encontrar os números dos projetos, consulte o artigo Encontre o nome, o número e o ID do projeto. Para adicionar projetos, faça o seguinte:

        1. No campo Projeto 1, introduza o número do projeto.
        2. Opcionalmente, para adicionar vários números de projetos, clique em + Adicionar outro projeto.
      • Para adicionar projetos ou pastas em massa, selecione Carregar uma lista de projetos/pastas através de um ficheiro CSV. O ficheiro CSV tem de conter os números dos projetos ou os IDs das pastas a incluir no conjunto de dados. Pode especificar até 10 000 projetos ou pastas numa configuração de conjunto de dados.

    • Especifique se quer incluir automaticamente futuros contentores no recurso selecionado.

    • Opcionalmente, para especificar filtros em contentores com base em regiões e prefixos de contentores, expanda a secção Filtros (opcional). Os filtros são aplicados de forma aditiva aos contentores.

      Pode incluir ou excluir contentores de regiões específicas. Por exemplo, pode excluir contentores nas regiões me-central1 e me-central2. Também pode incluir ou excluir contentores por prefixo. Por exemplo, para excluir contentores que começam por my-bucket, introduza o prefixo my-bucket*.

  5. Clique em Continuar.

  6. Na secção Selecionar período de retenção, selecione um período de retenção para os dados no conjunto de dados.

  7. Os dados de atividade são incluídos no conjunto de dados por predefinição e herdam o período de retenção do conjunto de dados. Para substituir o período de retenção do conjunto de dados, selecione Especificar um período de retenção para dados de atividade e, de seguida, selecione o número de dias durante os quais pretende reter os dados de atividade. Para desativar os dados de atividade, defina o período de retenção para 0 dias.

  8. Na secção Selecione a localização para armazenar o conjunto de dados configurado, selecione uma localização para armazenar o conjunto de dados. Por exemplo, us-central1.

  9. Na secção Selecionar tipo de conta de serviço, selecione um tipo de agente de serviço para o seu conjunto de dados. Escolha um agente de serviço ao nível da configuração ou ao nível do projeto para o seu conjunto de dados.

  10. Clique em Configurar.

Linha de comandos

  1. Para criar uma configuração do conjunto de dados, execute o comando gcloud storage insights dataset-configs create com as flags necessárias:

    gcloud storage insights dataset-configs create DATASET_CONFIG_ID \
      --location=LOCATION \
      --organization=SOURCE_ORG_NUMBER \
      --retention-period-days=DATASET_RETENTION_PERIOD_DAYS \
      (SCOPE_FLAG)
    

    Substituição:

    • DATASET_CONFIG_ID com o nome da configuração do conjunto de dados. Os nomes identificam as configurações do conjunto de dados e são imutáveis. O nome pode conter até 128 carateres, incluindo letras, números e sublinhados, e tem de começar por uma letra.

    • LOCATION com a localização para armazenar o conjunto de dados. Por exemplo, us-central1.

    • SOURCE_ORG_NUMBER com o ID da organização à qual os projetos de origem pertencem. Para encontrar o ID da sua organização, consulte o artigo Como obter o ID do recurso da organização.

    • DATASET_RETENTION_PERIOD_DAYS com o período de retenção para os dados no conjunto de dados.

    • SCOPE_FLAG com qualquer uma das seguintes flags que define o âmbito dos dados a recolher:

      • --enable-organization-scope: permite que o conjunto de dados recolha estatísticas de todos os contentores na organização.
      • --source-folders=[SOURCE_FOLDER_NUMBERS,...]: Especifica uma lista de números de pastas a incluir no conjunto de dados. Para saber como encontrar um número de pasta, consulte o artigo Listar todos os projetos e pastas na sua hierarquia.
      • --source-folders-file=FILE_PATH: Especifica vários números de pastas carregando um ficheiro CSV para um contentor.
      • --source-projects=[SOURCE_PROJECT_NUMBERS,...]: Especifica uma lista de números de projetos a incluir no conjunto de dados. Por exemplo, 464036093014. Para encontrar o número do projeto, consulte o artigo Encontre o nome, o número e o ID do projeto.
      • --source-projects-file=FILE_PATH: Especifica vários números de projetos carregando um ficheiro CSV para um contentor.

    Opcionalmente, use as seguintes flags adicionais para configurar o conjunto de dados:

    • Use --include-buckets=BUCKET_NAMES_OR_REGEX para incluir determinados contentores por nome ou expressão regular. Não pode usar esta flag com --exclude-buckets.

    • Use --exclude-buckets=BUCKET_NAMES_OR_REGEX para excluir determinados contentores por nome ou expressão regular. Não pode usar esta flag com --include-buckets.

    • Use --project=DESTINATION_PROJECT_ID para especificar um projeto para armazenar a configuração do conjunto de dados e o conjunto de dados gerado. Se não usar esta flag, o projeto de destino é o seu projeto ativo. Para mais informações sobre IDs de projetos, consulte o artigo Criar e gerir projetos.

    • Use --auto-add-new-buckets para incluir automaticamente todos os contentores adicionados aos projetos de origem no futuro.

    • Use --skip-verification para ignorar verificações e falhas do processo de validação, que inclui verificações de autorizações de IAM necessárias. Se usar esta flag, alguns ou todos os contentores podem ser excluídos do conjunto de dados.

    • Use --identity=IDENTITY_TYPE para especificar o âmbito do agente de serviço criado com a configuração do conjunto de dados. Os valores são IDENTITY_TYPE_PER_CONFIG ou IDENTITY_TYPE_PER_PROJECT. Se não for especificado, o valor predefinido é IDENTITY_TYPE_PER_CONFIG. Para ver detalhes, consulte o artigo Tipo de agente de serviço.

    • Use --description=DESCRIPTION para adicionar uma descrição para a configuração do conjunto de dados.

    • Use --activity-data-retention-period-days=ACTIVITY_RETENTION_PERIOD_DAYS para especificar o período de retenção dos dados de atividade no conjunto de dados. Por predefinição, os dados de atividade são incluídos no conjunto de dados e herdam o período de retenção do conjunto de dados. Para substituir o período de retenção do conjunto de dados, especifique o número de dias durante os quais os dados de atividade devem ser retidos. Para excluir dados de atividade, defina o valor de ACTIVITY_RETENTION_PERIOD_DAYS como 0.

    O exemplo seguinte cria uma configuração do conjunto de dados denominada my-dataset na região us-central1, para a organização com o ID 123456789, com um período de retenção de 30 dias e um âmbito limitado aos projetos 987654321 e 123123123:

    gcloud storage insights dataset-configs create my-dataset \
    --location=us-central1 \
    --organization=123456789 \
    --retention-period-days=30 \
    --source-projects=987654321,123123123
    

API JSON

  1. Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho Authorization.

  2. Crie um ficheiro JSON que contenha as seguintes informações:

    {
      "sourceProjects": {
        "project_numbers": ["PROJECT_NUMBERS", ...]
      },
      "retentionPeriodDays": "RETENTION_PERIOD_DAYS",
      "activityDataRetentionPeriodDays": "ACTIVITY_DATA_RETENTION_PERIOD_DAYS",
      "identity": {
        "type": "IDENTITY_TYPE"
      }
    }

    Substituição:

    • PROJECT_NUMBERS com os números dos projetos que quer incluir no conjunto de dados. Pode especificar um ou vários projetos. Os projetos têm de ser especificados como uma lista de strings.

      Em alternativa, pode adicionar uma organização ou uma ou várias pastas que contenham contentores e objetos para os quais quer atualizar os metadados. Para incluir pastas ou organizações, use os campos sourceFolders ou organizationScope. Para mais informações, consulte a DatasetConfig referência.

    • RETENTION_PERIOD_DAYS com o número de dias de dados a capturar no instantâneo do conjunto de dados. Por exemplo, 90.

    • ACTIVITY_DATA_RETENTION_PERIOD_DAYS com o número de dias de dados de atividade a captar no instantâneo do conjunto de dados. Por predefinição, os dados de atividade são incluídos no conjunto de dados e herdam o período de retenção do conjunto de dados. Para substituir o período de retenção do conjunto de dados, especifique o número de dias durante os quais os dados de atividade devem ser retidos. Para excluir dados de atividade, defina ACTIVITY_RETENTION_PERIOD_DAYS como 0.

    • IDENTITY_TYPE com o tipo de conta de serviço que é criada juntamente com a configuração do conjunto de dados. Os valores são IDENTITY_TYPE_PER_CONFIG ou IDENTITY_TYPE_PER_PROJECT. Para ver detalhes, consulte o artigo Tipo de agente de serviço.

  3. Para criar a configuração do conjunto de dados, use cURL para chamar a API JSON com um pedido Create DatasetConfig:

    curl -X POST --data-binary @JSON_FILE_NAME \
    "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigs?datasetConfigId=DATASET_CONFIG_ID" \
      --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json"

    Substituição:

    • JSON_FILE_NAME com o caminho para o ficheiro JSON que criou no passo anterior. Em alternativa, pode transmitir uma instância de DatasetConfig no corpo do pedido.

    • PROJECT_ID com o ID do projeto ao qual a configuração do conjunto de dados e o conjunto de dados vão pertencer.

    • LOCATION com a localização onde o conjunto de dados e a configuração do conjunto de dados vão residir. Por exemplo, us-central1.

    • DATASET_CONFIG_ID com o nome da configuração do conjunto de dados. Os nomes identificam as configurações do conjunto de dados e são imutáveis. O nome pode conter até 128 carateres, incluindo letras, números e sublinhados, e tem de começar por uma letra.

    • SERVICE_ACCOUNT com a conta de serviço. Por exemplo, test-service-account@test-project.iam.gserviceaccount.com.

Para resolver problemas de erros de processamento de capturas instantâneas registados em error_attributes_view, consulte o artigo Erros do conjunto de dados do Storage Insights.

Conceda as autorizações necessárias ao agente de serviço

Google Cloud cria um agente de serviço com âmbito de configuração ou âmbito de projeto quando cria uma configuração do conjunto de dados. O agente de serviço segue o formato de nomenclatura service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com e é apresentado na página IAM na Google Cloud consola quando seleciona a caixa de verificação Incluir concessões de funções fornecidas pela Google. Também pode encontrar o nome do agente de serviço vendo o recurso DatasetConfig através da API JSON.

Para permitir que o Storage Insights gere e escreva conjuntos de dados, peça ao seu administrador para conceder ao agente de serviço a função de serviço de coletor do Storage Insights (roles/storage.insightsCollectorService) na organização que contém os projetos de origem. Tem de conceder esta função a todos os agentes de serviço com âmbito de configuração criados para cada configuração do conjunto de dados a partir da qual quer dados. Se usar um agente de serviço ao nível do projeto, tem de conceder esta função apenas uma vez no agente de serviço para ler e escrever conjuntos de dados para todas as configurações de conjuntos de dados no projeto.

Para ver instruções sobre como conceder funções para projetos, consulte o artigo Faça a gestão do acesso.

Para associar um conjunto de dados ao BigQuery, conclua os seguintes passos:

  1. Na Google Cloud consola, aceda à página Storage Insights do Cloud Storage.

    Aceder a Estatísticas de armazenamento

  2. Clique no nome da configuração do conjunto de dados que gerou o conjunto de dados que quer associar.

  3. Na secção Conjunto de dados associado do BigQuery, clique em Associar conjunto de dados para associar o seu conjunto de dados.

  1. Para associar um conjunto de dados ao BigQuery, execute o comando gcloud storage insights dataset-configs create-link:

    gcloud storage insights dataset-configs create-link DATASET_CONFIG_ID --location=LOCATION

    Substituição:

    • DATASET_CONFIG_ID com o nome da configuração do conjunto de dados que gerou o conjunto de dados a associar.

    • LOCATION com a localização do seu conjunto de dados. Por exemplo, us-central1.

    Também pode especificar um caminho de configuração do conjunto de dados completo. Por exemplo:

    gcloud storage insights dataset-configs create-link projects/DESTINATION_PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID

    Substituição:

    • DESTINATION_PROJECT_ID com o ID do projeto que contém a configuração do conjunto de dados. Para mais informações acerca dos IDs dos projetos, consulte o artigo Criar e gerir projetos.

    • DATASET_CONFIG_ID com o nome da configuração do conjunto de dados que gerou o conjunto de dados a associar.

    • LOCATION com a localização do seu conjunto de dados e configuração do conjunto de dados. Por exemplo, us-central1.

  1. Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho Authorization.

  2. Use cURL para chamar a API JSON com um pedido de linkDataset DatasetConfig:

    curl -X POST \
      "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigsDATASET_CONFIG_ID:linkDataset?" \
        --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \
        --header "Accept: application/json" \
        --header "Content-Type: application/json"
    

    Substituição:

    • JSON_FILE_NAME com o caminho para o ficheiro JSON que criou.

    • PROJECT_ID com o ID do projeto ao qual a configuração do conjunto de dados pertence.

    • LOCATION com a localização onde residem o conjunto de dados e a configuração do conjunto de dados. Por exemplo, us-central1.

    • DATASET_CONFIG_ID com o nome da configuração do conjunto de dados que gerou o conjunto de dados a associar.

    • SERVICE_ACCOUNT com a conta de serviço. Por exemplo, test-service-account@test-project.iam.gserviceaccount.com.

O que se segue?