如何在 Azure Blob 索引查询中插入 C# 变量
How to insert C# variables in Azure Blob Index Queries
在此处查看 MS 文档:
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-index-how-to?tabs=net
举一些例子供查询:
// Blob index queries and selection
String singleEqualityQuery = @"""Archive"" = 'false'";
String andQuery = @"""Archive"" = 'false' AND ""Priority"" = '01'";
String rangeQuery = @"""Date"" >= '2020-04-20' AND ""Date"" <= '2020-04-30'";
String containerScopedQuery = @"@container = 'mycontainer' AND ""Archive"" = 'false'";
这些示例毫无用处,因为现实世界中没有人会使用静态值对查询进行硬编码。
如果我在使用 'AND' staement 时尝试将变量插入到查询中,则该字符串将无法编译。示例:
var varibale1 = "test1";
var varibale2 = "test2";
// Not working!
query = @"""folderDepth"" = '" + varibale1 + "' AND ""parentFolder"" = 'hardCodedvalue'";
// Hard coded values
query = @"""folderDepth"" = 'test1' AND ""parentFolder"" = 'test2'";
下面的屏幕截图显示了我尝试使用的 MS 代码示例:
上述示例查询中的每个索引标记都包含在两组双引号中。这将一直有效,直到我开始将变量插入查询中,如下所示:
对我有用的查询是转义字符串中的第二个索引标记,即 ParentFolder。
// -----------------------------
// ----- Tested and worked -----
// -----------------------------
string query4 = @"""FolderDepth"" = '" + varibale1 + "' AND \"ParentFolder\" = '" + varibale2 + "'";
在此处查看 MS 文档:
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-index-how-to?tabs=net
举一些例子供查询:
// Blob index queries and selection
String singleEqualityQuery = @"""Archive"" = 'false'";
String andQuery = @"""Archive"" = 'false' AND ""Priority"" = '01'";
String rangeQuery = @"""Date"" >= '2020-04-20' AND ""Date"" <= '2020-04-30'";
String containerScopedQuery = @"@container = 'mycontainer' AND ""Archive"" = 'false'";
这些示例毫无用处,因为现实世界中没有人会使用静态值对查询进行硬编码。
如果我在使用 'AND' staement 时尝试将变量插入到查询中,则该字符串将无法编译。示例:
var varibale1 = "test1";
var varibale2 = "test2";
// Not working!
query = @"""folderDepth"" = '" + varibale1 + "' AND ""parentFolder"" = 'hardCodedvalue'";
// Hard coded values
query = @"""folderDepth"" = 'test1' AND ""parentFolder"" = 'test2'";
下面的屏幕截图显示了我尝试使用的 MS 代码示例:
上述示例查询中的每个索引标记都包含在两组双引号中。这将一直有效,直到我开始将变量插入查询中,如下所示:
对我有用的查询是转义字符串中的第二个索引标记,即 ParentFolder。
// -----------------------------
// ----- Tested and worked -----
// -----------------------------
string query4 = @"""FolderDepth"" = '" + varibale1 + "' AND \"ParentFolder\" = '" + varibale2 + "'";