ssis - 将图像从 SQL 图像字段复制到 Azure Blob 存储作为 blob 块
问题描述
我有一个 SQL 表,其中存储了很多图像,结构如下:
CREATE TABLE [dbo].[DocumentsContent](
[BlobName] [varchar](33) NULL,
[Content] [varbinary](max) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
我需要将所有图像从数据库复制到 Azure Blob。问题是有 3TB 的图像,所以一个将一个一个地读取它们(从 SQL)并复制到 Azure 的脚本不是理想的解决方案。
我已经尝试过使用SSIS和Data Factory,但是两者都只创建一个包含所有信息的文件,而不是我需要的每一行的一个文件(或者至少按照我的方式)。
有什么工具可以在适当的时候做吗?或者有什么方法可以为此使用 SSIS 或数据工厂?
谢谢!
解决方案
您可以使用 Azure 数据工厂中的 2 个活动来实现它:
- 使用查找活动来获取行数
- 使用以行数作为输入的 foreach 活动,并且由于每一行都是独立的,因此您可以保持启用并行执行。
在 foreach 中,使用源为 SQL 的复制活动,过滤条件为行号,目标为 blob。
这将为每一行生成单独的文件并并行发生
推荐阅读
- c++ - 如何使用 LiquidCrystal 在 Arduino 中创建我自己的库?
- javascript - ReactJS 对象过滤器在 componentDidMount 上未定义
- python - 将图像插入到 libdoc 生成的文档中
- django - django postgres 集成错误,没有这样的表 - auth 用户
- r - 分配给 foreach 和 doParallel 中的公共变量
- jsp - c:set 变量的数学运算
- python - WSGI: ImportError: No module named hello (module in the same directory of the main .py file)
- arrays - 转置 3D 数组并乘以元素内存连续性
- android - 以拆分 apk 形式发布到 playtore 后应用程序无法正常工作
- python - Django在不同进程中处理数据