[amazon-web-services] Amazon S3에서 파일과 폴더의 이름을 바꾸는 방법은 무엇입니까?

Amazon S3에서 파일과 폴더의 이름을 바꾸는 기능이 있습니까? 관련 제안도 환영합니다.



답변

S3에는 파일 이름을 바꾸는 직접적인 방법이 없습니다. 기존 파일을 새 이름으로 복사하고 (대상 키만 설정) 기존 파일을 삭제하면됩니다.


답변

방금 이것을 테스트했으며 작동합니다.

aws s3 --recursive mv s3://<bucketname>/<folder_name_from> s3://<bucket>/<folder_name_to>


답변

aws s3 cp s3://source_folder/ s3://destination_folder/ --recursive
aws s3 rm s3://source_folder --recursive


답변

AWS CLI 명령mv파일에 사용할 수 있습니다


답변

AWS CLI 또는 s3cmd 명령을 사용하여 AWS S3 버킷의 파일 및 폴더 이름을 바꿀 수 있습니다.

S3cmd를 사용하여 다음 구문을 사용하여 폴더 이름을 바꾸십시오.

s3cmd --recursive mv s3://<s3_bucketname>/<old_foldername>/ s3://<s3_bucketname>/<new_folder_name>

AWS CLI를 사용하여 다음 구문을 사용하여 폴더 이름을 바꿉니다.

aws s3 --recursive mv s3://<s3_bucketname>/<old_foldername>/ s3://<s3_bucketname>/<new_folder_name>


답변

방금이 작업을 수행했습니다. 다음과 같이 PHP 용 AWS SDK를 사용할 수 있습니다.

use Aws\S3\S3Client;

$sourceBucket = '*** Your Source Bucket Name ***';
$sourceKeyname = '*** Your Source Object Key ***';
$targetBucket = '*** Your Target Bucket Name ***';
$targetKeyname = '*** Your Target Key Name ***';

// Instantiate the client.
$s3 = S3Client::factory();

// Copy an object.
$s3->copyObject(array(
    'Bucket'     => $targetBucket,
    'Key'        => $targetKeyname,
    'CopySource' => "{$sourceBucket}/{$sourceKeyname}",
));

http://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectUsingPHP.html


답변

AWS S3 스토리지에서 파일 이름을 바꿀 수있는 두 가지 방법이 있습니다.

1. CLI 도구 사용-

AWS S3-재귀 mv s3 : // bucket-name / dirname / oldfile s3 : // bucket-name / dirname / newfile

2. SDK 사용

$s3->copyObject(array(
'Bucket'     => $targetBucket,
'Key'        => $targetKeyname,
'CopySource' => "{$sourceBucket}/{$sourceKeyname}",));