借助 Migration Center,您可以上传使用提供的模板手动填充的数据表。如果您的基础架构只有有限数量的资产,并且您想手动创建数据,此方法非常有用。
如需导入您手动填充的表格,请执行以下步骤:
限制
- 上传文件的大小上限为 100 Mb。
可用的数据模板
下表提供了可用于将基础架构数据上传到 Migration Center 的文件模板。模板包含示例数据,可作为填写表格的建议。如需详细了解所需的数据格式,请参阅导入文件规范。
文件名 | 数据类型 | 说明 |
---|---|---|
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
如果您在上传文件时遇到问题,请参阅如何排查常见错误消息。
查看上传内容
您上传文件后,迁移中心会对其进行验证,以检查其是否符合正式要求。如果验证成功,Migration Center 会处理数据以创建新的素材资源或更新现有素材资源。您可以通过 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 | 浮点数 | 已使用的总 CPU 容量百分比。必须介于 0 到 100 之间。 |
MemoryUtilizationPercentage | 浮点数 | 已用系统内存的百分比。必须介于 0 到 100 之间。 |
UtilizedMemoryBytes | 浮点数 | 已用总内存(以字节为单位)。 |
DiskReadOperationsPerSec | 浮点数 | 在短时间段内采样的平均 IOPS。 |
DiskWriteOperationsPerSec | 浮点数 | 在短时间段内采样的平均 IOPS。 |
NetworkBytesPerSecSent | 浮点数 | 平均网络出站流量(以 B/s 为单位),基于短时间段内的采样数据。 |
NetworkBytesPerSecReceived | 浮点数 | 网络入站流量的平均值(以 B/s 为单位),基于短时间段内的采样数据。 |
tagInfo 文件
列 | 预期类型 | 说明 |
---|---|---|
MachineId | 字符串 | 虚拟机唯一标识符。 |
键 | 字符串 | 标签键。 |
值 | 字符串 | 标签值。 |
标签解析算法
您随 tagInfo 文件上传的标签必须符合 Google Cloud 中标签的要求。如果标签不符合要求,迁移中心会使用以下策略转换标签:
- 对于仅限键的操作,它会移除所有非英文字母的前导字符。
- 它会将所有大写字母替换为小写字母。
- 它会将所有无效字符替换为下划线 (
_
)。 - 系统会将标签截断为最多 62 个字符。
- 它会添加
_<CRC32>
后缀,该后缀是根据原始字符串计算得出的。
每次转换标签时,系统都会显示一条警告消息。
如果验证失败或键已存在,导入操作会跳过该行,并显示一条警告消息。
后续步骤
- 详细了解 Migration Center 收集方法。
- 了解如何管理上传的文件。