首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure CLI -无法创建Azure Synapse链接服务-引用JSON文件的问题

Azure CLI -无法创建Azure Synapse链接服务-引用JSON文件的问题
EN

Stack Overflow用户
提问于 2021-12-09 20:50:42
回答 1查看 461关注 0票数 1

我正在尝试使用Azure在Azure Synapse上创建链接服务。我有一个包含链接服务代码的json文件:

代码语言:javascript
复制
{
    "name": "LS_dakeyvault",
    "properties": {
        "annotations": [],
        "type": "AzureKeyVault",
        "typeProperties": {
            "baseUrl": "https://edap-d-kv.vault.azure.net/"
        }
    }
}

我将在Windows中运行以下命令:

代码语言:javascript
复制
az synapse linked-service create --name LS_dakeyvault --file "C:\Project\SynGitTest0\linkedService\LS_dakeyvault.json" --workspace-name edap-d-syn

我会得到这个错误:

代码语言:javascript
复制
Failed to parse JSON: C:\Project\SynGitTest0\linkedService\LS_dakeyvault.json
Error detail: Expecting value: line 1 column 1 (char 0)
The JSON may have been parsed by the shell. See https://learn.microsoft.com/cli/azure/use-cli-effectively#quoting-issues

我在其他shell (powershell,bash)上也有同样的问题。

我试着遵循MS提供的链接的指示,我不确定我是否理解我应该做什么。我试着将文件名放在单引号中:

代码语言:javascript
复制
az synapse linked-service create --name LS_dakeyvault --file "'C:\Project\SynGitTest0\linkedService\LS_dakeyvault.json'" --workspace-name edap-d-syn

(我不确定这是引用问题的正确解决办法。)在这种情况下,我会得到一个不同的错误:

代码语言:javascript
复制
string indices must be integers
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 658, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 721, in _run_jobs_serially   
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 692, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 328, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler     
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/synapse/manual/operations/artifacts.py", line 
36, in create_or_update_linked_service
TypeError: string indices must be integers
EN

回答 1

Stack Overflow用户

发布于 2021-12-10 05:35:45

如果您检查Microsoft的这个Azure密钥库链接服务部分,您会发现链接服务的JSON文件是正确的,没有问题,如下所示。

代码语言:javascript
复制
{
    "name": "AzureKeyVaultLinkedService",
    "properties": {
        "type": "AzureKeyVault",
        "typeProperties": {
            "baseUrl": "https://<azureKeyVaultName>.vault.azure.net"
        }
    }
}

因此,问题必须发生在az命令中的文件路径上。请检查您的命令中文件路径是否正确。如果您检查所需参数az synapse linked-service create命令,那么您会发现-

- -file属性可以使用语法或JSON字符串从json文件中提供。

如果您输入正确的路径并在路径的开头添加@,则链接服务create可以正常工作。如果您仍然面临问题,请尝试移到文件存储的目录并运行命令。

我建议阅读az突触链接服务在Azure密钥库中存储凭证文档以获得更多信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70296549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档