You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于JavaScript的Azure Function创建ACI报错:缺少properties属性

问题原因及修复方案

问题根源

你在定义容器对象时,错误地将容器核心配置(image、resources等)嵌套在了properties字段中,但Azure Container Instance的SDK要求容器对象的属性必须直接放在顶层,不需要额外嵌套properties层级。这就导致Azure服务无法正确解析请求体,抛出了Required property 'properties' not found的错误。

修复后的代码

async function CreateDockerContainer(var1, var2) {
    const subscriptionId = process.env['AZURE_SUBSCRIPTION_ID'].toString();
    const resourceGroupName = process.env['RESOURCE_GROUP_NAME'].toString();
    const containerInstanceName = 'ContainerAFTest';
    const containerImageName = 'xxx.azurecr.io/blender-container:1.0.0';
    const containerGroupName = 'blender-container-group';

    const credential = new DefaultAzureCredential();
    const client = new ContainerInstanceManagementClient(credential, subscriptionId);
    const containerGroup = {
        location: 'westeurope',
        containers: [
            {
                name: containerInstanceName,
                // 移除多余的properties嵌套,直接放置容器配置
                image: containerImageName,
                resources: {
                    requests: {
                        cpu: 1.0,
                        memoryInGB: 3.0
                    }
                },
                environmentVariables: [
                    {
                        name: 'var1',
                        value: var1
                    },
                    {
                        name: 'var2',
                        value: var2
                    }
                ]
            }
        ],
        osType: 'Linux',
        restartPolicy: 'Never'
    };

    const containerInstance = await client.containerGroups.beginCreateOrUpdate(
        resourceGroupName,
        containerGroupName,
        containerGroup
    );

    console.log('Created container group: ', containerInstance);
    return containerInstance;
}

补充说明

  • 对于@azure/arm-containerinstance包中的Container类型,其属性(如image、resources、environmentVariables)都是直接挂载在对象顶层的,不存在properties子层级。
  • 你可以查看SDK的类型定义验证结构:Container接口的字段均为直接定义,没有嵌套properties的设计。

内容的提问来源于stack exchange,提问作者TRS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 03:13:17