云资源名称
云资源名称(CRN)是 IBM Cloud® 资源的唯一标识。 CRN 用来以明确方式指定资源,保证全局唯一。
CRN 由分层标识资源、其位置和所属服务的“分段”并置构成。 段定界符设置为冒号 (:
)。所有 CRN 都以段标识 crn
开头。
CRN 格式
CRN 的基本规范格式为:
crn:version:cname:ctype:service-name:location:scope:service-instance:resource-type:resource
版本
version
分段标识 CRN 格式的版本。 目前,唯一有效的 version 分段值为 v1
。
cname
cname
分段标识云实例,这是字母数字标识,用于唯一标识包含资源的云实例。 cname
有效地标识拥有所标识资源的独立控制平面。 对于 IBM Cloud 用户,cname
分段的值必须为 bluemix
。
ctype
ctype
分段用于标识由指定 cname
分段表示的云实例的类型。
有效值为:
public
:公共目录中提供的所有服务dedicated
:仅适用于当前 IBM Cloud Dedicated 环境local
:在您自己的环境中本地部署的所有服务
服务名称
IBM Cloud 强制实施服务名称的全局唯一性。 service-name
部分标识了云提供的功能(服务、组件或产品)。 该功能可以是用户提供的服务,例如 IBM Cloud 目录中列出的服务,或对于 IBM Cloud 功能很关键的内部体系结构组件。
service-name
段指示资源所属的服务。 service-name
部分必须为字母数字、小写,且不能有空格或特殊字符,但 -
除外。 如果要标识子服务的服务名称,那么必须使用句点 .
将父服务名称与子服务名称分隔开。 例如,如果您有一个名为 iam-service
的服务,并且该服务的子代名为 micro
,那么 iam-service
是父服务,而 iam-service.micro
被视为子服务。
对于已注册到 IBM Cloud 目录中的服务,service-name
部分必须与已注册到 IBM Cloud 全球目录服务中的服务之一相对应。 这是由 IBM Cloud 全局目录服务API GET https://globalcatalog.cloud.ibm.com/api/v1/{id}
返回的 name
属性,用于表示相应的资源实例,或者由命令行界面(CLI)显示的 service-name
值:ibmcloud service offerings
在 service
列中。
位置
资源所在的云地理区域/区域/数据中心。
location
段必须是 ibmcloud catalog locations
CLI 命令列出的其中一个位置名。
某些资源不需要区域,因为这些资源可以视为全球资源。 在这种情况下,region
分段设置为 global
。
作用域
scope
分段标识资源的包含范围或所有者。 某些资源不需要所有者(这些资源可以视为 global
)。 在这种情况下,scope
分段为空(空字符串)。
scope
分段值的格式必须设置为 {scopePrefix}
/{id}
。 scopePrefix
表示用于标识所有者或包含范围的格式。 id
表示所有者或包含范围的身份,其格式特定于 scopePrefix
。
作用域类型 | 作用域前缀 | 用途 | 示例 |
---|---|---|---|
帐户 | a/{account id} |
已在其中创建资源的帐户。 | a/292558 |
Organization | o/{org guid} |
分配有该资源的 IBM Cloud 组织。 | o/4716e2d1-35b7-431f-891a-b552bf0b3c66 |
空间 | s/{space guid} |
分配有该资源的 IBM Cloud 空间。 | s/48b3cdcd-e804-4398-9032-73065863ad7c |
service-instance
service-instance
分段唯一标识服务实例。 service-instance
分段的格式因服务而异。 每个服务都必须将其 service_instance
分段的格式记录为其服务元数据的一部分。 某些服务没有实例,因为实例是全局的,在这种情况下,service-instance
字段将为空。
service-instance
必须为字母数字、小写,并且不得包含空格或除“-”和“/”之外的特殊字符。
例如,用于跟踪和规划工作项的 DevOps 工具可以具有简单的 GUID
实例标识 ("1234-5678-9012-3456")。 但是,自动缩放组服务的策略组件可以使用分层命名约定,并具有以下 service-id
段:
c7a27f55-d35e-4153-b044-8ca9155fc467/my-test-asg1/my-scaleout-policy
您还可以使用以下 CLI 命令从 IBM Cloud 资源中获取 CRN:
ibmcloud resource service-instance
resource-type 和 resource
resource-type
和 resource
分段的值因服务而异。 服务需要将其支持的 resource types
分段以及 resource
分段的格式记录为其服务元数据的一部分。
例如,Object Storage 服务中客户接收容器中的映像的 resource-type
分段可以为 object
,resource
值可以为 CustomerReceipts/clientdinner.png
。
resource-type
段必须是字母数字,小写,并且没有空格或除 "-" 以外的特殊字符。服务可以决定 resource-type
段是可选的,在这种情况下它将保留为空白。
CRN 示例
下表提供了 CRN 示例的列表。
示例 | 值 |
---|---|
Kubernetes 工作程序 | crn:v1:bluemix:public:containers-kubernetes:us-south:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:8042b2a8af6a4a5cbf6dbe09e07311d2:worker:kube-hou02-pa8042b2a8af6a4a5cbf6dbe09e07311d2-w1 |
资源组 | crn:v1:bluemix:public:resource-controller:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:resource-group:59bcbfa6ea2f006b4ed7094c1a08dcdd |
服务实例 | crn:v1:bluemix:public:cloud-object-storage:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:1a0ec336-f391-4091-a6fb-5e084a4c56f4:: |
存储区 | crn:v1:bluemix:public:cloud-object-storage:global:a/59bcbfa6ea2f006b4ed7094c1a08dcdd:1a0ec336-f391-4091-a6fb-5e084a4c56f4:bucket:mybucket |
子服务 | crn:v1:staging:public:resource-catalog::a/9d67f37fdf745e1b3cbef0ee4e6f2eda::composite:is.vpn |