当前位置: 首页 > 知识库问答 >
问题:

在Azure中为CosmosDB获取连接字符串的问题

连成益
2023-03-14

我是按照这个例子:https://github . com/Azure-Samples/Java-functions-eventhub-cosmos db

但是当我尝试使用Azure CLI获取connectionString时,我收到了以下错误:

COSMOS_DB_CONNECTION_STRING=$( \
    az cosmosdb keys list \
        --resource-group $RESOURCE_GROUP \
        --name $COSMOS_DB_ACCOUNT \
        --type connection-strings \
        --query connectionStrings[0].connectionString \
        --output tsv)

来自 az 的错误消息:

no matches found: connectionStrings[0].connectionString

有帮助吗?

先谢过了

az --version
azure-cli                          2.2.0

command-modules-nspkg              2.0.3
core                               2.2.0
nspkg                              3.0.4
telemetry                          1.0.4

Extensions:
azure-cli-iot-ext                  0.8.9
application-insights               0.1.4

Python location '/usr/local/Cellar/azure-cli/2.2.0_1/libexec/bin/python'
Extensions directory '/Users/juan.brena/.azure/cliextensions'

Python (Darwin) 3.8.2 (default, Mar 11 2020, 00:29:50) 
[Clang 11.0.0 (clang-1100.0.33.17)]

Legal docs and information: aka.ms/AzureCliLegal



Your CLI is up-to-date.

显示当前连接字符串的示例:

az cosmosdb keys list \                              
  --resource-group $RESOURCE_GROUP \
  --name $COSMOS_DB_ACCOUNT \   
  --type connection-strings  

输出:

{
  "connectionStrings": [
    {
      "connectionString": "AccountEndpoint=xxx",
      "description": "Primary SQL Connection String"
    },
    {
      "connectionString": "AccountEndpoint=xxx",
      "description": "Secondary SQL Connection String"
    },
    {
      "connectionString": "AccountEndpoint=xxx",
      "description": "Primary Read-Only SQL Connection String"
    },
    {
      "connectionString": "AccountEndpoint=xxx",
      "description": "Secondary Read-Only SQL Connection String"
    }
  ]
}

我们的想法是获得第一个连接字符串:

{
  "connectionString": "AccountEndpoint=xxx",
  "description": "Primary SQL Connection String"
}

共有2个答案

谭炎彬
2023-03-14

我在我的ubuntu devcontainer中遇到了同样的问题,通过用单引号将查询括起来,我解决了这个问题:

az cosmosdb keys list \
  --name $ACCOUNTNAME \
  --resource-group $RESOURCEGROUP \
  --type connection-strings \
  --query 'connectionStrings[0].connectionString' \
  --output tsv
卢朝
2023-03-14

试试这个。

RESOURCE_GROUP='myResourceGroup'
COSMOS_DB_ACCOUNT='my-cosmos-account'

COSMOS_DB_CONNECTION_STRING=$(az cosmosdb keys list \
        -g $RESOURCE_GROUP \
        -n $COSMOS_DB_ACCOUNT \
        --type connection-strings \
        --query connectionStrings[0].connectionString \
        --output tsv)

echo $COSMOS_DB_CONNECTION_STRING
 类似资料:
  • 我正在使用Azure设备预配服务(DPS)自动向Azure IoT中心注册和预配设备。 我想得到一个特定设备的孪生设备。 我可以通过使用de DeviceClient类来管理设备双胞胎: 但是我想通过使用RegistryManager获取设备,它需要特定IoTHub的连接字符串。 是否可以从DPS、连接的设备或IoT中心名称(即结果)中获取IoT中心连接字符串。AssignedHub)?我正在使用

  • 实际上,我试图在Azure密钥存储库秘密后面保护用于AzureWebJobsDashboard和AzureWebJobsStorage的存储连接字符串。我无法使用注入的KeyVault服务来获取它,因为我的服务容器尚未构建。所以我发现(通过上面的链接)我可以在配置中使用“@microsoft.keyvault()”表达式来表达这个意图。下面是一个示例,我将配置移到内联代码中,以保持简洁: 如果我运

  • 我最近的项目有点小问题。我的web.config中有一个连接字符串,但我希望在特定于sql的类中访问它。 我的问题是默认的ASP.NET函数可以访问这个数据库,但我想在数据库中存储其他数据,所以我尝试使用SqlConnection类访问它。我设置了SqlConnection对象的ConnectionString属性: 但我每次都遇到这个错误: System.Data.SqlClient.Sqlex

  • 问题内容: 用Java可以做到吗?连接字符串中的主机无法解析,因此在能够在连接上调用getMetaData之前,我在DataSource的getConnection()中获取了SQLException。 这是我的代码: 由于主机不可访问,将引发异常并导致返回。但是,该异常仅具有诸如之类的错误消息。它没有在连接字符串中给出主机名。我想显示主机名(或连接字符串)以便可以对其进行诊断 问题答案: 这是来

  • 问题内容: 我认为这是不可能的,但我想我要是有办法的话。我的想法是,我有一个用于Web资源文件夹路径的变量: 我得到这个结果: 但是,我希望将字符串合并为一个字符串,如下所示: 是否可以在Less中将字符串连接在一起? 问题答案: 使用变量插值 完整代码: