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

Azure CLI导入Synapse Notebook遇JSON解析错误,求--file参数正确用法

Azure CLI上传Synapse Notebook的--file参数错误修复方案

问题详情

用Azure CLI上传Synapse Notebook时,--file参数始终报错,无法解析JSON。

官方文档提示

--file支持两种传参方式:

  • 用@{path}语法从JSON文件读取属性
  • 直接传入JSON字符串

官方建议:导入Notebook时,复杂参数推荐在文件路径前加“@”

原PowerShell代码

az login --service-principal --username ** --password ** --tenant **
az account set --subscription ***

$filePath = @{
    path = "test.ipynb"
}

az synapse notebook import --workspace-name synworkspace --name test --file $filePath --folder-path 'root/' 

报错信息

Failed to parse string as JSON:
System.Collections.Hashtable
Error detail: Expecting value: line 1 column 1 (char 0)

试过传JSON字符串、直接传路径字符串都没用。

补充输出

命令行执行输出


正确解决方案

核心问题是PowerShell把Hashtable对象传给了Azure CLI,而CLI需要的是带@前缀的文件路径或JSON字符串。提供两种可行方法:

方法1:直接导入本地Notebook文件(最常用)

直接用@+文件路径让CLI读取本地.ipynb文件,不需要定义Hashtable:

az login --service-principal --username ** --password ** --tenant **
az account set --subscription ***

# 相对路径(文件在当前工作目录)
az synapse notebook import --workspace-name synworkspace --name test --file @test.ipynb --folder-path 'root/' 

# 绝对路径示例
az synapse notebook import --workspace-name synworkspace --name test --file @"C:\Users\yourname\test.ipynb" --folder-path 'root/' 

方法2:通过JSON配置文件自定义Notebook属性

如果需要设置Notebook的元数据(比如语言、描述),先创建JSON配置文件(如notebook-settings.json):

{
  "name": "test",
  "properties": {
    "nbformat": 4,
    "nbformat_minor": 2,
    "metadata": {
      "language_info": {
        "name": "python"
      }
    },
    "cells": []
  },
  "folderPath": "root/"
}

然后导入该JSON文件:

az synapse notebook import --workspace-name synworkspace --file @notebook-settings.json

关键注意点

  • PowerShell中路径含空格时,必须用双引号包裹,比如@"D:\Notebooks\My Test.ipynb"
  • 确保.ipynb文件存在,且当前用户有读取权限
  • 执行前用az synapse workspace show --name synworkspace验证工作区连接正常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 15:53:08