IBM Cloud:如何将 Db2 Warehouse 绑定到 Code Engine 应用程序?

IBM Cloud: How to bind Db2 Warehouse to Code Engine app?

我有 Db2 Warehouse on Cloud which is deployed to an org and space. Now, I would like to bind that service to an app for deployment with IBM Cloud Code Engine 的现有实例。

ibmcloud ce application bind --name henriks-app --service-instance myDb2

myDb2 不作为 IAM 资源存在,因为它是 CF 资源。我将如何将两者绑定在一起?看来我需要创建某种形式的自定义包装器。

手动将服务连接到您的代码引擎应用程序的最佳方法是将服务凭据添加到代码引擎机密,然后使用环境变量或卷安装将该机密附加到您的应用程序。

虽然您认为 Db2 Warehouse 不是典型的启用 IAM 的服务类型是正确的,但基于 IBM Cloud Db2 Warehouse docs,可以使用 IAM 服务 ID & API键.

以下是我将 Db2 实例“绑定”到代码引擎应用程序的方法:

  1. IAM Service IDs 页面创建新的服务 ID
  2. 在“分配访问权限”>“访问服务 ID 附加访问权限”>“IAM 服务”下,您会发现“Db2 Warehouse”作为一个选项,您可以从那里配置确切的权限(例如哪个实例(s) ) 向哪些角色授予权限等)
  3. 点击“分配访问权限”完成配置
  4. 使用 CLI,登录到您的帐户并生成一个新的 API 密钥,例如ibmcloud iam service-api-key-create mydb2key SERVICE_ID_NAME --output JSON > mydb2.json 其中 SERVICE_ID_NAME 是在步骤 1 中创建的服务 ID 的名称
  5. 定位您的代码引擎项目,然后使用 API 密钥 JSON 创建一个新的秘密,例如ibmcloud ce secret create --name mydb2 --from-file MYDB2=mydb2.json
  6. 将密钥作为环境变量附加到您的应用程序,例如ibmcloud ce app update --name myapp --env-from-secret mydb2

应用程序更新完成后,您的应用程序将可以访问名为 MYDB2 的环境变量,该变量的值将是包含您的 API 密钥的 JSON 对象字符串.

您可以在代码引擎文档中找到有关 creating secrets and using secrets with applications 的更多信息。