使用ADF Web Activity向Azure表存储插入实体时的认证问题
SAS令牌权限与资源类型不匹配
确认SAS令牌包含Table资源类型(srt=t)和写入权限(sp=w):账户级SAS需覆盖表存储权限,服务级SAS要指定目标表的写入权限;同时检查令牌的st(开始时间)和se(结束时间),确保当前时间在有效期范围内。请求URL格式错误
插入实体的URL必须严格遵循格式:https://<存储账户名>.table.core.windows.net/<表名>(PartitionKey='<分区键>',RowKey='<行键>'),注意PartitionKey和RowKey用单引号包裹,实体路径整体用括号括住,不要遗漏任何符号。Authorization头格式错误
使用SAS令牌时,Authorization头的值应为SharedAccessSignature <SAS令牌>,且SAS令牌不能带开头的?符号。例如SAS令牌为sv=2023-11-03&ss=t&srt=t&sp=w&se=2024-05-01T00:00:00Z&st=2024-04-01T00:00:00Z&spr=https&sig=xxx,则头值需写为SharedAccessSignature sv=2023-11-03&ss=t&srt=t&sp=w&se=2024-05-01T00:00:00Z&st=2024-04-01T00:00:00Z&spr=https&sig=xxx。缺失必要请求头
必须指定Content-Type为application/json或application/atom+xml(匹配请求体格式);同时添加Accept头为application/json(JSON格式请求场景),部分情况下缺失该头会触发认证逻辑异常。请求体格式不符合要求
JSON格式的请求体必须包含PartitionKey和RowKey字段,其他字段需符合表存储数据类型要求,示例:{ "PartitionKey": "myPartition", "RowKey": "myRow", "MyColumn": "testValue" }
内容的提问来源于stack exchange,提问作者BS12

