在迁移中心,您可以上传使用提供的模板手动填写的数据表。如果您的基础架构的资产数量有限,并且您希望手动创建数据,这会非常有用。
如需导入您手动填充的表,请执行以下步骤:
限制
- 文件上传大小上限为 100 MB。
可用的数据模板
下表提供了文件模板,可用于将基础架构数据上传到迁移中心。这些模板包含示例数据,用于提供有关如何填充表格的建议。如需详细了解所需数据格式,请参阅导入文件规范。
文件名 | 数据类型 | 说明 |
---|---|---|
vmInfo.csv | 计算机相关信息 | 使用此模板提供有关各个资产的信息,包括 CPU、内存和其他配置参数。每次创建新导入时都需要此表。 |
perfInfo.csv | 性能数据 | 可选:使用此模板以时间序列格式提供素材资源的性能数据。 |
diskInfo.csv | 磁盘数据 | 可选:使用此模板提供有关磁盘及其利用率的信息。 |
tagInfo.csv | 系统标记 | 可选:使用此模板为资产分配标签。标签必须遵循 Google Cloud 中标签的要求。 |
如需详细了解各个文件的规范,请参阅导入文件规范。
上传表
如需上传文件,请按以下步骤操作:
控制台
前往数据导入页面。
依次点击添加数据 > 上传文件。
在设置文件上传部分,输入文件上传的名称。
在文件格式列表中,选择手动填充的 CSV 模板。
点击选择要上传的文件,然后选择要上传的所有文件。
如需确认并开始上传文件,请点击上传文件。
如果文件验证正确,如需基于文件创建资源,请点击导入数据,然后点击确认。
API
创建导入作业。
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。
可选:如需确认导入作业是否已正确创建,请获取导入作业。
GET https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID
创建附加到导入作业的导入数据文件。
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
:新数据文件的 IDIMPORT_JOB_FORMAT
:IMPORT_JOB_FORMAT_MANUAL_CSV
获取数据文件。
GET https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID/importDataFiles/DATA_FILE_ID
从响应的
signedUrl
字段中复制网址。将文件上传到复制的网址。
PUT -H 'Content-Type: application/octet-stream' --upload-file UPLOAD_FILE_PATH 'COPIED_URL'
请替换以下内容:
UPLOAD_FILE_PATH
:所上传文件的本地路径。COPIED_URL
:从预览步骤中复制的签名网址。
可选:重复第 3-6 步,在同一导入作业下创建更多数据文件。
可选:获取导入作业的所有数据文件。
GET https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID/importDataFiles
验证导入作业。
POST https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID:validate
获取导入作业并查看验证报告。 如果状态为
READY
,则可以继续执行后续步骤。 否则,您需要修复作业或特定文件,这可能需要删除文件或上传新文件。GET https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID
运行导入作业。
POST https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID:run
获取导入作业并查看执行报告。 如果状态为
COMPLETED
,则表示作业已成功执行。 否则,如果作业失败并处于终止状态,则执行报告会包含错误。创建新的导入作业并应用所需的更改。GET https://migrationcenter.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/REGION/importJobs/IMPORT_JOB_ID
如果您在上传文件时遇到问题,请参阅如何排查常见的错误消息。
检查上传的内容
在您上传文件后,迁移中心会对其进行验证,检查文件是否正式正确。如果验证成功,迁移中心随后会处理数据以创建新资源或更新现有资源。您可以通过 Google Cloud 控制台查看上传作业的状态。
如需查看上传作业的状态,请按以下步骤操作:
- 转到数据导入页面,然后点击文件上传。
- 在文件导入列表中,选择要查看的上传内容。
- 在文件上传页面上的数据导入进度下,查看已上传文件的状态。
您会看到文件处于以下状态之一。
状态列表
- 已完成。您的文件已成功导入。
- 准备就绪。您的文件通过验证,可以导入了。
- 待处理。您的文件正在等待其他文件处理完毕。
- 正在运行:正在处理您的文件。
- 正在验证。您的文件处于验证阶段。
- 验证失败。您的文件包含一些错误。请修正这些错误,然后尝试重新上传文件。
- 失败。无法导入您的文件。
查看错误详情
如果您在导入文件后遇到错误,可以直接在 Google Cloud 控制台中查看错误消息。
如需查看上传作业的错误,请按以下步骤操作:
- 转到数据导入页面,然后点击文件上传。
- 点击显示警告或错误的导入文件。 导入文件详情页面会显示完整的错误列表。
在导入文件详细信息页面上,您可以查看导致错误的素材资源和数据字段,并查看对错误的说明。文件导入作业中的错误可能会阻止迁移中心创建新资源,或因新更改而无法更新现有资源。如需修正该错误,请修改文件并创建新的文件导入作业以重新上传。
如需详细了解可能的错误消息,请参阅排查文件导入错误问题。
导入文件规范
下表显示了用于手动导入的模板文件的技术规范。
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 中标签的要求。如果标签不符合要求,迁移中心将使用以下策略转换标签:
- 仅对于键,它会移除不属于英文字母的所有前导字符。
- 它会将所有大写字母替换为小写字母。
- 它会将所有无效字符替换为下划线 (
_
)。 - 它会将标签截断至最多 62 个字符。
- 它会添加
_<CRC32>
后缀(根据原始字符串计算得出)。
每次转换标签时,系统都会显示警告消息。
如果验证失败或键已存在,则导入将跳过该行,并显示警告消息。