powershell - 使用 AWS Powershell 将数据从 Amazon S3 服务器复制到本地驱动器。

标签 powershell amazon-web-services aws-powershell

我正在尝试 Get-S3Object -BucketName 试点,但它有很多子目录。

最佳答案

您可能想使用 Copy-S3Object相反,用于实际复制。 Get-S3Object 返回 S3Object 元数据的集合。使用Get-S3Object隔离你要复制的对象,然后将其中的重要信息(Key)传入Copy-S3Object。

您可以使用 KeyPrefix将结果过滤到特定子目录的参数。例如:

$srcBucketName = "myBucket"
$objects = get-s3object -bucketname $srcBucketName -KeyPrefix "mySubdirectory"

如果您需要从所有目录复制数据,您可以通过单独调用 get-s3object 将整个操作分解为更小的块,对存储桶中的每个目录调用一次。

如果单个目录仍然太大,您可以使用 MaxKeys 进一步分块您的操作。范围。

准备好复制后,您可以执行以下操作:
$objects | 
% { copy-s3object -BucketName $srcBucketName -Key $_.Key -LocalFile "somePath" }

...您在其中定义了本地路径。您甚至可以通过解析字符串中的键来将子目录和键与本地路径匹配:"C:/someDir/$($_.Key)"
  • Get-S3Object 文档:http://docs.aws.amazon.com/powershell/latest/reference/items/Get-S3Object.html
  • 复制 S3Object 文档:http://docs.aws.amazon.com/powershell/latest/reference/items/Copy-S3Object.html
  • 关于powershell - 使用 AWS Powershell 将数据从 Amazon S3 服务器复制到本地驱动器。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22100027/

    相关文章:

    javascript - 如何为 Amazon ECS 上托管的服务器运行 Node.js 工作线程?

    amazon-web-services - 有人可以提供 AWS Cloudformation AWS::GLUE::WORKFLOW 模板的示例吗?

    aws-powershell - 代码神器 : download asset using PowerShell

    aws-cloudformation - 如何通过 AWS Cli 获取 AWS service Catalog 预置产品事件输出部分详细信息

    regex - 替换文件中的文本+可选换行符

    .net - 如何在Powershell中安全地验证AD用户(加密凭据)

    powershell - mkdir 别名的 PowerShell 动词-名词定义是什么?

    powershell - 通过 PowerShell 设置 REG_NONE 值

    amazon-web-services - 已删除的 Amazon S3 存储桶名称是否可以重复使用

    powershell - 如何通过Powershell检索IAM实体限制和当前使用情况