View a markdown version of this page

操作连接器 API - Amazon Quick

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

操作连接器 API

操作连接器 API 允许您以编程方式创建和管理 Amazon Quick 与外部服务之间的连接。这些 API 支持操作集成功能,允许用户直接通过 Amazon Quick 聊天界面和自动工作流程在第三方应用程序中执行操作。

什么是操作连接器 API?

操作连接器是支持与第一方和第三方应用程序集成的基础资源。通过这些 API,您可以对应用程序进行身份验证、管理权限并控制用户可以在 Amazon Quick 应用程序中执行哪些操作。

操作连接器 API 如何支持动作集成

操作连接器 API 为 Amazon 快速操作集成提供了后端基础架构。当你通过 API 创建操作连接器时,你会建立一个安全的连接,让你:

  • 通过聊天界面在外部服务中执行操作。

  • 在后台流程中执行自动化工作流程。

  • 将第三方服务与 Amazon Quick 应用程序集成。

  • 管理身份验证和服务访问权限。

这些 API 处理安全连接 Amazon Quick 与外部服务所需的复杂身份验证流程、证书管理和权限控制。

身份验证方法

操作连接器 API 支持多种身份验证方法,以适应不同的用例和安全要求:

托管身份验证 (3LO)

Three-Legged OAuth 为个人访问第三方服务提供了最简单的设置:

  • 无需初始配置。

  • User-specific 通过服务提供商登录进行身份验证。

  • 自动刷新令牌,生命周期为 90 天。

  • 由 Amazon Quick 管理的安全凭证存储。

Service-to-service 身份验证 (2LO)

对于复杂的企业集成:

  • 支持客户端凭证 OAuth 流程。

  • 启用系统间交互。

  • 需要客户端 ID、客户端密钥和令牌 URL 配置。

  • 适用于需要复杂安全性的自动化工作流程。

  • OAuth-动态客户端注册(DCR-仅适用于选定的 MCP 服务器)。

API 密钥身份验证

简化了自动化工作流程的身份验证:

  • 基于单一令牌的身份验证。

  • Service-level 权限。

  • 非常适合后台进程和计划操作。

  • 需要来自目标服务的有效 API 密钥。

基本身份验证

基本身份验证提供了一种简单的 username/password 身份验证方法:

  • 使用标准的 HTTP 基本身份验证标头。

  • 凭证采用 base64 编码。

  • 适用于不支持 OAuth 或 API 密钥的服务。

  • 需要安全的 HTTPS 连接。

  • 不建议用于面向公众的服务。

无需身份验证:

  • 用于公共 API 和服务。

  • 无需凭证或令牌。

  • 仅限于只读或公共操作。

  • 通常用于公共数据源和文档。

  • 不应用于敏感操作。

权限和访问控制

操作连接器 API 通过访问控制列表 (ACL) 实现全面的权限控制:

Resource-level 权限

  • 所有者-完全控制,包括删除和权限管理。

  • 贡献者-可以使用和修改连接器设置。

  • Viewer-可以查看连接器详细信息并使用已启用的操作。

用于权限管理的 API 操作

  • DescribeActionConnectorPermissions-检索当前权限设置。

  • UpdateActionConnectorPermissions-授予或撤消用户权限。

支持的连接器类别

Dual-purpose 连接器

这些连接器支持操作集成和知识库创建:

  • Amazon S3-使用管理控制台为文件操作创建操作,使用 web 应用程序从 S3 内容创建知识库。

  • 微软 SharePoint-文档管理操作、内容索引。

  • OneDrive-文件操作、文档搜索功能。

  • Confluence-内容创建操作、知识库集成。

Action-only 连接器

专门用于在没有知识库功能的情况下执行动作:

  • Salesforce-企业 CRM 集成,支持客户和联系人操作、自定义对象 CRUD 操作、销售流程自动化。

  • JIRA-问题跟踪和项目管理。

  • 微软 Outlook-发送电子邮件、管理日历活动、访问联系人。

  • Slack-通信和通知工作流程。

  • ServiceNow-IT 服务管理操作。

  • Zendesk-创建工单、更新案例、搜索知识库。

  • PagerDuty-创建事件、管理升级、更新待命时间表。

  • Asana-创建操作、更新项目、管理团队工作流程。

  • BambooHR-访问员工数据,管理休假申请。

  • Smartsheet-更新工作表,管理项目数据。

  • FactSet-访问财务数据,生成报告。

  • SAP-访问 SAP 系统、执行业务职能和管理企业数据。

仅限知识库的连接器

专注于没有操作功能的知识库集成:

  • Google 云端硬盘-文档索引和搜索。

  • 网络爬虫-内容发现和索引。

API 生命周期管理

凭证管理

  • OAuth 操作连接器的自动刷新令牌处理。

  • 使用安全存储身份验证凭据 AWS KMS。

  • Support 支持凭证轮换和更新。

  • Cross-account 访问 Amazon S3 连接器。

连接更新

使用 UpdateActionConnector API 执行以下操作:

  • 修改身份验证凭据。

  • 更新服务配置参数。

  • 更改操作连接器元数据。

监控和排查

  • 通过 CloudWatch 指标跟踪 API 使用情况。

  • 监控连接运行状况和身份验证状态。

  • 针对常见故障场景实现错误处理。

  • 使用验证 API 来诊断配置问题。

速率限制和配额

操作连接器 API 实现了标准 AWS 的 API 速率限制:

  • 标准 AWS API 限制适用于所有操作。

  • 连接验证可能有其他限制。

  • 操作执行率取决于目标服务能力。

  • 为重试逻辑实现指数退避。

Cross-account 支持

对于 Amazon S3 连接器,这些 API 支持跨账户访问:

  • 在创建连接器期间指定不同的 AWS 账户 ID。

  • 为跨账户访问配置适当的 IAM 权限。

  • AWS KMS 用于跨账户的安全凭证管理。

  • 在启用跨账户连接之前验证权限。

错误处理和故障排除

操作连接器 API 返回标准 AWS 错误响应:

常见错误类型

  • AccessDeniedException-操作权限不足。

  • InvalidParameterValueException-一个或多个参数值对该操作无效。

  • 配置参数无效- Service-specific 配置值不正确或缺失。

  • ResourceNotFoundException-未找到连接器或资源。

  • ThrottlingException-已超过速率限制。

  • ConflictException-资源冲突或名称重复。

  • InternalFailureException-请求处理过程中出现内部服务错误。

  • ResourceExistsException-尝试创建已存在的资源。

  • InvalidNextTokenException-提供的分页令牌无效或已过期。

  • AccessTokenNotFoundException-用户需要授权连接(即登录按钮)。UX 使用此异常来请求用户授权。

  • TokenResponseException-操作设置无效。

在应用程序中实施适当的错误处理,以优雅地管理这些场景并为用户提供有意义的反馈。

将操作连接器 API 与 AWS CLI 配合使用

您可以使用 AWS CLI 以编程方式管理操作连接器。以下示例演示了使用通用占位符值的常见操作。

创建操作连接器

使用create-action-connector命令创建用于与外部服务集成的新操作连接器。

aws quicksight create-action-connector \ --aws-account-id "123456789012" \ --name "MyS3Connector" \ --action-connector-id "my-s3-connector-id" \ --type "AMAZON_S3" \ --authentication-config '{ "AuthenticationType": "IAM", "AuthenticationMetadata": { "IamConnectionMetadata": { "RoleArn": "arn:aws:iam::123456789012:role/MyConnectorRole" } } }' \ --enabled-actions "CreateBucket" "ListBuckets" \ --description "S3 connector for automation workflows" \ --region "us-east-1"

列出操作连接器

使用list-action-connectors命令检索您账户中的所有操作连接器。

aws quicksight list-action-connectors \ --aws-account-id "123456789012" \ --max-results 10 \ --region "us-east-1"

描述操作连接器

使用describe-action-connector命令获取有关特定操作连接器的详细信息。

aws quicksight describe-action-connector \ --aws-account-id "123456789012" \ --action-connector-id "my-s3-connector-id" \ --region "us-east-1"

更新操作连接器

使用update-action-connector命令修改现有操作连接器的配置。

aws quicksight update-action-connector \ --aws-account-id "123456789012" \ --action-connector-id "my-s3-connector-id" \ --name "UpdatedS3Connector" \ --authentication-config '{ "AuthenticationType": "IAM", "AuthenticationMetadata": { "IamConnectionMetadata": { "RoleArn": "arn:aws:iam::123456789012:role/UpdatedConnectorRole" } } }' \ --enabled-actions "CreateBucket" "ListBuckets" "DeleteBucket" \ --region "us-east-1"

搜索操作连接器

使用search-action-connectors命令根据特定条件查找操作连接器。

aws quicksight search-action-connectors \ --aws-account-id "123456789012" \ --max-results 5 \ --filters '[{ "Name": "ACTION_CONNECTOR_NAME", "Operator": "StringLike", "Value": "S3" }]' \ --region "us-east-1"

管理操作连接器权限

使用update-action-connector-permissions命令授予或撤消操作连接器的权限。

aws quicksight update-action-connector-permissions \ --aws-account-id "123456789012" \ --action-connector-id "my-s3-connector-id" \ --grant-permissions '[{ "Actions": [ "quicksight:DescribeActionConnector", "quicksight:UpdateActionConnector", "quicksight:DeleteActionConnector" ], "Principal": "arn:aws:quicksight:us-east-1:123456789012:user/default/myuser" }]' \ --region "us-east-1"

查看操作连接器权限

使用describe-action-connector-permissions命令查看操作连接器的当前权限。

aws quicksight describe-action-connector-permissions \ --aws-account-id "123456789012" \ --action-connector-id "my-s3-connector-id" \ --region "us-east-1"

删除操作连接器

使用delete-action-connector命令从您的账户中删除操作连接器。

aws quicksight delete-action-connector \ --aws-account-id "123456789012" \ --action-connector-id "my-s3-connector-id" \ --region "us-east-1"

后续步骤

了解操作连接器 API 后,您可以:

  • 查看完整的 API 参考文档,了解详细的参数规范。

  • 浏览目标服务的特定连接器设置指南。

  • 实施适合您的用例的身份验证流程。

  • 为生产部署设置监控和错误处理。

  • 为您的组织配置权限和访问控制。