Existe alguma função para renomear arquivos e pastas no Amazon S3? Quaisquer sugestões relacionadas também são bem-vindas.
209
Existe alguma função para renomear arquivos e pastas no Amazon S3? Quaisquer sugestões relacionadas também são bem-vindas.
Não existe um método direto para renomear um arquivo no S3. O que você precisa fazer é copiar o arquivo existente com um novo nome (basta definir a chave de destino) e excluir o antigo.
Acabei de testar isso e funciona:
fonte
--recursive
?s3://<bucketname>/<folder_name_from>
, por exemplos3://<bucketname>/<folder_name_from>/some/deeper/folders
.fonte
cp
seguido porrm
preferívelmv
?Você pode usar os comandos AWS CLI para
mv
os arquivosfonte
Você pode usar o comando AWS CLI ou s3cmd para renomear os arquivos e pastas no bucket do AWS S3.
Usando o S3cmd, use a seguinte sintaxe para renomear uma pasta,
Usando a AWS CLI, use a seguinte sintaxe para renomear uma pasta,
fonte
Acabei de fazer isso funcionar. Você pode usar o AWS SDK para PHP assim:
http://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectUsingPHP.html
fonte
Temos duas maneiras pelas quais podemos renomear um arquivo no armazenamento do AWS S3 -
1.Usando a ferramenta CLI -
2.Usando o SDK
fonte
Não há como renomear uma pasta por meio da GUI, a maneira mais rápida (e mais fácil, se você gosta da GUI) de conseguir isso é executar uma cópia antiga simples. Para conseguir isso: crie a nova pasta no S3 usando a GUI, acesse a pasta antiga, selecione tudo, marque "copiar" e, em seguida, navegue até a nova pasta e escolha "colar". Quando terminar, remova a pasta antiga.
Esse método simples é muito rápido, pois é uma cópia do S3 para si mesmo (não é necessário fazer o upload novamente ou algo assim) e também mantém as permissões e os metadados dos objetos copiados, como você esperaria.
fonte
Agora é possível para Arquivos, selecione o arquivo e selecione Mais> Renomear na GUI.
Para renomear uma pasta, você precisa criar uma nova pasta, selecionar o conteúdo da antiga e copiar / colar (em "Mais" novamente)
fonte
Veja como você faz isso no .NET, usando
S3 .NET SDK
:O PS tenta usar as versões "Async" dos métodos do cliente sempre que possível, mesmo que eu não tenha feito isso para facilitar a leitura.
fonte
Isso funciona para renomear o arquivo na mesma pasta
fonte
Abaixo está o exemplo de código para renomear o arquivo no s3. Meu arquivo era parte 000 * por causa do arquivo spark o / p, então eu o copio para outro nome de arquivo no mesmo local e excluo a parte 000 *:
fonte
No console da AWS, se você navegar para o S3, verá suas pastas listadas. Se você navegar para a pasta, verá o (s) objeto (s) listado (s). clique com o botão direito e você pode renomear. OU, você pode marcar a caixa na frente do seu objeto e, no menu suspenso chamado AÇÕES, você pode selecionar renomear. Acabei de trabalhar para mim, 31/03/2019
fonte
Como respondido por Naaz, renomear diretamente s3 não é possível.
Anexei um trecho de código que copiará todo o conteúdo
código está funcionando basta adicionar sua chave de acesso aws e chave secreta
aqui está o que eu fiz no código
-> copie o conteúdo da pasta de origem (filho e pastas aninhados) e cole na pasta de destino
-> quando a cópia estiver concluída, exclua a pasta de origem
}
fonte
Arquivo e pasta são de fato objetos no S3. Você deve usar PUT OBJECT COPY para renomeá-los. Consulte http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html
fonte
Python, Ruby, Java, C#, PHP, Node.js, Android, iOS, browser JavaScript
) fazer e não há nenhuma razão para não usá-los aws.amazon.com/toolsS3DirectoryInfo possui um método MoveTo que moverá um diretório para outro diretório, de modo que o diretório movido se torne um subdiretório do outro diretório com o mesmo nome que originalmente.
O método de extensão abaixo moverá um diretório para outro, ou seja, o diretório movido se tornará o outro diretório. O que ele realmente faz é criar o novo diretório, mover todo o conteúdo do diretório antigo para ele e excluir o antigo.
fonte
renomeie todos os arquivos * .csv.err no
<<bucket>>/landing
diretório para arquivos * .csv com s3cmdfonte
Há um software em que você pode jogar com o bucket s3 para executar diferentes tipos de operação.
Nome do software: S3 Browser
O S3 Browser é um cliente Windows gratuito para o Amazon S3 e o Amazon CloudFront. O Amazon S3 fornece uma interface simples de serviços da web que pode ser usada para armazenar e recuperar qualquer quantidade de dados, a qualquer momento, de qualquer lugar da web. O Amazon CloudFront é uma rede de entrega de conteúdo (CDN). Ele pode ser usado para entregar seus arquivos usando uma rede global de locais de borda.
Se for apenas uma vez, você poderá usar a linha de comando para executar estas operações:
(1) Renomeie a pasta no mesmo bucket:
(2) Renomeie o balde:
Onde,
{chave de acesso} = Sua chave de acesso válida para o cliente s3
{chave secreta} = Sua chave scret válida para o cliente s3
Está funcionando bem sem nenhum problema.
obrigado
fonte