Sistema de armazenamento de mídias

Nota

Lembrando que este procedimento é apenas para o cenário on-premises. Se estiver utilizado um ambiente em nuvem desconsidere esse guia.

Para armazenamento das mídias no Transcritor de Diálogos é possível utilizar os seguintes sistemas:

  • GridFS (padrão)

  • File system

  • API compatível com aws s3

  • Google cloud storage: gcs

Nota

Não é possível utilizar mais de um sistema de armazenamento ao mesmo tempo. Um único sistema de armazenamento deve ser escolhido para deploy.

Configuração

Ao fazer o deploy do Transcritor de Diálogos configure as variáveis de ambiente conforme indicado abaixo e o tipo de sistema de armazenamento escolhido.

Para configurar o tipo do sistema de armazenamento utilize a variável de ambiente UPLOAD_SCHEME com um dos seguintes valores:

  • mongodb

  • s3

  • gcs

  • file

Para definir o nome do bucket utilize a seguinte variável de ambiente BUCKET_NAME, lembrando que buckets utilizam nome em letras minusculas.

Se estiver utilizando o GridFS utilize GRIDFS_URI e GRIDFS_DATABASE para definir a URI de acesso e o nome da coleção no MongoDB respectivamente.

Se estiver utilizando o s3 utilize as seguintes variáveis de ambiente para configurar o acesso ao bucket:

  • AWS_ACCESS_KEY

  • AWS_SECRET_KEY

  • AWS_ENDPOINT_URL

  • AWS_REGION_NAME

Se estiver utilizando o gcs aponte o arquivo json com as credencias de acesso para a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS.

Se estiver utilizando o file-system os arquivos devem ser compartilhados entre os serviços por um sistema de arquivos, por exemplo NFS e devem ter permissão de leitura e escrita.

Remoção automática do arquivo

O Transcritor de Diálogos remove automaticamente os arquivos do sistema de armazenamento. Para configurar o tempo de armazenamento das mídias defina um valor em segundos na variável de ambiente BUCKET_TTL. Para desabilitar o remoção automática de arquivos comente a variável BUCKET_TTL. Isso pode ser util se utilizado um bucket com politica de armazenamento.

Capacidade de armazenamento

Para o MongoDB e o file-system deve ser previsto a capacidade de armazenamento dos arquivos. O Transcritor de Diálogos converte os arquivos em formatos antes do processamento, necessidade de uma capacidade maior do que apenas o volume de arquivos a serem processados. A estimativa é de 3 a 4 vezes o volume de arquivos de entrada. Lembrando que arquivos comprimidos, por exemplo: mp3, são convertidos para wav, gerando um volume aproximado de 1MB para cada minutos de áudio para áudio em 8kHz em mono.

Exemplo de estimativa de armazenamento:
  • Tempo de armazenamento: 5 dias

  • Volume de entrada: 5000 minutos de áudio por hora.

Total de armazenamento: 2.4TB (5000 min. * 4 fator * 24 horas * 5 dias ~= 2.4 TB)