Essa é uma boa pergunta.
A última vez que chequei até COPY
entre diferentes regiões não funcionou. Eu sei que o aplicativo Explorer do Cloudberry tem um recurso para copiar dados entre contas do S3, você pode fazer um teste com isso? Eu não tentei, é apenas no Windows.
Acho que, se funcionar, é uma questão de tentar a API.
Todos os seus clientes estão na mesma região? Porque se COPY
entre contas não funcionasse, eu inicializaria uma instância (ou várias) para acelerar o processo. Se todos estiverem na mesma região, não será cobrada nenhuma taxa de largura de banda.
Isso não é o ideal, mas acho que com várias instâncias você pode fazer muito trabalho por menos de 10 dólares. E deve ser possível automatizar a configuração também.
Atualizar
Então, para elaborar sobre EC2. Uma instância do EC2 é igual a outro servidor. Eu sugeri isso originalmente para que você possa fazer o download do arquivo uma vez e enviá-lo para outras contas do S3 dentro AWS para economizar dinheiro em largura de banda (é grátis se o bucket e a instância estiverem na mesma região). / p>
De qualquer forma, como uma instância do EC2 é como um servidor, seria necessário configurar um pouco para inicializá-lo. Por exemplo. uma AMI customizada, ou qualquer AMI e algum user-data
(script de shell passado para a instância e executado na primeira inicialização). Provavelmente você precisaria instalar o PHP, o Amazon SDK etc. - tudo isso pode ser automatizado.
O problema é que não tenho certeza se isso é necessário no seu caso.
Confira o seguinte código de exemplo: link
Ele mostra como copiar dados de um depósito para outro. Como os nomes dos buckets são únicos em todo o S3, isso não deve ser um problema. Acho que tudo o que você precisa fazer é dar leitura nos arquivos para todos em sua própria conta da AWS (pelo menos temporariamente) e, em seguida, fazer um loop e copiar os arquivos contas da AWS dos seus clientes.
Acho que você pode emitir esse código em qualquer lugar e não precisa se preocupar com cobranças de largura de banda, pois COPY
deve ser todo interno. Nenhum download do arquivo real necessário.
Não tenho certeza se você revisou a documentação , mas parece que a AWS exige algum tipo de cabeçalho de origem ( x-amz-copy-source
) e depois cuida do resto.
HTH