Power Query 连接器(预览版 - 已停用)
重要
Power Query 连接器支持是在 Microsoft Azure 预览版补充使用条款下作为封闭式公共预览版引入的,但现在已停止。 如果你有使用 Power Query 连接器的搜索解决方案,请迁移到备用解决方案。
在 2022 年 11 月 28 日前迁移
Power Query连接器预览版于 2021 年 5 月发布,不会推进正式发布。 以下迁移指南适用于 Snowflake 和 PostgreSQL。 如果使用的是其他连接器,并且需要迁移说明,请使用预览版注册中提供的电子邮件联系信息,请求帮助或向 Azure 支持部门开具票证。
先决条件
- 一个 Azure 存储帐户。 如果你还没有存储帐户,请创建一个存储帐户。
- Azure 数据工厂。 如果没有数据工厂,请创建一个数据工厂。 在实现之前,请参阅数据工厂管道定价,了解相关成本。 此外,请查看通过示例了解数据工厂定价。
迁移 Snowflake 数据管道
本部分介绍如何将数据从 Snowflake 数据库复制到 Azure 认知搜索索引。 无法直接从 Snowflake 索引到 Azure 认知搜索,因此本部分包括将数据库内容复制到 Azure 存储 blob 容器的暂存阶段。 然后,您将使用数据工厂管道从该暂存容器编制索引。
步骤 1:检索 Snowflake 数据库信息
转到 Snowflake 并登录到 Snowflake 帐户。 Snowflake 帐户类似于 https://<account_name>.snowflakecomputing.com。
登录后,从左窗格中收集以下信息。 在下一部分需要用到这些信息:
- 在“数据”中,选择“数据库”并复制数据库源的名称。
- 从管理员,选择“用户 & 角色”,并复制用户名。 确保用户具有读取权限。
- 在“管理”中,选择“帐户”并复制帐户的 LOCATOR 值。
- 从 Snowflake URL中(类似于
https://app.snowflake.com/<region_name>/xy12345/organization)
), 复制区域名称。 例如,在https://app.snowflake.com/south-central-us.azure/xy12345/organization
中,区域名称为south-central-us.azure
。 - 从“管理”中,选择“仓库”,并复制与用作源的数据库关联的仓库的名称。
步骤 2:配置 Snowflake 链接服务
使用 Azure 帐户登录到 Azure 数据工厂 Studio。
选择数据工厂,然后选择“继续”。
从左侧菜单中,选择“管理”图标。
在“链接服务”下,选择“新建”。
在右窗格中的数据存储搜索中,输入“snowflake”。 选择 Snowflake 磁贴,然后选择“继续”。
使用上一步中收集的数据填写“新建链接服务”表单。 帐户名称包括 LOCATOR 值和区域(例如:
xy56789south-central-us.azure
)。表单完成后,选择“测试连接”。
如果测试成功,请选择“创建”。
步骤 3:配置 Snowflake 数据集
从左侧菜单中,选择“作者”图标。
选择“数据集”,然后选择“数据集操作”菜单 (
...
)。选择“新建数据集”。
在右窗格中的数据存储搜索中,输入“snowflake”。 选择 Snowflake 磁贴,然后选择“继续”。
在“设置属性”中:
- 选择在步骤 2 中创建的链接服务。
- 选择要导入的表,然后选择“确定”。
选择“保存”。
步骤 4:在 Azure 认知搜索中创建新索引
在 Azure 认知搜索服务中,使用与当前为 Snowflake 数据配置的架构相同的架构创建一个新索引。
可以重新利用当前用于 Snowflake Power 连接器的索引。 在Azure 门户中,找到索引,然后选择“索引定义 (JSON)”。 选择定义并将其复制到新索引请求的正文。
步骤 5:配置 Azure 认知搜索链接服务
从左侧菜单中,选择“管理”图标。
在“链接服务”下,选择“新建”。
在右窗格中的数据存储搜索中,输入“search”。 选择“Azure 搜索”磁贴,然后选择“继续”。
填写“新建链接服务”值:
- 选择 Azure 认知搜索服务所在的 Azure 订阅。
- 选择具有 Power Query 连接器索引器的 Azure 认知搜索服务。
- 选择“创建”。
步骤 6:配置 Azure 认知搜索数据集
从左侧菜单中,选择“作者”图标。
选择“数据集”,然后选择“数据集操作”菜单 (
...
)。选择“新建数据集”。
在右窗格中的数据存储搜索中,输入“search”。 选择“Azure 搜索”磁贴,然后选择“继续”。
在“设置属性”中:
选择“保存”。
步骤 7:配置 Azure Blob 存储链接服务
从左侧菜单中,选择“管理”图标。
在“链接服务”下,选择“新建”。
在右窗格中的数据存储搜索中,输入“storage”。 选择“Azure Blob 存储”磁贴,然后选择“继续”。
填写“新建链接服务”值:
选择身份验证类型:SAS URI。 只有使用此身份验证类型才能将数据从 Snowflake 导入 Azure Blob 存储。
针对将用于暂存的存储帐户生成 SAS URL。 将 Blob SAS URL 粘贴到 SAS URL 字段中。
选择“创建”。
步骤 8:配置存储数据集
从左侧菜单中,选择“作者”图标。
选择“数据集”,然后选择“数据集操作”菜单 (
...
)。选择“新建数据集”。
在右窗格中的数据存储搜索中,输入“storage”。 选择“Azure Blob 存储”磁贴,然后选择“继续”。
选择 DelimitedText 格式,然后选择“继续”。
在“设置属性”中:
在“链接服务”下,选择在步骤 7 中创建的链接服务。
在“文件路径”下,选择将作为暂存进程的接收器的容器,然后选择“确定”。
在“行分隔符”中,选择“换行符 (\n)”。
选中“第一行作为标题”框。
选择“保存”。
步骤 9:配置管道
从左侧菜单中,选择“作者”图标。
选择“管道”,然后选择“管道操作”省略号菜单 (
...
)。选择“新建管道”。
创建和配置从 Snowflake 复制到 Azure 存储容器的数据工厂活动:
展开 “移动 & 转换 ”部分,然后将 “复制数据活动 ”拖放到空白管道编辑器画布。
打开“常规”选项卡。除非需要自定义执行,否则请接受默认值。
在“源”选项卡中,选择 Snowflake 表。 对其余选项保留默认值。
在“接收器”选项卡:
选择在步骤 8 中创建的“存储定界文本”数据集。
在“文件扩展名”中,添加 .csv。
对其余选项保留默认值。
选择“保存”。
配置从 Azure 存储 Blob 复制到搜索索引的活动:
展开 “移动 & 转换 ”部分,然后将 “复制数据活动 ”拖放到空白管道编辑器画布。
在“常规”选项卡中。除非需要自定义执行,否则请接受默认值。
在“源”选项卡中:
- 选择在步骤 8 中创建的“存储定界文本”数据集。
- 在“文件路径类型”中选择“通配符文件路径”。
- 对于所有剩余字段,保留默认值。
在“接收器”选项卡中,选择 Azure 认知搜索索引。 对其余选项保留默认值。
选择“保存”。
步骤 10:配置活动顺序
在管道画布编辑器中,选择管道活动磁贴边缘的小绿色方块。 将其拖到“从存储帐户到 Azure 认知搜索的索引”活动以设置执行顺序。
选择“保存”。
步骤 11:添加管道触发器
迁移 PostgreSQL 数据管道
本部分介绍如何将数据从 PostgreSQL 数据库复制到 Azure 认知搜索索引。 无法直接从 PostgreSQL 索引到 Azure 认知搜索,因此本部分包括将数据库内容复制到 Azure 存储 blob 容器的暂存阶段。 然后,您将使用数据工厂管道从该暂存容器编制索引。
步骤 1:配置 PostgreSQL 链接服务
使用 Azure 帐户登录到 Azure 数据工厂 Studio。
选择数据工厂,然后选择“继续”。
从左侧菜单中,选择“管理”图标。
在“链接服务”下,选择“新建”。
在右窗格中的数据存储搜索中,输入“postgresql”。 选择代表 PostgreSQL 数据库所在位置(Azure 或其他)的 PostgreSQL 磁贴,然后选择“继续”。 在此示例中,PostgreSQL 数据库位于 Azure 中。
填写“新建链接服务”值:
步骤 2:配置 PostgreSQL 数据集
从左侧菜单中,选择“作者”图标。
选择“数据集”,然后选择“数据集操作”菜单 (
...
)。选择“新建数据集”。
在右窗格中的数据存储搜索中,输入“postgresql”。 选择 Azure PostgreSQL 磁贴。 选择“继续”。
填写“设置属性”值:
选择在步骤 1 中创建的 PostgreSQL 链接服务。
选择要导入/编制索引的表。
选择“确定”。
选择“保存”。
步骤 3:在 Azure 认知搜索中创建新索引
在 Azure 认知搜索服务中创建一个新索引,其架构与用于 PostgreSQL 数据的架构相同。
可以重新利用当前用于 PostgreSQL Power 连接器的索引。 在Azure 门户中,找到索引,然后选择“索引定义 (JSON)”。 选择定义并将其复制到新索引请求的正文。
步骤 4:配置 Azure 认知搜索链接服务
从左侧菜单中,选择“管理”图标。
在“链接服务”下,选择“新建”。
在右窗格中的数据存储搜索中,输入“search”。 选择“Azure 搜索”磁贴,然后选择“继续”。
填写“新建链接服务”值:
- 选择 Azure 认知搜索服务所在的 Azure 订阅。
- 选择具有 Power Query 连接器索引器的 Azure 认知搜索服务。
- 选择“创建”。
步骤 5:配置 Azure 认知搜索数据集
从左侧菜单中,选择“作者”图标。
选择“数据集”,然后选择“数据集操作”菜单 (
...
)。选择“新建数据集”。
在右窗格中的数据存储搜索中,输入“search”。 选择“Azure 搜索”磁贴,然后选择“继续”。
在“设置属性”中:
选择“保存”。
步骤 6:配置 Azure Blob 存储链接服务
从左侧菜单中,选择“管理”图标。
在“链接服务”下,选择“新建”。
在右窗格中的数据存储搜索中,输入“storage”。 选择“Azure Blob 存储”磁贴,然后选择“继续”。
填写“新建链接服务”值:
选择“身份验证类型: SAS URI”。 只有此方法可以将数据从 PostgreSQL 导入到 Azure Blob 存储中。
针对将用于暂存的存储帐户生成 SAS URL,并将 Blob SAS URL 复制到 SAS URL 字段。
选择“创建”。
步骤 7:配置存储数据集
从左侧菜单中,选择“作者”图标。
选择“数据集”,然后选择“数据集操作”菜单 (
...
)。选择“新建数据集”。
在右窗格中的数据存储搜索中,输入“storage”。 选择“Azure Blob 存储”磁贴,然后选择“继续”。
选择 DelimitedText 格式,然后选择“继续”。
在“行分隔符”中,选择“换行符 (\n)”。
选中“第一行作为标题”框。
选择“保存”。
步骤 8:配置管道
从左侧菜单中,选择“作者”图标。
选择“管道”,然后选择“管道操作”省略号菜单 (
...
)。选择“新建管道”。
创建和配置从 PostgreSQL 复制到 Azure 存储容器的数据工厂活动。
展开 “移动 & 转换 ”部分,然后将 “复制数据活动 ”拖放到空白管道编辑器画布。
打开“常规”选项卡。除非需要自定义执行,否则请接受默认值。
在“源”选项卡中,选择 PostgreSQL 表。 对其余选项保留默认值。
在“接收器”选项卡:
选择步骤 7 中配置的存储定界文本 PostgreSQL 数据集。
在“文件扩展名”中,添加 .csv
对其余选项保留默认值。
选择“保存”。
配置从 Azure 存储复制到搜索索引的活动:
展开 “移动 & 转换 ”部分,然后将 “复制数据活动 ”拖放到空白管道编辑器画布。
在“常规”选项卡中。除非需要自定义执行,否则请保留默认值。
在“源”选项卡中:
- 选择步骤 7 中配置的存储源数据集。
- 在“文件路径类型”字段中选择“通配符文件路径”。
- 对于所有剩余字段,保留默认值。
在“接收器”选项卡中,选择 Azure 认知搜索索引。 对其余选项保留默认值。
选择“保存”。
步骤 9:配置活动顺序
在管道画布编辑器中,选择管道活动边缘的小绿色方块。 将其拖到“从存储帐户到 Azure 认知搜索的索引”活动以设置执行顺序。
选择“保存”。
步骤 10:添加管道触发器
适用于 Power Query 连接器预览版的旧内容
Power Query 连接器与搜索索引器一起使用,用于自动从各种数据源(包括其他云提供程序上的数据源)引入数据。 此连接器使用 Power Query 来检索数据。
预览版中支持的数据源包括:
- Amazon Redshift
- Elasticsearch
- PostgreSQL
- Salesforce 对象
- Salesforce 报表
- Smartsheet
- Snowflake
支持的功能
Power Query 连接器用于索引器中。 Azure 认知搜索中的索引器是一种抓取程序,它从外部数据源提取可搜索的数据和元数据,并根据索引与数据源之间字段到字段的映射填充索引。 由于不需要编写任何将数据添加到索引的代码,该服务就能拉取数据,因此这种方法有时也称为“拉取模式”。 索引器为用户提供了一种从他们的数据源中为内容编制索引的简便方法,无需编写他们自己的抓取程序或推送模型。
在技能组、计划、高水印更改检测逻辑和其他索引器支持的大多数参数等方面,引用 Power Query 数据源的索引器具有相同的支持级别。
先决条件
虽然你不能再使用此功能,但它在预览版中具有以下要求:
某个受支持的区域中的 Azure 认知搜索服务。
预览注册。 必须在后端启用此功能。
Azure Blob 存储帐户,用作数据的媒介。 数据将会从数据源流出,然后流向 Blob 存储,再流向索引。 此要求只对初始封闭预览版存在。
区域可用性
预览版仅在以下区域的搜索服务上可用:
- 美国中部
- 美国东部
- 美国东部 2
- 美国中北部
- 北欧
- 美国中南部
- 美国中西部
- 西欧
- 美国西部
- 美国西部 2
预览版限制
本部分介绍特定于该预览版当前版本的限制。
不支持从数据源中拉取二进制数据。
不支持调试会话。
开始使用 Azure 门户
该 Azure 门户为 Power Query 连接器提供支持。 通过数据采样并读取容器中的元数据,Azure 认知搜索中的导入数据向导可以创建默认索引、将源字段映射到目标索引字段,并以单个操作加载索引。 根据源数据的大小和复杂性,在数分钟内就能创建一个有效的全文搜索索引。
以下视频演示如何在 Azure 认知搜索中设置 Power Query 连接器。
步骤 1 - 准备源数据
确保数据源包含数据。 导入数据向导会读取元数据并执行数据采样,以推断索引架构,但它也会从你的数据源加载数据。 如果缺少数据,该向导将会停止并返回错误。
步骤 2 - 启动“导入数据”向导
在批准你使用该预览版后,Azure 认知搜索团队将会提供 Azure 门户链接,该链接会使用功能标志,以便你可以访问 Power Query 连接器。 请打开此页面,并通过选择“导入数据”,从 Azure 认知搜索服务页中的命令栏中启动该向导。
步骤 3 – 选择数据源
使用此预览版时,可以从几个数据源拉取数据。 所有使用 Power Query 的数据源都将在它们的磁贴上包含“由 Power Query 提供支持”。 选择数据源。
在选择了数据源后,请选择“下一步: 配置数据”,以进行到下一部分。
步骤 4 – 配置数据
在此步骤中,你将配置连接。 每个数据源都会需要不同的信息。 对于有些数据源,Power Query 文档提供了有关如何连接到数据的更详细信息。
在提供了连接凭据后,请选择“下一步”。
步骤 5 – 选择数据
导入向导将会预览数据源中可用的各个表。 在这一步中,你将检查一个表,其中包含要导入到索引中的数据。
在选择了表后,请选择“下一步”。
步骤 6 – 转换数据(可选)
Power Query 连接器提供丰富的 UI 体验,让你能够操作数据,以便可以将正确的数据发送到索引。 可以删除列、筛选行,还可以进行很多其他操作。
无需先转换数据,再将数据导入 Azure 认知搜索。
若要详细了解如何使用 Power Query 转换数据,请参阅使用 Power BI Desktop 中的 Power Query。
转换数据后,选择“下一步”。
步骤 7 – 添加 Azure Blob 存储
Power Query 连接器预览版目前需要提供 Blob 存储帐户。 此步骤只对初始封闭预览版存在。 此 Blob 存储帐户将充当从数据源移动到 Azure 认知搜索索引的数据的临时存储。
建议提供完全访问权限存储帐户连接字符串:
{ "connectionString" : "DefaultEndpointsProtocol=https;AccountName=<your storage account>;AccountKey=<your account key>;" }
可通过导航到“存储帐户”边栏选项卡 >“设置”>“密钥”(对于经典存储帐户)或“设置”>“访问密钥”(对于 Azure 资源管理器存储帐户),从 Azure 门户获取连接字符串。
在提供了数据源名称和连接字符串后,请选择“下一步: 添加认知技能(可选)”。
步骤 8 – 添加认知技能(可选)
AI 扩充是索引器扩展,可用于使内容更具可搜索性。
可以添加任何能为你的方案带来好处的扩充内容。 在完成后,请选择“下一步: 自定义目标索引”。
步骤 9 – 自定义目标索引
在“索引”页上,应该会看到字段列表,列表中带有数据类型和一系列用于设置索引属性的复选框。 向导可以通过源数据采样,基于元数据生成字段列表。
可以通过选中属性列顶部的复选框,来批量选择属性。 对于应该返回给客户端应用并且需要接受全文搜索处理的每个字段,请选择“可检索”和“可搜索”。 你会注意到,无法对整数进行全文搜索或模糊搜索(数字按原义评估,通常在筛选器中使用)。
有关详细信息,请查看索引属性和语言分析器的说明。
花费片刻时间来检查所做的选择。 在运行向导后,会创建物理数据结构,届时,除非删除并重新创建所有对象,否则无法编辑这些字段的大多数属性。
在完成后,请选择“下一步: 创建索引器”。
步骤 10 – 创建索引器
最后一步是创建索引器。 为索引器命名可让它作为独立的资源存在,无论在同一向导序列中创建了哪种索引和数据源对象,都可以计划和管理该索引器。
“导入数据”向导的输出是索引器,它抓取数据源并将所选内容导入到 Azure 认知搜索中的某个索引中。
在创建索引器时,可以选择按计划运行该索引器并添加更改检测。 若要添加更改检测,请指定“高水印”列。
在填写完此页面后,请选择“提交”。
高使用标记更改检测策略
此更改检测策略依赖于对版本或行的上次更新时间进行捕获的一个“高使用标记”列。
要求
- 所有插入都为列指定一个值。
- 对某个项目的所有更新也会更改该列的值。
- 此列的值随每次插入或更新而增加。
不支持的列名称
Azure 认知搜索索引中的字段名称必须满足特定的要求。 其中一个要求是不允许使用有些字符(如“/”)。 如果数据库中的列名不符合这些要求,索引架构检测不会将列识别为有效字段名称,并且你将不会看到该列作为索引的建议字段列出。 通常,使用字段映射可以解决此问题,但门户不支持字段映射。
若要为表中使用不受支持的字段名称的列的内容编制索引,请在导入数据过程的“转换数据”阶段中重命名该列。 例如,可以将名为“计费代码/邮政编码”的列重命名为“zipcode”。 通过重命名列,索引架构检测会将其识别为有效字段名称,并将其作为建议添加到索引定义。
后续步骤
本文介绍了如何使用 Power Query 连接器拉取数据。 由于此预览版功能已停止,因此还介绍了如何将现有解决方案迁移到受支持的方案。
若要详细了解索引器,请参阅 Azure 认知搜索中的索引器。