簡體   English   中英

cdk SageMaker.CfnModel 在傳遞時輸出空容器屬性 model package arn

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM