CloudFormation配置AppFlow SharePoint自定义连接器:格式与ID错误排查
我之前遇到过同样的CloudFormation配置问题,分享几个关键的排查和修正点:
1. 修正subEntities的JSON格式
你的模板里subEntities的写法看似是JSON数组,但要注意AWS CustomConnector对SharePoint的要求是每个数组元素必须是driveId/folderId格式的字符串,且整个JSON字符串要保证在YAML中被正确解析。
正确的CloudFormation配置示例:
SourceFlowConfig: ApiVersion: v1.0 ConnectorProfileName: 'myPreviouslyCreatedConnector' ConnectorType: CustomConnector SourceConnectorProperties: CustomConnector: CustomProperties: # 数组元素为 driveId 与 folderId 用斜杠拼接的字符串 subEntities: '["valid-drive-id/valid-folder-id"]' EntityName: Microsoft SharePoint Online
如果要同步多个文件夹,直接在数组里追加元素即可,比如'["drive1/folder1", "drive2/folder2"]'。
2. 解决"Invalid drive Id/folder Id"报错
你用GET /drive/items/[ITEM ID]获取的ID可能不符合要求,需要确认两个ID的正确来源:
- driveId:必须是目标文档库对应的Drive ID,不是站点ID或其他资源ID。可以通过Graph API调用
GET /sites/{site-id}/drives获取(site-id可以是站点的URL或GUID),找到你要同步的文档库的id字段。 - folderId:是目标文件夹在上述drive下的专属ID,不是站点级的item ID。可以通过
GET /drives/{drive-id}/root:/{folder-full-path}?$select=id获取,比如文件夹路径是"Shared Documents/Project Files",接口会返回该文件夹在当前drive下的有效ID。
验证ID有效性:调用GET /drives/{drive-id}/items/{folder-id},如果能正常返回文件夹元数据,说明ID是正确的;返回404则说明ID错误。
3. 额外检查点
- 确保已创建的
ConnectorProfile拥有访问目标Drive和Folder的权限(授权时要选择对应的站点和文档库权限)。 - CloudFormation部署时,确认ConnectorProfile名称与模板中的
ConnectorProfileName完全一致(大小写敏感)。
内容的提问来源于stack exchange,提问作者Double Sept
相关产品推荐
相关产品推荐

