기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon을 사용하여 애플리케이션 개발 QuickSight API
를 AWS SDKs 사용하여 사용 중인 프로그래밍 언어 또는 플랫폼에 맞게 조정API된 에 액세스하여 배포의 대부분의 측면을 관리할 수 있습니다. 자세한 내용은 AWS SDKs를 참조하세요.
API 작업에 대한 자세한 내용은 Amazon QuickSight API 참조를 참조하세요.
Amazon QuickSight API 작업을 호출하려면 먼저 IAM 자격 증명에 연결된 정책의 quicksight:operation-name
권한이 필요합니다. 예를 들어 list-users
을(를) 직접 호출하려면 quicksight:ListUsers
권한이 필요합니다. 모든 작업에 같은 패턴이 적용됩니다.
필요한 권한이 무엇인지 확실하지 않은 경우, 직접 호출해 볼 수 있습니다. 그러면 클라이언트가 누락된 권한이 무엇인지 알려줍니다. 명시적인 리소스를 지정하는 대신 권한 정책의 리소스 필드에 별표(*
)를 사용할 수 있습니다. 하지만 각 권한을 최대한 제한할 것을 권장합니다. Amazon QuickSight Amazon 리소스 이름(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 Amazon QuickSight API 작업과 상호 작용하는 방법을 설명합니다CLI. 다음 명령은 Bash에서 테스트가 되었지만, 다른 명령줄 환경에서도 같거나 비슷할 것입니다.
-
환경에 를 설치합니다 AWS SDK. 이 작업을 수행하는 방법에 대한 지침은 AWS 명령줄 인터페이스 에서 확인할 수 있습니다.
-
다음 명령 및 후속 지침을 사용하여 자격 증명과 리전을 설정합니다 AWS CLI. 적절한 권한이 있는 IAM 자격 증명 또는 역할에 자격 증명을 사용합니다.
aws configure
-
다음 명령을 실행하여 Amazon QuickSight SDK 도움말을 확인합니다.
aws quicksight help
-
를 사용하는 방법에 대한 자세한 지침을 보려면 다음과 같이 이름을 입력한 다음 도움말을 API입력합니다.
aws quicksight list-users help
-
이제 Amazon QuickSight API 작업을 호출할 수 있습니다. 이 예제에서는 계정의 Amazon QuickSight 사용자 목록을 반환합니다.
aws quicksight list-users --aws-account-id aws-account-id
--namespace default --region us-east-1
- Java SDK
-
다음 절차에 따라 Amazon 와 상호 작용하는 Java 앱을 설정합니다 QuickSight.
-
시작하려면 에서 Java 프로젝트를 생성합니다IDE.
-
Amazon QuickSight SDK을 새 프로젝트로 가져옵니다. 예: AWSQuickSightJavaClient-1.11.x.jar
-
가 Amazon 를 인IDE덱싱하면 다음과 같이 가져오기 라인을 추가할 수 QuickSight SDK있습니다.
import com.amazonaws.services.quicksight.AmazonQuickSight;
이를 유효한 것으로 인식하지 IDE 못하면 를 가져왔는지 확인합니다SDK.
-
다른 와 마찬가지로 AWS SDKsAmazon QuickSight SDK은 많은 함수를 수행하기 위해 외부 종속성이 필요합니다. 외부 종속 프로그램은 다운로드를 하여 같은 프로젝트에 가져와야 합니다. 다음과 같은 종속 프로그램이 필요합니다.
-
이제 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();
}
-
이제 위의 클라이언트를 사용하여 Amazon QuickSight 계정의 모든 사용자를 나열할 수 있습니다.
Amazon 를 구독하는 데 사용한 AWS 계정 ID를 제공해야 합니다 QuickSight. 이는 발신자 ID의 AWS 계정 ID와 일치해야 합니다. 현재는 교차 계정 호출이 지원되지 않습니다. 또한 필수 파라미터는 항상 로 설정되어야 namespace
합니다.default
.
getClient().listUsers(new ListUsersRequest()
.withAwsAccountId("relevant_AWS_account_ID
")
.withNamespace("default"))
.getUserList().forEach(user -> {
System.out.println(user.getArn());
});
-
가능한 모든 API 작업 목록과 해당 작업에서 사용하는 요청 객체를 보려면 에서 클라이언트 객체를 CTRL클릭하여 Amazon QuickSight 인터페이스를 IDE 볼 수 있습니다. 또는 Amazon QuickSight JavaClient JAR 파일의 com.amazonaws.services.quicksight
패키지 내에서 찾을 수 있습니다.
- JavaScript (Node.js) SDK
-
다음 절차에 따라 Node.js를 QuickSight 사용하여 Amazon과 상호 작용합니다.
-
다음 명령을 사용하여 노드 환경을 설정합니다.
-
npm install aws-sdk
-
npm install aws4
-
npm install request
-
npm install url
-
를 사용하여 AWS SDK Node.js를 구성하고 자격 증명을 설정하는 방법에 대한 자세한 내용은 vAWS SDK for JavaScript SDK2용 개발자 안내서-->를 참조하세요.
-
다음 코드 예제를 사용하여 설정을 테스트합니다. HTTPS 는 필수입니다. 샘플에는 URL 요청 파라미터와 함께 Amazon QuickSight 작업의 전체 목록이 표시된 다음 계정의 Amazon 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.
-
환경의 AWS 디렉터리에 보안 인증 파일을 생성합니다. 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
-
botocore-1.12.10
폴더를 압축 해제합니다. botocore-1.12.10
에 디렉터리를 변경하고 Python 3 인터프리터 환경에 들어갑니다.
-
응답은 딕셔너리 객체 형태로 반환됩니다. 각 항목에는 요청 IDs 및 응답 상태가 포함된 ResponseMetadata
항목이 있습니다. 다른 항목들은 실행하는 작업 유형에 따라 결정됩니다.
-
다음 예제는 먼저 그룹을 생성, 삭제 및 나열하는 샘플 앱입니다. 그런 다음, 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
-
다음 절차에 따라 C#을 QuickSight 사용하여 Amazon과 상호 작용합니다NET. 이 예제는 Microsoft Visual for Mac을 기반으로 구성되며 지침은 IDE 및 플랫폼에 따라 약간 다를 수 있습니다. 하지만 서로 비슷할 것입니다.
-
nuget.zip
파일을 nuget
라는 폴더에 풉니다.
-
Visual Studio에 콘솔 앱 프로젝트를 새로 생성합니다.
-
솔루션 아래에서 앱 종속성을 찾아서, 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) 패키지 추가를 선택합니다.
-
소스 목록에서 소스 구성을 선택합니다.
-
추가를 선택하고 QuickSightSDK
라고 소스 이름을 명명합니다. nuget
폴더를 검색하고 소스 추가를 선택합니다.
-
확인을 선택합니다. 그런 다음 를 QuickSightSDK
선택한 상태에서 세 개의 Amazon QuickSight 패키지를 모두 선택합니다.
-
패키지 추가를 클릭합니다.
-
다음 샘플 앱을 콘솔 앱 편집기에 복사하여 붙여 넣습니다.
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)
);
}
}
}