Skip to content

Commit 287cba3

Browse files
committed
added image creation script for web app
1 parent c540a2f commit 287cba3

File tree

1 file changed

+62
-0
lines changed

1 file changed

+62
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import os
2+
from azureml.core import Workspace
3+
from azureml.core.image import ContainerImage, Image
4+
from azureml.core.model import Model
5+
from dotenv import load_dotenv
6+
from azureml.core.authentication import ServicePrincipalAuthentication
7+
8+
load_dotenv()
9+
10+
TENANT_ID = os.environ.get('TENANT_ID')
11+
APP_ID = os.environ.get('APP_ID')
12+
APP_SECRET = os.environ.get('APP_SECRET')
13+
WORKSPACE_NAME = os.environ.get('WORKSPACE_NAME')
14+
SUBSCRIPTION_ID = os.environ.get('SUBSCRIPTION_ID')
15+
RESOURCE_GROUP = os.environ.get('RESOURCE_GROUP')
16+
MODEL_NAME = os.environ.get('MODEL_NAME')
17+
MODEL_VERSION = os.environ.get('MODEL_VERSION')
18+
IMAGE_NAME = os.environ.get('IMAGE_NAME')
19+
20+
21+
SP_AUTH = ServicePrincipalAuthentication(
22+
tenant_id=TENANT_ID,
23+
service_principal_id=APP_ID,
24+
service_principal_password=APP_SECRET)
25+
26+
ws = Workspace.get(
27+
WORKSPACE_NAME,
28+
SP_AUTH,
29+
SUBSCRIPTION_ID,
30+
RESOURCE_GROUP
31+
)
32+
33+
34+
model = Model(ws, name=MODEL_NAME, version=MODEL_VERSION)
35+
os.chdir("./code/scoring")
36+
37+
image_config = ContainerImage.image_configuration(
38+
execution_script="score.py",
39+
runtime="python",
40+
conda_file="conda_dependencies.yml",
41+
description="Image with ridge regression model",
42+
tags={"area": "diabetes", "type": "regression"},
43+
)
44+
45+
image = Image.create(
46+
name=IMAGE_NAME, models=[model], image_config=image_config, workspace=ws
47+
)
48+
49+
image.wait_for_creation(show_output=True)
50+
51+
if image.creation_state != "Succeeded":
52+
raise Exception("Image creation status: {image.creation_state}")
53+
54+
print(
55+
"{}(v.{} [{}]) stored at {} with build log {}".format(
56+
image.name,
57+
image.version,
58+
image.creation_state,
59+
image.image_location,
60+
image.image_build_log_uri,
61+
)
62+
)

0 commit comments

Comments
 (0)