对于从 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 选项指定要纳入的存储类别。
例如,如需仅转移 STANDARD 和 GLACIER 存储类别,请运行以下命令:
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) 对象的数量。