导入手动生成的表

在迁移中心,您可以上传使用提供的模板手动填写的数据表。如果您的基础架构的资产数量有限,并且您希望手动创建数据,这会非常有用。

如需导入您手动填充的表,请执行以下步骤:

  1. 可用模板列表中下载模板。
  2. 使用来自基础架构的数据手动填充表中。
  3. 将表上传到迁移中心。

限制

  • 文件上传大小上限为 100 MB。

可用的数据模板

下表提供了文件模板,可用于将基础架构数据上传到迁移中心。这些模板包含示例数据,用于提供有关如何填充表格的建议。如需详细了解所需数据格式,请参阅导入文件规范

文件名 数据类型 说明
vmInfo.csv 计算机相关信息 使用此模板提供有关各个资产的信息,包括 CPU、内存和其他配置参数。每次创建新导入时都需要此表。
perfInfo.csv 性能数据 可选:使用此模板以时间序列格式提供素材资源的性能数据。
diskInfo.csv 磁盘数据 可选:使用此模板提供有关磁盘及其利用率的信息。
tagInfo.csv 系统标记 可选:使用此模板为资产分配标签。标签必须遵循 Google Cloud 中标签的要求

如需详细了解各个文件的规范,请参阅导入文件规范

上传表

如需上传文件,请按以下步骤操作:

控制台

  1. 前往数据导入页面。

    前往“数据导入”

  2. 依次点击添加数据 > 上传文件

  3. 设置文件上传部分,输入文件上传的名称。

  4. 文件格式列表中,选择手动填充的 CSV 模板

  5. 点击选择要上传的文件,然后选择要上传的所有文件。

  6. 如需确认并开始上传文件,请点击上传文件

  7. 如果文件验证正确,如需基于文件创建资源,请点击导入数据,然后点击确认

API

  1. 创建导入作业。

    POST https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs?importJobId=IMPORT_JOB_ID
    
    {
      "asset_source": "projects/PROJECT_ID/locations/REGION/sources/SOURCE_ID"
    }
    

    请替换以下内容:

    • PROJECT_ID:要创建导入作业的项目的 ID。
    • REGION:用于创建导入作业的区域。
    • IMPORT_JOB_ID:新导入作业的 ID。
    • SOURCE_ID:要与导入作业关联的现有来源的 ID。
  2. 可选:如需确认导入作业是否已正确创建,请获取导入作业。

    GET https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID
    
  3. 创建附加到导入作业的导入数据文件。

    POST https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID/importDataFiles?import_data_file_id=DATA_FILE_ID
    
    {
      "format": "IMPORT_JOB_FORMAT"
    }
    

    请替换以下内容:

    • DATA_FILE_ID:新数据文件的 ID
    • IMPORT_JOB_FORMATIMPORT_JOB_FORMAT_MANUAL_CSV
  4. 获取数据文件。

    GET https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID/importDataFiles/DATA_FILE_ID
    
  5. 从响应的 signedUrl 字段中复制网址。

  6. 将文件上传到复制的网址。

    PUT -H 'Content-Type: application/octet-stream' --upload-file UPLOAD_FILE_PATH 'COPIED_URL'
    

    请替换以下内容:

    • UPLOAD_FILE_PATH:所上传文件的本地路径。
    • COPIED_URL:从预览步骤中复制的签名网址。
  7. 可选:重复第 3-6 步,在同一导入作业下创建更多数据文件。

  8. 可选:获取导入作业的所有数据文件。

    GET https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID/importDataFiles
    
  9. 验证导入作业。

    POST https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID:validate
    
  10. 获取导入作业并查看验证报告。 如果状态为 READY,则可以继续执行后续步骤。 否则,您需要修复作业或特定文件,这可能需要删除文件或上传新文件。

    GET https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID
    
  11. 运行导入作业。

    POST https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID:run
    
  12. 获取导入作业并查看执行报告。 如果状态为 COMPLETED,则表示作业已成功执行。 否则,如果作业失败并处于终止状态,则执行报告会包含错误。创建新的导入作业并应用所需的更改。

    GET https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID
    

如果您在上传文件时遇到问题,请参阅如何排查常见的错误消息

检查上传的内容

在您上传文件后,迁移中心会对其进行验证,检查文件是否正式正确。如果验证成功,迁移中心随后会处理数据以创建新资源或更新现有资源。您可以通过 Google Cloud 控制台查看上传作业的状态。

如需查看上传作业的状态,请按以下步骤操作:

  1. 转到数据导入页面,然后点击文件上传
  2. 在文件导入列表中,选择要查看的上传内容。
  3. 在文件上传页面上的数据导入进度下,查看已上传文件的状态

您会看到文件处于以下状态之一。

状态列表

  • 已完成。您的文件已成功导入。
  • 准备就绪。您的文件通过验证,可以导入了。
  • 待处理。您的文件正在等待其他文件处理完毕。
  • 正在运行:正在处理您的文件。
  • 正在验证。您的文件处于验证阶段。
  • 验证失败。您的文件包含一些错误。请修正这些错误,然后尝试重新上传文件。
  • 失败。无法导入您的文件。

查看错误详情

如果您在导入文件后遇到错误,可以直接在 Google Cloud 控制台中查看错误消息。

如需查看上传作业的错误,请按以下步骤操作:

  1. 转到数据导入页面,然后点击文件上传
  2. 点击显示警告或错误的导入文件。 导入文件详情页面会显示完整的错误列表。

在导入文件详细信息页面上,您可以查看导致错误的素材资源和数据字段,并查看对错误的说明。文件导入作业中的错误可能会阻止迁移中心创建新资源,或因新更改而无法更新现有资源。如需修正该错误,请修改文件并创建新的文件导入作业以重新上传。

如需详细了解可能的错误消息,请参阅排查文件导入错误问题

导入文件规范

下表显示了用于手动导入的模板文件的技术规范。

vmInfo 文件

预期类型 说明
MachineId 字符串 虚拟机唯一标识符。
MachineName 字符串 虚拟机的显示名。
PrimaryIPAddress 字符串 机器的 IP 地址。
PrimaryMACAddress 字符串 机器的 MAC 地址。此名称仅用于识别机器。
PublicIPAddress 字符串 机器的公共 IP 地址。
IpAddressListSemiColonDelimited 消息列表 已分配或已分配的网络地址的列表。
TotalDiskAllocatedGiB int64 磁盘的总容量。
TotalDiskUsedGiB int64 磁盘中已用空间总量。
MachineTypeLabel 字符串 AWS 或 Azure 机器类型标签。
AllocatedProcessorCoreCount int64 虚拟机中的 CPU 核心数。
MemoryGiB int32 虚拟机的内存量。
HostingLocation 字符串 机器的位置(采用 AWS 或 Azure 格式)。
OsType 字符串 机器的操作系统。
OsName 字符串 机器的操作系统。
OsVersion 字符串 机器的操作系统版本。
MachineStatus 字符串 机器的电源状态。
ProvisioningState 字符串 预配状态(仅适用于 Azure 虚拟机)。
CreateDate 时间戳 机器的创建时间戳。
IsPhysical 字符串 该机器是物理机器还是虚拟机。
来源 消息 AWS 或 Azure 机器的来源详情。

diskInfo 文件

预期类型 说明
MachineId 字符串 虚拟机唯一标识符。
DiskLabel 字符串 磁盘标签。
SizeInGib int64 磁盘的总容量。
UsedInGib int64 磁盘中已用空间总量。
StorageTypeLabel 字符串 磁盘标签类型(例如 BIOS 或 GPT)。

perfInfo 文件

预期类型 说明
MachineId 字符串 虚拟机唯一标识符。
TimeStamp 收集样本时的时间戳。
CpuUtilizationPercentage float 已使用的 CPU 容量占总 CPU 容量的百分比。必须在 0-100 的范围内。
MemoryUtilizationPercentage float 已使用的系统内存百分比。必须在 0-100 的范围内。
UtilizedMemoryBytes float 已使用的总内存(以字节为单位)。
DiskReadOperationsPerSec float 短时间内采样的平均 IOPS。
DiskWriteOperationsPerSec float 短时间内采样的平均 IOPS。
NetworkBytesPerSecSent float 平均网络出站流量(以 B/秒为单位),在短时间内采样。
NetworkBytesPerSecReceived float 以 B/秒为单位的平均网络入站流量,在短时间内采样。

tagInfo 文件

预期类型 说明
MachineId 字符串 虚拟机唯一标识符。
字符串 标签键。
字符串 标签值。

标签的解析算法

使用 tagInfo 文件上传的标签必须遵循 Google Cloud 中标签的要求。如果标签不符合要求,迁移中心将使用以下策略转换标签:

  1. 仅对于键,它会移除不属于英文字母的所有前导字符。
  2. 它会将所有大写字母替换为小写字母。
  3. 它会将所有无效字符替换为下划线 (_)。
  4. 它会将标签截断至最多 62 个字符。
  5. 它会添加 _<CRC32> 后缀(根据原始字符串计算得出)。

每次转换标签时,系统都会显示警告消息。

如果验证失败或键已存在,则导入将跳过该行,并显示警告消息。

后续步骤