Azure 逻辑应用程序 Sql 连接器

标签 azure azure-web-app-service azure-logic-apps

我正在开发从 SQL Server Db 提取 CDC 数据的逻辑应用程序。我正在使用“获取行”操作,但当我尝试使用过滤查询参数时,问题就出现了。

  • 代码 eq '793'(有效)
  • __$operation eq '2'(不起作用)
  • @{string('__$operation')} eq '2'(不起作用)

我认为问题可能出在“$”字符上。

错误信息

{  
  "status": 400,  
  "message": "Syntax error at position 12 in '__$operation eq '2'' "  
}

有人可以帮帮我吗?

最佳答案

$ 是根据 OData Normative 的保留字符,您应该在 URI 形成之前对其进行百分比编码。不幸的是,我尝试了百分比编码,但仍然出现语法错误,似乎过滤查询中不允许这样做。 enter image description here

解决方案

<小时/>

这是解决方案,在逻辑应用中,您不能在筛选查询中使用 %,因此您不能将 %24 用于 $ ,您应该使用 _x0024_。我现在可以成功获取结果:

enter image description here

注意开头有三个_。如果字段/列名称中有其他特殊字符,则可以使用此模式。例如,如果字段名称为Display Name,中间有一个空格字符,那么在过滤查询中,您需要将其转换为Display_0x0020_Name

有关此编码的更多详细信息,请参阅Encode and Decode XML Element and Attribute Names and ID Values

关于Azure 逻辑应用程序 Sql 连接器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45681844/

相关文章:

azure - 实现 Azure 执行模拟软件的策略建议

c# - System.Data.Entity.Infrastruct.UnintentionalCodeFirstException

Azure 逻辑应用 : Extract HTTP Header Key value into a variable

sql-server - SQL Azure 查询性能 - 即使经过调整的查询也非常慢

azure - 每个函数的hosts.json 设置而不是全局设置

azure - Azure 虚拟机规模集 (VMSS) 上的应用程序代码更新

azure - 使用 Azure DevOps 启用 Azure Key Vault 防火墙 - 当 KV 位于不同的订阅中时,最好的方法是什么?

azure - 需要将 Azure 应用程序 Web 服务连接到本地 SQL 数据库

azure - 在Azure逻辑应用程序中解析JSON

azure - Azure 逻辑应用获取实体连接器中的日期比较