Desenvolvimento de aplicações com a API do Amazon QuickSight - Amazon QuickSight

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Desenvolvimento de aplicações com a API do Amazon QuickSight

É possível gerenciar a maioria dos aspectos da implantação ao usar os AWS SDKs para acessar uma API adaptada à linguagem de programação ou à plataforma que você está usando. Para obter mais informações, consulte AWS SDKs.

Para obter mais informações sobre as operações de API, consulte a referência de APIs do Amazon QuickSight.

Antes de chamar as operações de API do Amazon QuickSight, você precisa da permissão quicksight:operation-name em uma política anexada à sua identidade do IAM. Por exemplo, para chamar list-users, você precisa da permissão quicksight:ListUsers. O mesmo padrão se aplica a todas as operações.

Se não tiver certeza de qual é a permissão necessária, você pode tentar fazer uma chamada. O cliente informará qual é a permissão ausente. Você pode usar o símbolo de asterisco (*) no campo Recurso da política de permissão em vez de especificar recursos explícitos. No entanto, recomendamos restringir cada permissão o máximo possível. É possível restringir o acesso do usuário ao especificar ou ao excluir recursos na política, usando o identificador do nome do recurso da Amazon (ARN) do Amazon QuickSight.

Para obter mais informações, consulte as informações a seguir.

Para recuperar o ARN de um usuário ou grupo, use a operação Describe no recurso relevante. Você também pode adicionar condições ao IAM para restringir ainda mais o acesso a uma API em alguns cenários. Por exemplo, ao adicionar o User1 ao Group1, o recurso principal é o Group1, portanto, você pode permitir ou negar o acesso a determinados grupos, mas também pode adicionar uma condição usando a chave do IAM para o Amazon QuickSight quicksight:UserName para permitir ou impedir que determinados usuários sejam adicionados a esse grupo.

Veja abaixo um exemplo de política. Isso significa que o autor da chamada com essa política vinculada pode invocar a operação CreateGroupMembership em qualquer grupo, desde que o nome do usuário que ele está adicionando ao grupo não seja user1.

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

O procedimento apresentado a seguir explica como interagir com as operações da API do Amazon QuickSight por meio da AWS CLI. As instruções a seguir foram testadas em Bash, mas devem ser idênticas ou semelhantes em outros ambientes de linha de comando.

  1. Instale o AWS SDK em seu ambiente. As instruções sobre como fazer isso estão localizadas aqui: AWS Command Line Interface.

  2. Configure a identidade e a região da AWS CLI usando o comando apresentado a seguir e as instruções de acompanhamento. Use as credenciais de uma identidade ou função do IAM que tenha as permissões apropriadas.

    aws configure
  3. Consulte a ajuda do SDK do Amazon QuickSight ao emitir o seguinte comando:

    aws quicksight help
  4. Para obter instruções detalhadas sobre como usar uma API, insira seu nome seguido por “help” (ajuda), da seguinte forma:

    aws quicksight list-users help
  5. Agora, é possível chamar uma operação de API do Amazon QuickSight. Este exemplo retorna uma lista de usuários do Amazon QuickSight em sua conta.

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

Use o procedimento a seguir para configurar uma aplicação em Java que interaja com o Amazon QuickSight.

  1. Para começar, crie um projeto Java em seu IDE.

  2. Importe o SDK do Amazon QuickSight para seu novo projeto, por exemplo: AWSQuickSightJavaClient-1.11.x.jar

  3. Depois que seu IDE indexar o SDK do Amazon QuickSight, você poderá adicionar uma linha de importação da seguinte maneira:

    import com.amazonaws.services.quicksight.AmazonQuickSight;

    Se o IDE não reconhecer isso como válido, verifique se você importou o SDK.

  4. De forma semelhante a outros AWS SDKs, o SDK do Amazon QuickSight requer dependências externas para executar muitas de suas funções. Você precisará fazer download e importá-las para o mesmo projeto. As seguintes dependências são obrigatórias:

  5. Agora, você está com tudo pronto para criar um cliente do Amazon QuickSight. Você pode usar um endpoint público padrão com o qual o cliente possa se comunicar ou pode fazer referência explícita ao endpoint. Existem diversas maneiras de fornecer as credenciais da AWS. No exemplo a seguir, fornecemos uma abordagem simples e direta. O seguinte método do cliente é usado para fazer todas as chamadas de API a seguir:

    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. Agora, é possível usar o cliente acima para listar todos os usuários em nossa conta do Amazon QuickSight.

    nota

    Você precisa fornecer o ID da conta da AWS que usou para se tornar assinante do Amazon QuickSight. Ele deve corresponder ao ID da conta da AWS da identidade do chamador. As chamadas entre contas não são compatíveis no momento. Além disso, o parâmetro obrigatório namespace sempre deve ser definido como default.

    getClient().listUsers(new ListUsersRequest() .withAwsAccountId("relevant_AWS_account_ID") .withNamespace("default")) .getUserList().forEach(user -> { System.out.println(user.getArn()); });
  7. Para visualizar uma lista de todas as operações de API possíveis e os objetos de solicitação que elas usam, você pode clicar com a tecla CTRL pressionada no objeto do cliente em seu IDE para visualizar a interface do Amazon QuickSight. Como alternativa, encontre essas informações no pacote com.amazonaws.services.quicksight no arquivo em JAR JavaClient do Amazon QuickSight.

JavaScript (Node.js) SDK

Use o procedimento a seguir para interagir com o Amazon QuickSight usando Node.js.

  1. Configure o ambiente do nó usando os seguintes comandos:

    • npm install aws-sdk

    • npm install aws4

    • npm install request

    • npm install url

  2. Para obter mais informações sobre como configurar o Node.js com o AWS SDK e definir suas credenciais, consulte Guia do desenvolvedor do AWS SDK for JavaScript para o SDK v2.

  3. Use o exemplo de código a seguir para testar sua configuração. O HTTPS é obrigatório. O exemplo exibe uma lista completa de operações do Amazon QuickSight em conjunto com seus parâmetros de solicitação de URL. Em seguida, é mostrado uma lista de usuários do Amazon QuickSight em sua conta.

    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

Use o procedimento a seguir para criar um pacote personalizado botocore para interagir com o Amazon QuickSight.

  1. Crie um arquivo de credenciais no diretório da AWS para o seu ambiente. Em um ambiente Linux/Mac, esse arquivo se chama ~/.aws/credentials e é semelhante a:

    [default] aws_access_key_id = Your_IAM_access_key aws_secret_access_key = Your_IAM_secret_key
  2. Descompacte a pasta botocore-1.12.10. Altere o diretório em botocore-1.12.10 e entre no ambiente do interpretador Python3.

  3. As respostas voltam como um objeto de dicionário. Cada uma delas tem uma entrada ResponseMetadata que contém IDs de solicitação e status de resposta. As outras entradas dependerão do tipo de operação que você executar.

  4. O exemplo a seguir mostra um exemplo de aplicação que primeiro cria, exclui e lista grupos. Em seguida, ela lista os usuários em uma conta do 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

Use o procedimento a seguir para interagir com o Amazon QuickSight usando C#.NET. Este exemplo foi criado no Microsoft Visual para Mac; as instruções podem variar com base no IDE e na plataforma. No entanto, elas devem ser semelhantes.

  1. Descompacte o arquivo nuget.zip em uma pasta chamada nuget.

  2. Crie um novo projeto chamado Console app no Visual Studio.

  3. Em sua solução, localize as Dependencies (Dependências) da aplicação e, em seguida, abra o contexto (clique com o botão direito no menu) e selecione Add Packages (Adicionar pacotes).

  4. Na lista de fontes, escolha Configure Sources (Configurar fontes).

  5. Escolha Add (Adicionar) e dê o nome QuickSightSDK à fonte. Acesse a pasta nuget e escolha Add Source (Adicionar fonte).

  6. Escolha OK. Em seguida, com QuickSightSDK selecionado, selecione todos os três pacotes do Amazon QuickSight:

    • AWSSDK.QuickSight

    • AWSSDK.Extensions.NETCore.Setup

    • AWSSDK.Extensions.CognitoAuthentication

  7. Clique em Add Package (Adicionar pacote).

  8. Copie e cole o seguinte exemplo de aplicação no editor de aplicação de console.

    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) ); } } }