如何对 Azure CLI 使用 Powershell splatting

2024-01-06

我想用Powershell 泼溅 https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-6有条件地控制某些 Azure CLI 调用使用哪些参数。专门用于创建 CosmosDb 集合。

目标是这样的:

$params = @{
    "db-name" = "test";
    "collection-name"= "test2";
    # makes no difference if I prefix with '-' or '--'
    "-key" = "secretKey";
    "url-connection" = "https://myaccount.documents.azure.com:443"
    "-url-connection" = "https://myaccount.documents.azure.com:443"
}

az cosmosdb collection create @params

不幸的是,这仅适用于db-name and collection-name。其他参数失败并出现此错误:

az : ERROR: az: error: unrecognized arguments: --url-connection:https://myaccount.documents.azure.com:443 
--key:secretKey

经过一番来回之后,我最终使用了阵列扩散 https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_splatting?view=powershell-6#splatting-with-arrays:

$params = "--db-name", "test", "--collection-name", "test2", 
    "--key", "secretKey",
    "--url-connection", "https://myaccount.documents.azure.com:443"

az cosmosdb collection create @params 

现在我可以做这样的事情:

if ($collectionExists) {
    az cosmosdb collection update @colParams @colCreateUpdateParams
} else {
    # note that the partition key cannot be changed by update
    if ($partitionKey -ne $null) {
        $colCreateUpdateParams += "--partition-key-path", $partitionKey
    }
    az cosmosdb collection create @colParams @colCreateUpdateParams
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何对 Azure CLI 使用 Powershell splatting 的相关文章

随机推荐

  • 使用 libstdc++ 编译库与 clang++ -stdlib=libc++

    我在 Mac OS X 10 8 2 下使用 C 工作 最近需要使用 C 11 功能 这些功能可以通过使用 libc stdlib 的 clang 编译器获得 但是 我还需要使用一些针对 libstdc 来自 MacPorts 编译和链接的
  • SpriteKit 侧向滚动不会更新物理世界

    遵循示例here https stackoverflow com questions 24748247 define map bounds and center on player node 24843989 24843989 除了 Obj
  • 在 React 中定义空 dom 元素的正确方法

    我发送一个可选参数checkbox在组件的 prop 内 var checkBox this props checkbox span span null 然后我这样说 div checkBox div 从上面可以看出 我将 null 分配给
  • Android - 通过彩信发送音频文件

    我使用以下代码通过电子邮件 dropbox 发送音频文件 这并没有让我选择通过彩信发送相同的文件 有人知道如何将其附加到彩信并让用户根据需要发送吗 Intent share new Intent Intent ACTION SEND sha
  • npm rollbackFailed安装任何包时出现可选错误

    我在安装任何一个时遇到问题npm包 这是我的错误 rollbackFailedOptional verb npm session xxxxxxxxxxx 为了解决这个问题 我做了一些事情 但仍然遇到同样的错误 I put registry
  • Resources.getSystem() 与 getResources()

    我是 Android 新手 我正在通过网络上的可用资源自己学习 SDK 我现在遇到一个情况 我正在尝试以下代码 Type 1 getResources getString android R string cancel Type 2 Res
  • 在.NET中实现以数据库为存储介质的日志库

    我刚刚开始开发一个日志库 每个人都可以使用它来在用户运行我们的应用程序时跟踪任何类型的系统信息 到目前为止最简单的示例是跟踪信息 警告和错误 我希望所有插件都能够使用此功能 但由于每个开发人员可能对报告的重要内容有不同的想法 因此我希望尽可
  • 使用蒙特卡罗模拟计算方差的期望值

    所以我有这个概率分布 X 0 概率 7 8 1 60 概率 1 8 詹姆斯他的车一年坏N次 其中N Pois 2 X是修理费用 Y是詹姆斯一年内造成的总费用 我想计算 E Y 和 V Y 这应该给我 E X 15 和 V Y 1800 我有
  • 如何使用react-apollo 使用同一查询进行多个graphql 查询?

    我有一个 graphql 端点 QueryDataForOptions 我想根据组件的多次调用它options支柱 可能有任意数量的选项 我想做这样的伪代码 但钩子规则不允许这样做 const MyComponent options gt
  • zipArchive 在 iOS 上解压到文档文件夹

    我正在使用 ZipArchive 进行解压 但它将 zip 的内容解压到以 zip 文件命名的文档子目录中 而不是直接解压到我的文档文件夹中 有谁知道我可以更改什么以确保其保存到我想要的目录 void unZipUpdateArchiveA
  • Vue JS 返回 [__ob__: Observer] 数据而不是我的对象数组

    我创建了一个页面 我想通过 API 调用从数据库获取所有数据 但我对 VueJS 和 Javascript 也有点陌生 我不知道哪里出错了 我用 Postman 测试了它 并得到了正确的 JSON 这就是我得到的 ob Observer l
  • 检测另一个子视图之上的一个子视图

    我试图在将一个子视图拖动到另一个子视图顶部时检测它是否发生碰撞 有什么好的方法可以做到这一点 我正在使用 UIPanGestureRecognizer 来拖动元素 谢谢 您可以使用CGRectIntersectsRect 为了完成任务 if
  • 使用 LINQ 仅基于单个对象属性来获取两个对象列表之间的差异[关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 狗类有两个属性 名称和颜色 假设我有两个 IEnumerable 列表 List1 name Sam color Faw
  • 使用 Laravel Homestead 将 Vagrant 端口转发 80 到 8000

    我的问题 我只能通过端口 8000 访问我的网站 但不能通过 80 这让我认为它没有像它所说的那样将 80 重定向到 8000 我想简单地在浏览器中输入 local kujif com 它就会加载该网站 我读到的默认端口是 80 端口 我正
  • 如何确定 Android 版本的修订号?

    我知道如何获取 API 级别 android os Build VERSION SDK INT 但每个级别版本也有几个修订版本 例如2 1 有版本 1 和版本 2 如何确定版本的版本 我想知道这一点的原因是我有一个针对 Android 2
  • Javascript ES6 从 URL 获取 JSON(无 jQuery)

    我想知道是否有任何 ES6 方法可以从 url 获取 json 或其他数据 jQuery GET 和 Ajax 调用非常常见 但我不想在本次调用中使用 jQuery 典型的调用如下所示 var root http jsonplacehold
  • 根据特定时间段内的事件日期创建虚拟变量

    我有一个数据集products像这样 gt head featured products Dept Class Sku Description Code Vehicle Placement StartDate EndDate Comment
  • AutoMapper - 为什么它会覆盖整个对象? [复制]

    这个问题在这里已经有答案了 我不明白为什么它会覆盖我的整个对象 原因是我得到了我的User来自 db 的对象我想从 DTO 分配新值 它不是仅仅添加这些新值 而是创建具有新值的新对象 但所有先前的值都设置为null 我怎样才能确保在这种情况
  • 在包“<默认包>”中找到 0 个测试类

    我最近安装了 IntelliJ IDEA 13 1 4 和 jRebel 插件 我已获得许可并在中创建并添加了配置catalina bat file 从 IntelliJ 中运行 jRebel 时 它似乎正在监视正确的目录 但我收到以下消息
  • 如何对 Azure CLI 使用 Powershell splatting

    我想用Powershell 泼溅 https learn microsoft com en us powershell module microsoft powershell core about about splatting view