本文介绍使用curl命令将数据文件从对象存储OSS的Bucket中导入至图数据库GDB实例、查看导入任务和取消导入任务的方法。
前提条件
- 已创建目标图数据库GDB实例,创建方法请参见创建主实例。
说明 如果Bucket是在对象存储控制台创建,请确保图数据库GDB实例和Bucket在同一地域。
- 已将数据文件上传至Bucket中,上传方法请参见使用OSS控制台上传数据文件或使用ossutil工具上传数据文件。
操作步骤
- 在客户端执行如下命令,将存储至对象存储OSS的Bucket中的数据文件导入至图数据库GDB实例。
curl -i -u <username>:<password> -X POST \ -H 'Content-Type: application/json' \ http://<mygdb-endpoint>:<port>/loader -d ' { "source" : "oss://<bucket>/air-routes/<filename>", "ramRoleArn" : "<arninfo>", }'
说明<username>
:请替换为图数据库GDB实例的账号名称。<password>
:请替换为图数据库GDB实例的账号密码。<mygdb-endpoint>
:请替换为图数据库GDB实例的连接地址(内网地址或外网地址)。<port>
:请替换为图数据库GDB实例连接地址的端口号(内网端口或外网端口)。<bucket>
:请替换为存储数据文件的Bucket的名称。<filename>
:请替换为需要导入的数据文件的名称。<arninfo>
:请替换为您的阿里云账号中AliyunServiceRoleForGDB角色的ARN信息,具体请参见获取ARN信息。- 复制时不要在 \ 后加空格
示例:- 导入点文件
curl -i -u gdb_account:******** -X POST \ -H 'Content-Type: application/json' \ http://gds-bp1t4x427r15331915****.graphdb.rds.aliyuncs.com:****/loader -d ' { "source" : "oss://examplebucket/air-routes/air-routes-latest-nodes.csv", "ramRoleArn" : "acs:ram::140692647406****:role/aliyunserviceroleforgdb", }'
- 导入边文件
curl -i -u gdb_account:******** -X POST \ -H 'Content-Type: application/json' \ http://gds-bp1t4x427r15331915****.graphdb.rds.aliyuncs.com:****/loader -d ' { "source" : "oss://examplebucket/air-routes/air-routes-latest-edges.csv", "ramRoleArn" : "acs:ram::140692647406****:role/aliyunserviceroleforgdb", }'
回显如下类似信息,说明图数据库GDB导入程序检查参数正确,并返回导入任务ID(loadId
)。{ "status" : "200 OK", "payload" : { "loadId" : "552617AF-4F1E-4CD8-9533-A2EC154688DC" } }
- 根据导入任务ID,执行对应命令,查看导入任务状态或取消导入任务。
- 查看导入任务状态
curl -u <username>:<password> -X GET 'http://<mygdb-endpoint>:<port>/loader/<loadId>'
说明<username>
:请替换为图数据库GDB实例的账号名称。<password>
:请替换为图数据库GDB实例的账号密码。<mygdb-endpoint>
:请替换为图数据库GDB实例的连接地址(内网地址或外网地址)。<port>
:请替换为图数据库GDB实例连接地址的端口号(内网端口或外网端口)。<loadId>
:请替换为1中返回的导入任务ID。
示例:curl -u gdb_account:******** -X GET 'http://gds-bp1t4x427r15331915****.graphdb.rds.aliyuncs.com:****/loader/552617AF-4F1E-4CD8-9533-A2EC154688DC'
如果回显信息中包含错误信息,具体请参见错误信息列表。
- 取消导入任务
注意
- 取消正在后台执行的任务会阻塞等待任务停止再返回。
- 任务中已经导入至图数据库GDB实例的点数据或边数据不会回滚,将保留在图数据库GDB实例中。
curl -u <username>:<password> -X DELETE 'http://<mygdb-endpoint>:<port>/loader/<loadId>'
说明<username>
:请替换为图数据库GDB实例的账号名称。<password>
:请替换为图数据库GDB实例的账号密码。<mygdb-endpoint>
:请替换为图数据库GDB实例的连接地址(内网地址或外网地址)。<port>
:请替换为图数据库GDB实例连接地址的端口号(内网端口或外网端口)。<loadId>
:请替换为1中返回的导入任务ID。
示例:curl -u gdb_account:******** -X DELETE 'http://gds-bp1t4x427r15331915****.graphdb.rds.aliyuncs.com:****/loader/552617AF-4F1E-4CD8-9533-A2EC154688DC'
- 查看导入任务状态