按存储类别过滤源对象

对于从 Amazon S3 转移的作业,您可以按对象的存储类过滤对象。

默认情况下,从 Amazon S3 转移数据时:

  • 系统会转移标准存储类别和非归档存储类别中的对象,包括 Glacier Instant Retrieval (GLACIER_IR) 存储类别中的对象。
  • 只有在恢复 Glacier Deep Archive (DEEP_ARCHIVE) 中的对象后,才能转移这些对象。
  • 无论恢复状态如何,系统都会跳过 Glacier Flexible Retrieval (GLACIER) 中的对象。

指定存储类别列表

如需指定要包含的存储类别,请执行以下操作:

Google Cloud 控制台

按照将数据从 Amazon S3 转移到 Cloud Storage 中的说明进行操作。

指定迁移的来源和目标位置后,选择按存储类别过滤,然后选择要包含的存储类别。

gcloud CLI

gcloud CLI 不支持此功能。

REST

使用 transferSpec.objectConditions.includeStorageClasses 选项指定要纳入的存储类别。

例如,如需仅转移 STANDARDGLACIER 存储类别,请运行以下命令:

POST https://storagetransfer.googleapis.com/v1/transferJobs
{
  "description": "DESCRIPTION",
  "status": "ENABLED",
  "projectId": "PROJECT_ID",
  "transferSpec": {
      "awsS3DataSource": {
          "bucketName": "AWS_SOURCE_NAME",
          "awsAccessKey": {
            "accessKeyId": "AWS_ACCESS_KEY_ID",
            "secretAccessKey": "AWS_SECRET_ACCESS_KEY"
          }
      },
      "gcsDataSink": {
          "bucketName": "GCS_SINK_NAME"
      },
      "objectConditions": {
          "includeStorageClasses": ["STANDARD", "GLACIER"]
      }
  }
}

如果指定了 includeStorageClasses 且不为空,则仅转移属于指定存储类别的对象。

对于从 Amazon S3 进行的转移,有效值列在 AWS 文档中:https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html

已归档的对象

S3 Glacier Deep Archive (DEEP_ARCHIVE) 和 S3 Glacier Flexible Retrieval (GLACIER) 中的对象必须先恢复,然后才能转移。

Storage Transfer Service 提供计数器来跟踪在转移过程中跳过的归档对象:

  • unrestoredDeepArchiveObjectsSkippedCount:因未恢复而跳过的 Glacier Deep Archive (DEEP_ARCHIVE) 对象的数量。
  • unsupportedS3GlacierObjectsSkippedCount:因未恢复或未将 Glacier Flexible Retrieval (GLACIER) 指定为包含的存储类型而跳过的 Glacier Flexible Retrieval (GLACIER) 对象的数量。