2.8. 创建功能,将过滤的数据发布到您的存储桶
创建一个过滤数据的功能,并将其添加到您创建的存储帐户中,以便与红帽共享。您可以使用示例 Python 脚本从与红帽费用相关的成本导出中收集成本数据,并将其添加到存储帐户中。此脚本会过滤您使用 BigQuery 创建的成本数据,删除非红帽信息,然后创建 .csv
文件,将其存储在您创建的存储桶中,并将数据发送到红帽。
先决条件
- 您必须拥有 Red Hat Hybrid Cloud Console 服务帐户。
- 您必须在 GCP 中启用了 API 服务。
在 Google Cloud Console 中:
-
点
设置一个 secret,以便在不将凭证存储在功能中的情况下验证您的功能。如果还没有启用,启用 Secret Manager。 从 Secret Manager,单击 。
- 为您的 secret 命名,添加您的服务帐户客户端 ID,然后点 。
- 重复此步骤,为您的服务帐户客户端 secret 保存 secret。
-
在 Google Cloud Console 搜索栏中,搜索功能并选择 Cloud Functions 结果。
- 在 Cloud Functions 页面上,单击 。
-
将函数命名为。在本例中,使用
customer-data-function
。 - 在 Trigger 部分中,选择 HTTPS 作为触发器类型。
在 Runtime, build, connections and security settings 中,单击 Security and image repo 选项卡。
- 点 。
-
选择之前创建的
client_id
secret。 - 将引用方法设置为 公开为环境变量。
-
将公开环境变量
client_id
命名为。 - 点 。
-
为您的
client_secret
重复前面的步骤。 - 点击 。
- 在 Cloud Functions Code 页面中,将运行时设置为可用最新的 Python 版本。
打开 requirements.txt 文件。粘贴文件末尾的以下行:
requests google-cloud-bigquery google-cloud-storage
-
将 Entry Point 设置为
get_filtered_data
。 打开
main.py
文件。粘贴以下 python 脚本。更改标记为
# Required vars 的部分中的值,使其更新至
您的环境的值。更新以下行的值:INTEGRATION_ID
- Cost management integration_id
BUCKET
- 过滤的数据 GCP Bucket
PROJECT_ID
- 您的项目 ID
DATASET
- 您的数据集名称
TABLE_ID
- 您的表 ID
- 单击 。