[英]cdk SageMaker.CfnModel outputs empty containers property when passed model package arn
當我嘗試將 model package 傳遞給 cdk CfnModel 時,模板 output 的字典為空。 然后輸入檢查需要一個對象數組,但是我傳遞的任何內容都不會在模板 output 中結束。這里有什么問題?
鑒於下面的輸入,我期望容器屬性設置為 {"ModelPackageName": model_package_arn} 的 output,但它是一個包含空字典的數組(見下文)。
輸入
class Model(Stack):
def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
super().__init__(scope, construct_id, **kwargs)
model_package_arn = 'arn:aws:sagemaker:us-east-2:{ACCOUNT}:model-package/xgboost-abalone2023-01-30-15-28-52/1'
model = sagemaker.CfnModel(
self,
"MLInference",
execution_role_arn=my_role,
model_name="my-model",
containers=[{"ModelPackageName": model_package_arn}] #<--- Passing an array of dictionary as required
Output:
"Resources": {
"MLInference": {
"Type": "AWS::SageMaker::Model",
"Properties": {
"ExecutionRoleArn": "arn:aws:iam::243788878595:role/service-role/A2ISageMaker-ExecutionRole-20221116T114907",
"Containers": [
{} #<----------- this should be {"ModelPackageName": model_package_arn}] from the cdk stack
],
"ModelName": "my-model7"
},
"Metadata": {
"aws:cdk:path": "AdverseEventsStack/MLInference"
}
}}
容器屬性需要 sagemaker.CfnModel.ContainerDefinitionProperty
正確的 python 語法如下所示
containers=[sagemaker.CfnModel.ContainerDefinitionProperty(
model_package_name=model_package_arn
)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.