Я пытаюсь определить функцию создания кластера для создания кластера в Cloud Dataproc. Просматривая справочный материал, я наткнулся на параметр удаления вхолостую ( idleDeleteTtl ), который автоматически удалял кластер, если он не использовался в течение определенного времени. Когда я пытаюсь включить его в конфигурацию кластера, он выдает мне ValueError: Protocol message ClusterConfig has no "lifecycleConfig" field.
Функция создания кластера для справки:
def create_cluster(dataproc, project, zone, region, cluster_name, pip_packages):
"""Create the cluster."""
print('Creating cluster...')
zone_uri = \
'https://www.googleapis.com/compute/v1/projects/{}/zones/{}'.format(
project, zone)
cluster_data = {
'project_id': project,
'cluster_name': cluster_name,
'config': {
'initialization_actions': [{
'executable_file': 'gs://<some_path>/python/pip-install.sh'
}],
'gce_cluster_config': {
'zone_uri': zone_uri,
'metadata': {
'PIP_PACKAGES': pip_packages
}
},
'master_config': {
'num_instances': 1,
'machine_type_uri': 'n1-standard-1'
},
'worker_config': {
'num_instances': 2,
'machine_type_uri': 'n1-standard-1'
},
'lifecycleConfig': { #### PROBLEM AREA ####
'idleDeleteTtl': '30m'
}
}
}
cluster = dataproc.create_cluster(project, region, cluster_data)
cluster.add_done_callback(callback)
global waiting_callback
waiting_callback = True
Я хочу аналогичные функциональные возможности, если не в той же функциисам. У меня уже определена функция удаления вручную, но я хочу добавить функцию автоматического удаления кластеров, когда она не используется.