是否可以在不同的组织中创建具有相同名称的包?

时间:2014-06-13 11:02:39

标签: ckan

是否可以在不同的组织中创建具有相同名称的包?

据我测试,无法完成。例如。以下脚本尝试在两个不同的组织(org1和org2)中创建相同的包“testpackage”,org1中的第一个创建是正常的,但第二个报告“该URL已在使用中”错误。

#!/bin/bash

API_HOST=$1
API_KEY=$2

echo "--> Create org1"
(curl -s -S -X POST http://${API_HOST}/api/3/action/organization_create -H "Authorization: ${API_KEY}" -d @- | python -mjson.tool) <<EOF
{ 
   "name": "org1"
} 
EOF

echo "--> Create org2"
(curl -s -S -X POST http://${API_HOST}/api/3/action/organization_create -H "Authorization: ${API_KEY}" -d @- | python -mjson.tool) <<EOF
{ 
   "name": "org2" 
} 
EOF

echo "--> Create package testpackage in org1 (success)"
(curl -s -S -X POST http://${API_HOST}/api/3/action/package_create -H "Authorization: ${API_KEY}" -d @- | python -mjson.tool) <<EOF
{ 
   "name": "testpackage",
   "owner_org": "org1" 
} 
EOF

echo "--> Create package testpackage in org2 (failure)"
(curl -s -S -X POST http://${API_HOST}/api/3/action/package_create -H "Authorization: ${API_KEY}" -d @- | python -mjson.tool) <<EOF
{ 
   "name": "testpackage",
   "owner_org": "org2" 
} 
EOF

我倾向于认为组织是“孤立的”命名空间,因此我想知道我是否做错了...

1 个答案:

答案 0 :(得分:3)

不幸的是,这是不可能的。数据集URL为/dataset/dataset_name(它们不包括URL中组织的名称),因此具有相同名称的两个数据集将具有相同的URL。

这是因为组织很晚才加入CKAN。