db2 - IBM Cloud:如何将 Db2 Warehouse 绑定到 Code Engine 应用程序?
问题描述
我有一个现有的Db2 Warehouse on Cloud实例,它部署到组织和空间。现在,我想将该服务绑定到一个应用程序,以便使用 IBM Cloud Code Engine 进行部署。
ibmcloud ce application bind --name henriks-app --service-instance myDb2
myDb2 不作为 IAM 资源存在,因为它是 CF 资源。我将如何将两者结合在一起?看来我需要创建某种形式的自定义包装器。
解决方案
将服务手动连接到代码引擎应用程序的最佳方法是将服务凭证添加到代码引擎密钥,然后使用环境变量或卷安装将该密钥附加到您的应用程序。
虽然您认为 Db2 Warehouse 不是典型的 IAM-Enabled 服务类型是正确的,但根据IBM Cloud Db2 Warehouse 文档,可以使用 IAM 服务 ID 和 API 密钥创建与 Db2 Warehouse 的客户端连接。
以下是我将 Db2 实例“绑定”到代码引擎应用程序的方式:
- 从IAM 服务 ID页面创建新的服务 ID
- 在“分配访问权限”>“访问服务 ID 附加访问权限”>“IAM 服务”下,您将找到“Db2 Warehouse”作为选项,您可以从那里配置确切的权限(例如,向哪个实例授予权限,哪些角色等)
- 单击“分配访问权限”完成配置
- 使用 CLI,登录到您的帐户并生成新的 API 密钥,例如在第 1 步中创建的服务 ID 的名称在
ibmcloud iam service-api-key-create mydb2key SERVICE_ID_NAME --output JSON > mydb2.json
哪里SERVICE_ID_NAME
- 以您的代码引擎项目为目标,然后使用 API 密钥 JSON 创建一个新密钥,例如
ibmcloud ce secret create --name mydb2 --from-file MYDB2=mydb2.json
- 将秘密作为环境变量附加到您的应用程序,例如
ibmcloud ce app update --name myapp --env-from-secret mydb2
应用程序更新完成后,您的应用程序将有权访问名为 的环境变量MYDB2
,该变量将具有包含您的 API 密钥的 JSON 对象字符串的值。
您将在 Code Engine 文档中找到有关创建机密和在应用程序中使用机密的更多信息。
推荐阅读
- azure - 我可以在 Azure 表存储筛选器中使用请求元数据(例如主机域)吗?
- node.js - 如何从 NodeJS 服务器下载 React 中的文件?(获取文件损坏)
- php - Laravel 在 created_at 等所有模型上添加列值的方法
- dart - dart pub 全局包在 Windows 10 上运行两次
- android - 我使用 Buildbox 制作了一款 Android 游戏,但无法使用 Android Studio 导出它。我有两个软件的最新版本
- android - Cordova 发布应用程序库 - 由于应用程序安装失败而被拒绝
- python - 如何让 pygame 显示我的精灵?
- arrays - 获取 NgFor 项目 Angular 的总数
- angular - ASP.NET Core 和 Angular:提交表单时出现无效操作错误
- javascript - 如何将此消息更改为嵌入消息?