in utils/aml_common.py [0:0]
def get_or_create_docker_environment_asset(ml_client, env_name, docker_dir, update=False):
try:
latest_env_version = max([int(e.version) for e in ml_client.environments.list(name=env_name)])
if update:
raise ResourceExistsError('Found Environment asset, but will update the Environment.')
else:
env_asset = ml_client.environments.get(name=env_name, version=latest_env_version)
print(f"Found Environment asset: {env_name}. Will not create again")
except (ResourceNotFoundError, ResourceExistsError) as e:
print(f"Exception: {e}")
env_docker_image = Environment(
build=BuildContext(path=docker_dir),
name=env_name,
description="Environment created from a Docker context.",
)
env_asset = ml_client.environments.create_or_update(env_docker_image)
print(f"Created Environment asset: {env_name}")
return env_asset