You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure上SSIS Runtime读取Blob存储JSON密钥文件报错问题

问题场景与报错

在Visual Studio中使用KingswaySoft SSIS Productivity Pack运行本地SSIS集成任务,目标是从Google Analytics拉取数据并存入SQL数据库。本地使用本地JSON密钥文件时运行正常,但将该文件上传至Azure Blob存储并通过SAS URL访问时,出现以下报错:

SSIS Productivity Pack (v23.2.0.25101)

KingswaySoft.IntegrationToolkit.ProductivityPack.GoogleServices.GoogleAnalyticsServiceException: An error occurred when attempting to retrieve tokens.Invalid JSON Key file. (SSIS Productivity Pack, v23.2.0.25101 - devenv, v17.7.34031.279)System.Exception

: Invalid JSON Key file.

已完成的排查操作
  • 本地JSON密钥文件验证正常,重新上传并下载后确认文件未损坏
  • 尝试使用共享文件存储代替Azure Blob,仍出现相同报错
  • 验证SAS URL返回的内容为无效JSON,但本地文件本身JSON格式合法
  • 通过Python脚本检测下载后的文件编码为UTF-8,排除编码问题
针对性解决方案

1. 检查SAS URL的权限与有效性

确保生成SAS URL时授予了Blob的读取(Read)权限,且URL未过期。权限不足或过期会导致返回权限错误页面而非JSON内容,被识别为无效JSON。

2. 修正Blob的内容类型

上传JSON文件到Azure Blob时,默认内容类型可能为application/octet-stream,部分工具解析时会出现异常。在Azure Portal中找到对应Blob,进入「属性」页面,将内容类型修改为application/json后重试。

3. 直接验证SAS URL返回内容

通过浏览器或curl命令访问SAS URL,查看返回的是否为完整的JSON文本。如果返回HTML错误页面(如权限提示、资源不存在),需重新生成正确的SAS URL。

4. 调整密钥文件的加载方式

若KingswaySoft组件对远程SAS URL的JSON解析存在兼容问题,可尝试两种替代方案:

  • 将JSON密钥存入Azure Key Vault,通过KingswaySoft的Azure Key Vault组件读取密钥内容,再传递给Google Analytics数据源
  • 在SSIS包中添加Azure Blob Source组件,先将Blob中的JSON文件下载到本地临时路径,再让Google Analytics组件读取本地临时文件

5. 检查文件换行符格式

本地Windows系统的JSON文件使用CRLF换行符,上传到Blob后可能被转换为LF,部分严格解析器可能受影响。可将本地文件转换为LF换行符后重新上传测试。

内容的提问来源于stack exchange,提问作者MnLsVt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 18:42:38