Google Cloud AlloyDB Operators¶
AlloyDB for PostgreSQL 是一个完全托管的、兼容 PostgreSQL 的数据库服务,旨在满足您最苛刻的工作负载需求,包括混合事务处理和分析处理。AlloyDB 将 Google 构建的数据库引擎与基于云的多节点架构相结合,以提供企业级性能、可靠性和可用性。
Airflow 提供了用于管理 AlloyDB 集群的 Operator。
准备工作¶
要使用这些 Operator,您必须完成以下几步
使用 Cloud 控制台 选择或创建一个 Cloud Platform 项目。
为您的项目启用结算,详见 Google Cloud 文档。
启用 API,详见 Cloud 控制台文档。
通过 pip 安装 API 库。
pip install 'apache-airflow[google]'有关 安装 的详细信息,请参阅。
创建集群¶
要创建 AlloyDB 集群(主实例和辅助实例),您可以使用 AlloyDBCreateClusterOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
create_cluster = AlloyDBCreateClusterOperator(
task_id="create_cluster",
cluster_id=CLUSTER_ID,
cluster_configuration=CLUSTER,
is_secondary=False,
location=GCP_LOCATION,
project_id=GCP_PROJECT_ID,
)
更新集群¶
要更新 AlloyDB 集群,您可以使用 AlloyDBUpdateClusterOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
update_cluster = AlloyDBUpdateClusterOperator(
task_id="update_cluster",
cluster_id=CLUSTER_ID,
cluster_configuration=CLUSTER_UPDATE,
update_mask=CLUSTER_UPDATE_MASK,
location=GCP_LOCATION,
project_id=GCP_PROJECT_ID,
)
删除集群¶
要删除 AlloyDB 集群,您可以使用 AlloyDBDeleteClusterOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
delete_cluster = AlloyDBDeleteClusterOperator(
task_id="delete_cluster",
project_id=GCP_PROJECT_ID,
location=GCP_LOCATION,
cluster_id=CLUSTER_ID,
)
创建实例¶
要创建 AlloyDB 实例(主实例和辅助实例),您可以使用 AlloyDBCreateInstanceOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
create_instance = AlloyDBCreateInstanceOperator(
task_id="create_instance",
cluster_id=CLUSTER_ID,
instance_id=INSTANCE_ID,
instance_configuration=INSTANCE,
is_secondary=False,
project_id=GCP_PROJECT_ID,
location=GCP_LOCATION,
)
更新实例¶
要更新 AlloyDB 实例,您可以使用 AlloyDBUpdateInstanceOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
update_instance = AlloyDBUpdateInstanceOperator(
task_id="update_instance",
cluster_id=CLUSTER_ID,
instance_id=INSTANCE_ID,
instance_configuration=INSTANCE_UPDATE,
update_mask=INSTANCE_UPDATE_MASK,
location=GCP_LOCATION,
project_id=GCP_PROJECT_ID,
)
删除实例¶
要删除 AlloyDB 实例,您可以使用 AlloyDBDeleteInstanceOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
delete_instance = AlloyDBDeleteInstanceOperator(
task_id="delete_instance",
cluster_id=CLUSTER_ID,
instance_id=INSTANCE_ID,
project_id=GCP_PROJECT_ID,
location=GCP_LOCATION,
)
创建用户¶
要创建 AlloyDB 用户,您可以使用 AlloyDBCreateUserOperator
。请注意,必须先在集群中创建主实例。
tests/system/google/cloud/alloy_db/example_alloy_db.py
creat_user = AlloyDBCreateUserOperator(
task_id="create_user",
user_id=USER_ID,
user_configuration=USER,
cluster_id=CLUSTER_ID,
project_id=GCP_PROJECT_ID,
location=GCP_LOCATION,
)
更新用户¶
要更新 AlloyDB 用户,您可以使用 AlloyDBUpdateUserOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
update_user = AlloyDBUpdateUserOperator(
task_id="update_user",
user_id=USER_ID,
user_configuration=USER_UPDATE,
cluster_id=CLUSTER_ID,
update_mask=USER_UPDATE_MASK,
location=GCP_LOCATION,
project_id=GCP_PROJECT_ID,
)
删除用户¶
要删除 AlloyDB 用户,您可以使用 AlloyDBDeleteUserOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
delete_user = AlloyDBDeleteUserOperator(
task_id="delete_user",
cluster_id=CLUSTER_ID,
user_id=USER_ID,
project_id=GCP_PROJECT_ID,
location=GCP_LOCATION,
)
创建备份¶
要创建 AlloyDB 备份,您可以使用 AlloyDBCreateBackupOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
create_backup = AlloyDBCreateBackupOperator(
task_id="create_backup",
backup_id=BACKUP_ID,
backup_configuration=BACKUP,
location=GCP_LOCATION_BACKUP,
project_id=GCP_PROJECT_ID,
)
更新备份¶
要更新 AlloyDB 备份,您可以使用 AlloyDBUpdateBackupOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
update_backup = AlloyDBUpdateBackupOperator(
task_id="update_backup",
backup_id=BACKUP_ID,
backup_configuration=BACKUP_UPDATE,
update_mask=BACKUP_UPDATE_MASK,
location=GCP_LOCATION_BACKUP,
project_id=GCP_PROJECT_ID,
)
删除备份¶
要删除 AlloyDB 备份,您可以使用 AlloyDBDeleteBackupOperator
。
tests/system/google/cloud/alloy_db/example_alloy_db.py
delete_backup = AlloyDBDeleteBackupOperator(
task_id="delete_backup",
backup_id=BACKUP_ID,
location=GCP_LOCATION_BACKUP,
project_id=GCP_PROJECT_ID,
)