Sha*_*han 169 amazon-s3 amazon-web-services
是否有任何功能可以在Amazon S3中重命名文件和文件夹?任何相关的建议也欢迎.
小智 414
我刚测试了这个并且它有效:
aws s3 --recursive mv s3://<bucketname>/<folder_name_from> s3://<bucket>/<folder_name_to>
Run Code Online (Sandbox Code Playgroud)
小智 47
在s3中没有直接重命名文件的方法.你要做的是用新名称复制现有文件(只需设置目标密钥)并删除旧文件.
Tha*_*ran 23
aws s3 cp s3://source_folder/ s3://destination_folder/ --recursive
aws s3 rm s3://source_folder --recursive
Run Code Online (Sandbox Code Playgroud)
小智 17
要重命名文件夹(从技术上讲,这是一组具有公共前缀作为键的对象),您可以使用aws带有选项的 CLI move 命令--recursive。
aws s3 mv s3://bucket/old_folder s3://bucket/new_folder --recursive
Run Code Online (Sandbox Code Playgroud)
Tom*_*Tom 15
我刚刚开始工作了.您可以像这样使用AWS SDK for PHP:
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}",
));
Run Code Online (Sandbox Code Playgroud)
http://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectUsingPHP.html
小智 12
我们有两种方法可以重命名 AWS S3 存储上的文件 -
1. 使用 CLI 工具 -
aws s3 --recursive mv s3://bucket-name/dirname/oldfile s3://bucket-name/dirname/newfile
2.使用SDK
$s3->copyObject(array(
'Bucket' => $targetBucket,
'Key' => $targetKeyname,
'CopySource' => "{$sourceBucket}/{$sourceKeyname}",));
Run Code Online (Sandbox Code Playgroud)
小智 11
您可以使用AWS CLI或s3cmd命令重命名AWS S3存储桶中的文件和文件夹.
使用S3cmd,使用以下语法重命名文件夹,
s3cmd --recursive mv s3://<s3_bucketname>/<old_foldername>/ s3://<s3_bucketname>/<new_folder_name>
Run Code Online (Sandbox Code Playgroud)
使用AWS CLI,使用以下语法重命名文件夹,
aws s3 --recursive mv s3://<s3_bucketname>/<old_foldername>/ s3://<s3_bucketname>/<new_folder_name>
Run Code Online (Sandbox Code Playgroud)
无法通过GUI重命名文件夹,实现此目的的最快(最简单,如果您喜欢GUI)方法是执行普通的旧副本.要实现此目的:使用GUI在S3上创建新文件夹,转到旧文件夹,选择全部,标记"复制",然后导航到新文件夹并选择"粘贴".完成后,删除旧文件夹.
这个简单的方法非常快,因为它是从S3复制到自身(不需要重新上传或类似的东西),它还像你期望的那样维护复制对象的权限和元数据.
以下是您在 .NET 中使用的方法S3 .NET SDK:
var client = new Amazon.S3.AmazonS3Client(_credentials, _config);
client.CopyObject(oldBucketName, oldfilepath, newBucketName, newFilePath);
client.DeleteObject(oldBucketName, oldfilepath);
Run Code Online (Sandbox Code Playgroud)
PS尽量使用客户端方法的“异步”版本,即使我没有这样做以提高可读性
这适用于重命名同一文件夹中的文件
aws s3 mv s3://bucketname/folder_name1/test_original.csv s3://bucket/folder_name1/test_renamed.csv
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
148494 次 |
| 最近记录: |