IBM Cloud Docs
将服务用于经典基础架构资产

将服务用于经典基础架构资产

您可以轻松地将基于 API 的公共 IBM Cloud® 服务用于经典基础架构资产。 所有 API 都很安全且已加密,可以为您的数据提供保护。

通过从应用程序调用 Watson API 以使其更具个性化,您可以获得洞察和认知知识。 或者,使用数据和分析服务来利用对应用程序的高性能分析。 或者,选择数据库即服务,让 IBM Cloud 来执行管理工作。

将容器与 Active Deploy 和 Delivery Pipeline 等服务配合使用,以现代化的方式来进行应用程序开发。 然后,您可以使用 IBM® VPN 服务,与经典基础架构专用网络进行通信,并将专用网络中的容器连接到经典基础架构专用网络。 计算资源和服务的所有使用量费用都会反映在 IBM Cloud 发票中。

向经典基础设施资产添加服务

例如,您是否希望将 Watson 中的认知功能添加到在经典基础架构裸机服务器上运行的应用程序? 通过完成以下步骤,可以添加 Personality Insights 等服务,以帮助了解您应用程序的用户:

  1. 在 IBM Cloud 控制台中,在目录中搜索服务。
  2. 只需单击几下即可创建服务的实例。
  3. 通过复制服务凭证并将它们添加到应用程序,将服务设置为与现有代码一起运行。
  4. 更新应用程序之后,将新版本部署到经典基础架构资产。

使用 API 向经典基础设施资产添加服务

例如,您是否希望将 Watson 中的认知功能添加到在经典基础架构裸机服务器上运行的应用程序? 通过完成以下步骤,可以添加 Personality Insights 等服务,以帮助了解您应用程序的用户:

  1. 通过调用创建服务实例 资源控制器API如以下示例请求所示:

    curl -X POST https://resource-controller.cloud.ibm.com/v2/resource_instances -H 'Authorization: Bearer <>' -H 'Content-Type: application/json' -d '{
       "name": "my-instance",
       "target": "bluemix-global",
       "resource_group": "5g9f447903254bb58972a2f3f5a4c711",
       "resource_plan_id": "0be5ad401ae913d8ff665d92680664ed",
       "tags": [
         "my-tag"
       ]
     }'
    
    CreateResourceInstanceOptions createResourceInstanceOptions = new CreateResourceInstanceOptions.Builder()
     .name(resourceInstanceName)
     .target(targetRegion)
     .resourceGroup(resourceGroup)
     .resourcePlanId(resourcePlanId)
     .build();
    
    Response<ResourceInstance> response = service.createResourceInstance(createResourceInstanceOptions).execute();
    ResourceInstance resourceInstance = response.getResult();
    
    System.out.printf("createResourceInstance() response:\n%s\n", resourceInstance.toString());
    
    const params = {
     name: resourceInstanceName,
     target: targetRegion,
     resourceGroup: resourceGroupGuid,
     resourcePlanId: resourcePlanId,
    };
    
    resourceControllerService.createResourceInstance(params)
     .then(res => {
       instanceGuid = res.result.guid;
       console.log('createResourceInstance() response:\n' + JSON.stringify(res.result, null, 2));
     })
     .catch(err => {
       console.warn(err)
     });
    
    resource_instance = resource_controller_service.create_resource_instance(
       name=resource_instance_name,
       target=target_region,
       resource_group=resource_group,
       resource_plan_id=resource_plan_id
    ).get_result()
    
    print('\ncreate_resource_instance() response:\n',
         json.dumps(resource_instance, indent=2))
    
    createResourceInstanceOptions := resourceControllerService.NewCreateResourceInstanceOptions(
     resourceInstanceName,
     targetRegion,
     resourceGroup,
     resourcePlanID,
    )
    
    resourceInstance, response, err := resourceControllerService.CreateResourceInstance(createResourceInstanceOptions)
    if err != nil {
     panic(err)
    }
    
    b, _ := json.MarshalIndent(resourceInstance, "", "  ")
    fmt.Printf("\nCreateResourceInstance() response:\n%s\n", string(b))
    
  2. 检索凭证(资源键)。 致电 资源控制器API如下例所示,请求并传递与实例关联的 ID。

    curl -X GET https://resource-controller.cloud.ibm.com/v2/resource_keys/23693f48-aaa2-4079-b0c7-334846eff8d0 -H 'Authorization: Bearer <IAM_TOKEN>'
    
    GetResourceKeyOptions getResourceKeyOptions = new GetResourceKeyOptions.Builder()
     .id(instanceKeyGuid)
     .build();
    
    Response<ResourceKey> response = service.getResourceKey(getResourceKeyOptions).execute();
    ResourceKey resourceKey = response.getResult();
    
    System.out.printf("getResourceKey() response:\n%s\n", resourceKey.toString());
    
    const params = {
     id: instanceKeyGuid,
    };
    
    resourceControllerService.getResourceKey(params)
     .then(res => {
       console.log('getResourceKey() response:\n' + JSON.stringify(res.result, null, 2));
     })
     .catch(err => {
       console.warn(err)
     });
    
    resource_key = resource_controller_service.get_resource_key(
       id=instance_key_guid
    ).get_result()
    
    print('\nget_resource_key() response:\n',
         json.dumps(resource_key, indent=2))
    
    getResourceKeyOptions := resourceControllerService.NewGetResourceKeyOptions(
     instanceKeyGUID,
    )
    
    resourceKey, response, err := resourceControllerService.GetResourceKey(getResourceKeyOptions)
    if err != nil {
     panic(err)
    }
    b, _ := json.MarshalIndent(resourceKey, "", "  ")
    fmt.Printf("\nGetResourceKey() response:\n%s\n", string(b))
    
  3. 复制服务凭证并将其添加到您的应用程序中。

  4. 更新应用程序之后,将新版本部署到经典基础架构资产。