选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用 Amazon QuickSight API 开发应用程序

聚焦模式
使用 Amazon QuickSight API 开发应用程序 - Amazon QuickSight

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

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

您可以使用访问针对您正在使用的编程语言或平台量身定制的 API,从而管理部署的大部分方面。 AWS SDKs 有关更多信息,请参阅 AWS SDKs

有关 API 操作的更多信息,请参阅 Amazon QuickSight API 参考

在调用 Amazon QuickSight API 操作之前,您需要获得附加到您的 IAM 身份的策略中的quicksight:operation-name权限。例如,要调用 list-users,您需要 quicksight:ListUsers 权限。该模式适用于所有操作。

如果不确定所需的具体权限,您可以尝试进行调用。客户端会告诉您到底缺少什么权限。您可以在权限策略的“资源”字段中使用星号 (*),而非指定显式资源。不过,建议您尽量对每个权限施加限制。您可以使用用户的 Amazon A QuickSight mazon 资源名称 (ARN) 标识符在策略中指定或排除资源,从而限制用户访问。

有关更多信息,请参阅下列内容:

要检索用户或组的 ARN,请对相关资源使用 Describe 操作。您也可以在 IAM 中添加条件,以进一步限制在某些情况下对 API 的访问。例如,User1添加到时Group1,主要资源是Group1,因此您可以允许或拒绝访问某些群组,但也可以使用 IAM Amazon QuickSight 密钥添加条件,quicksight:UserName以允许或阻止将某些用户添加到该群组。

下面是一个示例策略。这意味着只要添加到组中的用户名不是 user1,附加该策略的调用方就能够在任意组上调用 CreateGroupMembership 操作。

{ "Effect": "Allow", "Action": "quicksight:CreateGroupMembership", "Resource": "arn:aws:quicksight:us-east-1:aws-account-id:group/default/*", "Condition": { "StringNotEquals": { "quicksight:UserName": "user1" } } }
AWS CLI

以下过程说明了如何通过 AWS CLI 与 Amazon QuickSight API 操作进行交互。以下说明已在 Bash 中进行测试,在其他命令行环境中应可取得相同或相似的效果。

  1. 在您的环境中安装 AWS SDK。有关如何执行该操作的说明,请参阅 AWS 命令行界面

  2. 使用以下命令和后续说明设置您的 AWS CLI 身份和区域。使用具有适当权限的 IAM 身份或角色的凭证。

    aws configure
  3. 通过发出以下命令来查看 Amazon QuickSight SDK 的帮助:

    aws quicksight help
  4. 要获取有关如何使用 API 的详细说明,请输入 API 名称,然后输入 help,如下所示:

    aws quicksight list-users help
  5. 现在,您可以调用亚马逊 QuickSight API 操作了。此示例返回您账户中的亚马逊 QuickSight 用户列表。

    aws quicksight list-users --aws-account-id aws-account-id --namespace default --region us-east-1
Java SDK

使用以下步骤设置可与 Amazon QuickSight 交互的 Java 应用程序。

  1. 首先,在 IDE 中创建一个 Java 项目。

  2. 将 Amazon QuickSight SDK 导入到您的新项目中,例如:AWSQuickSightJavaClient-1.11.x.jar

  3. 在您的 IDE 为 Amazon QuickSight SDK 编制索引后,您应该能够按如下方式添加导入行:

    import com.amazonaws.services.quicksight.AmazonQuickSight;

    如果 IDE 未将其识别为有效名称,请确认是否已导入开发工具包。

  4. 与其他软件开发工具包一样 AWS SDKs,Amazon QuickSight SDK 需要外部依赖才能执行其许多功能。您需要将它们下载并导入到同一个项目中。以下依赖项是必需的:

  5. 现在,您已准备好创建 Amazon QuickSight 客户端。您可以使用客户端能够与之通信的默认公有终端节点,也可以显式引用该终端节点。提供 AWS 凭证的方法有多种。在以下示例中,我们提供一种直接、简单的方法。以下客户端方法用于进行下面所有的 API 调用:

    private static AmazonQuickSight getClient() { final AWSCredentialsProvider credsProvider = new AWSCredentialsProvider() { @Override public AWSCredentials getCredentials() { // provide actual IAM access key and secret key here return new BasicAWSCredentials("access-key", "secret-key"); } @Override public void refresh() {} }; return AmazonQuickSightClientBuilder .standard() .withRegion(Regions.US_EAST_1.getName()) .withCredentials(credsProvider) .build(); }
  6. 现在,我们可以使用上述客户端列出我们 Amazon QuickSight 账户中的所有用户。

    注意

    您必须提供订阅 Amazon 时使用的 AWS 账户编号 QuickSight。这必须与来电者身份的 AWS 账户 ID 相匹配。目前,不支持跨账户调用。此外,必需的参数namespace应始终设置为default

    getClient().listUsers(new ListUsersRequest() .withAwsAccountId("relevant_AWS_account_ID") .withNamespace("default")) .getUserList().forEach(user -> { System.out.println(user.getArn()); });
  7. 要查看所有可能的 API 操作及其使用的请求对象的列表,您可以按住 Ctrl 键单击 IDE 中的客户端对象,以查看 Ama QuickSight zon 界面。或者,也可以在com.amazonaws.services.quicksight包内的 Amazon QuickSight JavaClient JAR 文件中找到它。

JavaScript (Node.js) SDK

使用以下步骤 QuickSight 通过 Node.js 与亚马逊互动。

  1. 使用以下命令设置节点环境:

    • npm install aws-sdk

    • npm install aws4

    • npm install request

    • npm install url

  2. 有关使用 AWS SDK 配置 Node.js 和设置凭据的信息,请参阅-> S DK v AWS SDK for JavaScript 2 开发者指南

  3. 使用下面的代码示例测试设置。必须使用 HTTPS。该示例显示了亚马逊 QuickSight 操作的完整列表及其网址请求参数,然后是您账户中的亚马逊 QuickSight 用户列表。

    const AWS = require('aws-sdk'); const https = require('https'); var quicksight = new AWS.Service({ apiConfig: require('./quicksight-2018-04-01.min.json'), region: 'us-east-1', }); console.log(quicksight.config.apiConfig.operations); quicksight.listUsers({ // Enter your actual AWS account ID 'AwsAccountId': 'relevant_AWS_account_ID', 'Namespace': 'default', }, function(err, data) { console.log('---'); console.log('Errors: '); console.log(err); console.log('---'); console.log('Response: '); console.log(data); });
Python3 SDK

使用以下步骤创建用于与 Amazon 交互的定制botocore软件包 QuickSight。

  1. 在您的环境 AWS 目录中创建凭证文件。在 a Linux/Mac-based environment, that file is called ~/.aws/credentials 中看起来像这样:

    [default] aws_access_key_id = Your_IAM_access_key aws_secret_access_key = Your_IAM_secret_key
  2. 解压缩文件夹 botocore-1.12.10。将目录切换到 botocore-1.12.10,然后进入 Python3 解释器环境。

  3. 响应以字典对象的形式返回。它们都有一个包含请求 IDs 和响应状态的ResponseMetadata条目。其他条目基于您运行的操作类型。

  4. 下面是一个示例应用程序,它首先创建、删除和列出组,然后列出 QuickSight 账户中的用户:

    import botocore.session default_namespace = 'default' account_id = 'relevant_AWS_Account' session = botocore.session.get_session() client = session.create_client("quicksight", region_name='us-east-1') print('Creating three groups: ') client.create_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup1') client.create_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup2') client.create_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup3') print('Retrieving the groups and listing them: ') response = client.list_groups(AwsAccountId = account_id, Namespace=default_namespace) for group in response['GroupList']: print(group) print('Deleting our groups: ') client.delete_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup1') client.delete_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup2') client.delete_group(AwsAccountId = account_id, Namespace=default_namespace, GroupName='MyGroup3') response = client.list_users(AwsAccountId = account_id, Namespace=default_namespace) for user in response['UserList']: print(user)
.NET/C# SDK

使用以下步骤 QuickSight 通过 C#.NET 与亚马逊互动。该示例在 Microsoft Visual for Mac 上构建;根据您的 IDE 和平台,说明可能略有不同。但是,过程应该是相似的。

  1. nuget.zip 文件解压缩到名为 nuget 的文件夹。

  2. 在 Visual Studio 中创建一个新的控制台应用

  3. 在解决方案下,找到应用程序 Dependencies (依赖关系),然后打开上下文(右键单击)菜单并选择 Add Packages (添加包))。

  4. 在源列表中,选择 Configure Sources (配置源)

  5. 选择添加,然后将源命名为 QuickSightSDK。浏览到 nuget 文件夹,然后选择 Add Source (添加源)

  6. 选择确定。然后,在QuickSightSDK选中状态下,选择所有三个 Amazon QuickSight 套餐:

    • AWSSDK.QuickSight

    • AWSSDK.Extensions.NETCore.Setup

    • AWSSDK.Extensions.CognitoAuthentication

  7. 请单击添加包

  8. 将以下示例应用程序复制并粘贴到您的控制台应用编辑器中。

    using System; using Amazon.QuickSight.Model; using Amazon.QuickSight; namespace DotNetQuickSightSDKTest { class Program { private static readonly string AccessKey = "insert_your_access_key"; private static readonly string SecretAccessKey = "insert_your_secret_key"; private static readonly string AccountID = "AWS_account_ID"; private static readonly string Namespace = "default"; // leave this as default static void Main(string[] args) { var client = new AmazonQuickSightClient( AccessKey, SecretAccessKey, Amazon.RegionEndpoint.USEast1); var listUsersRequest = new ListUsersRequest { AwsAccountId = AccountID, Namespace = Namespace }; client.ListUsersAsync(listUsersRequest).Result.UserList.ForEach( user => Console.WriteLine(user.Arn) ); var listGroupsRequest = new ListGroupsRequest { AwsAccountId = AccountID, Namespace = Namespace }; client.ListGroupsAsync(listGroupsRequest).Result.GroupList.ForEach( group => Console.WriteLine(group.Arn) ); } } }

以下过程说明了如何通过 AWS CLI 与 Amazon QuickSight API 操作进行交互。以下说明已在 Bash 中进行测试,在其他命令行环境中应可取得相同或相似的效果。

  1. 在您的环境中安装 AWS SDK。有关如何执行该操作的说明,请参阅 AWS 命令行界面

  2. 使用以下命令和后续说明设置您的 AWS CLI 身份和区域。使用具有适当权限的 IAM 身份或角色的凭证。

    aws configure
  3. 通过发出以下命令来查看 Amazon QuickSight SDK 的帮助:

    aws quicksight help
  4. 要获取有关如何使用 API 的详细说明,请输入 API 名称,然后输入 help,如下所示:

    aws quicksight list-users help
  5. 现在,您可以调用亚马逊 QuickSight API 操作了。此示例返回您账户中的亚马逊 QuickSight 用户列表。

    aws quicksight list-users --aws-account-id aws-account-id --namespace default --region us-east-1
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。