<p>mc não funciona com intervalos GCS contendo sublinhados no nome</p>

Criado em 5 abr. 2016  ·  6Comentários  ·  Fonte: minio/mc

A validação que mc faz nos nomes dos intervalos os restringe a um subconjunto de caracteres habilitado para DNS. No entanto, o Google Cloud Storage parece permitir outros personagens. Isso leva à situação em que o mc não pode executar operações em alguns depósitos do GCS.

Existe uma maneira de relaxar essa restrição por alias? Meu caso de uso aqui é ser capaz de transferir dados entre GCS e S3, e atualmente não posso fazer isso para todos os buckets com os quais estou trabalhando. Veja abaixo o erro que estou recebendo.

$ ./mc config host add gcs https://storage.googleapis.com GOOGXXXXXXXXXXXXXXXX eb4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX S3v2
$ ./mc ls gcs
[2016-03-21 15:30:02 GMT]     0B dw_export/
$ ./mc ls gcs/dw_export/
mc: <ERROR> Unable to stat ‘gcs/dw_export/’. Bucket name contains invalid characters.
wontfix

Comentários muito úteis

$ ./mc config host add gcs https://storage.googleapis.com GOOGXXXXXXXXXXXXXXXX eb4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX S3v2
$ ./mc ls gcs
[2016-03-21 15:30:02 GMT] 0B dw_export /
$ ./mc ls gcs / dw_export /
mc:Incapaz de stat 'gcs / dw_export /'. O nome do intervalo contém caracteres inválidos.

Atualmente, sim, os buckets são restritos com base nos requisitos de nomenclatura de bucket S3, ou seja, seguindo as restrições de bucket aqui http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html

Vou ver se há uma maneira de relaxar isso só para gcs.

Todos 6 comentários

$ ./mc config host add gcs https://storage.googleapis.com GOOGXXXXXXXXXXXXXXXX eb4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX S3v2
$ ./mc ls gcs
[2016-03-21 15:30:02 GMT] 0B dw_export /
$ ./mc ls gcs / dw_export /
mc:Incapaz de stat 'gcs / dw_export /'. O nome do intervalo contém caracteres inválidos.

Atualmente, sim, os buckets são restritos com base nos requisitos de nomenclatura de bucket S3, ou seja, seguindo as restrições de bucket aqui http://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html

Vou ver se há uma maneira de relaxar isso só para gcs.

Podemos ter convenções de nomenclatura / validação de intervalo específicas para cada provedor de armazenamento. Pode ser muito útil quando oferecemos suporte a vários provedores, cada um com suas próprias restrições. As mudanças de política de um não prejudicarão o outro.

Podemos ter convenções de nomenclatura / validação de intervalo específicas para cada provedor de armazenamento. Pode ser muito útil quando oferecemos suporte a vários provedores, cada um com suas próprias restrições. As mudanças de política de um não prejudicarão o outro.

O problema com o Google Cloud Storage é que ele não é totalmente compatível com o S3. 'mc' é uma ferramenta escrita apenas para armazenamento de objetos compatível com 'S3', como S3, Minio, Ceph ou Swift e sistemas de arquivos. - é por isso que adicionar soluções textuais por provedor não faz sentido, uma vez que não é uma ferramenta de transferência de dados genérica para todos os tipos de provedores.

O que pode ser feito é relaxar as restrições de balde apenas para 'GCS' especificamente, isso requer mudanças de código no minio-go.

Para fazer o minio funcionar, transfiro (renomeio) minha backet com o nome sem sublinhado.
Depois disso, fui capaz de espelhar esse balde.

Devemos apenas encorajar os usuários a seguir as melhores práticas. Se relaxarmos, a migração de dados entre GCS, AWS e Minio se tornará mais difícil e os usuários sempre dependerão do mc.

Este tópico foi bloqueado automaticamente, pois não houve nenhuma atividade recente depois que ele foi fechado. Abra um novo problema para bugs relacionados.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

i0x71 picture i0x71  ·  5Comentários

silvernode picture silvernode  ·  8Comentários

rafaelsierra picture rafaelsierra  ·  9Comentários

teto picture teto  ·  7Comentários

mausch picture mausch  ·  8Comentários