이 설명서는 의 버전 1 AWS CLI 전용입니다. 의 버전 2와 관련된 설명서는 버전 2 사용 설명서 를 AWS CLI참조하세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
를 사용한 Lake Formation 예제 AWS CLI
다음 코드 예제에서는 Lake Formation과 AWS Command Line Interface 함께 를 사용하여 작업을 수행하고 일반적인 시나리오를 구현하는 방법을 보여줍니다.
작업은 대규모 프로그램에서 발췌한 코드이며 컨텍스트에 맞춰 실행해야 합니다. 작업은 개별 서비스 함수를 직접적으로 호출하는 방법을 보여주며 관련 시나리오의 컨텍스트에 맞는 작업을 볼 수 있습니다.
각 예제에는 컨텍스트에서 코드를 설정하고 실행하는 방법에 대한 지침을 찾을 수 있는 전체 소스 코드에 대한 링크가 포함되어 있습니다.
주제
작업
다음 코드 예시에서는 add-lf-tags-to-resource
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
기존 리소스에 하나 이상의 LF 태그를 연결하려면
다음
add-lf-tags-to-resource
예제에서는 지정된 LF 태그를 테이블 리소스에 연결합니다.aws lakeformation add-lf-tags-to-resource \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "analyst" ] }] }
출력:
{ "Failures": [] }
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 카탈로그 리소스에 LF 태그 할당을 참조하세요.
-
자세한 API 내용은 명령 참조AddLfTagsToResource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 batch-grant-permissions
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
보안 주체에 리소스에 대한 권한을 대량 부여하려면
다음
batch-grant-permissions
예제 대량은 보안 주체에게 지정된 리소스에 대한 액세스 권한을 부여합니다.aws lakeformation batch-grant-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Entries": [{ "Id": "1", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] }, { "Id": "2", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_customer" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] }, { "Id": "3", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-business-analyst" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] }, { "Id": "4", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "DataCellsFilter": { "TableCatalogId": "123456789111", "DatabaseName": "tpc", "TableName": "dl_tpc_item", "Name": "developer_item" } }, "Permissions": [ "SELECT" ], "PermissionsWithGrantOption": [] } ] }
출력:
{ "Failures": [] }
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 카탈로그 리소스에 대한 권한 부여 및 취소를 참조하세요.
-
자세한 API 내용은 명령 참조BatchGrantPermissions
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 batch-revoke-permissions
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
보안 주체의 리소스에 대한 권한 대량 취소
다음
batch-revoke-permissions
예제 대량은 보안 주체로부터 지정된 리소스에 대한 액세스를 취소합니다.aws lakeformation batch-revoke-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Entries": [{ "Id": "1", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] }, { "Id": "2", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-business-analyst" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] } ] }
출력:
{ "Failures": [] }
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 카탈로그 리소스에 대한 권한 부여 및 취소를 참조하세요.
-
자세한 API 내용은 명령 참조BatchRevokePermissions
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 cancel-transaction
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
트랜잭션을 취소하려면
다음
cancel-transaction
예제에서는 트랜잭션을 취소합니다.aws lakeformation cancel-transaction \ --transaction-id='b014d972ca8347b89825e33c5774aec4'
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 내에서 데이터 레이크에서 읽기 및 쓰기를 참조하세요.
-
자세한 API 내용은 명령 참조CancelTransaction
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 commit-transaction
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
트랜잭션 커밋
다음
commit-transaction
예제에서는 트랜잭션을 커밋합니다.aws lakeformation commit-transaction \ --transaction-id='b014d972ca8347b89825e33c5774aec4'
출력:
{ "TransactionStatus": "committed" }
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 내에서 데이터 레이크에서 읽기 및 쓰기를 참조하세요.
-
자세한 API 내용은 명령 참조CommitTransaction
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-data-cells-filter
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
예제 1: 데이터 셀 필터를 생성하려면
다음
create-data-cells-filter
예제에서는 행 조건에 따라 특정 열에 대한 액세스 권한을 부여할 수 있도록 데이터 셀 필터를 생성합니다.aws lakeformation create-data-cells-filter \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "TableData": { "ColumnNames": ["p_channel_details", "p_start_date_sk", "p_promo_name"], "DatabaseName": "tpc", "Name": "developer_promotion", "RowFilter": { "FilterExpression": "p_promo_name='ese'" }, "TableCatalogId": "123456789111", "TableName": "dl_tpc_promotion" } }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Lake Formation 개발자 안내서의 Lake Formation의 데이터 필터링 및 셀 수준 보안을 참조하세요. AWS
예제 2: 열 필터 생성
다음
create-data-cells-filter
예제에서는 데이터 필터를 생성하여 특정 열에 대한 액세스 권한을 부여합니다.aws lakeformation create-data-cells-filter \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "TableData": { "ColumnNames": ["p_channel_details", "p_start_date_sk", "p_promo_name"], "DatabaseName": "tpc", "Name": "developer_promotion_allrows", "RowFilter": { "AllRowsWildcard": {} }, "TableCatalogId": "123456789111", "TableName": "dl_tpc_promotion" } }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Lake Formation 개발자 안내서의 Lake Formation의 데이터 필터링 및 셀 수준 보안을 참조하세요. AWS
예제 3: 제외 열로 데이터 필터를 생성하려면
다음
create-data-cells-filter
예제에서는 언급된 열을 제외한 모든 열에 대한 액세스 권한을 부여할 수 있는 데이터 필터를 생성합니다.aws lakeformation create-data-cells-filter \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "TableData": { "ColumnWildcard": { "ExcludedColumnNames": ["p_channel_details", "p_start_date_sk"] }, "DatabaseName": "tpc", "Name": "developer_promotion_excludecolumn", "RowFilter": { "AllRowsWildcard": {} }, "TableCatalogId": "123456789111", "TableName": "dl_tpc_promotion" } }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Lake Formation 개발자 안내서의 Lake Formation의 데이터 필터링 및 셀 수준 보안을 참조하세요. AWS
-
자세한 API 내용은 명령 참조CreateDataCellsFilter
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 create-lf-tag
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
LF 태그를 생성하려면
다음
create-lf-tag
예제에서는 지정된 이름과 값을 사용하여 LF 태그를 생성합니다.aws lakeformation create-lf-tag \ --catalog-id '
123456789111
' \ --tag-key 'usergroup
' \ --tag-values '["developer","analyst","campaign"]
'이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 메타데이터 액세스 제어를 위한 LF 태그 관리를 참조하세요.
-
자세한 API 내용은 명령 참조CreateLfTag
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-data-cells-filter
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
데이터 셀 필터를 삭제하려면
다음
delete-data-cells-filter
예제에서는 지정된 데이터 셀 필터를 삭제합니다.aws lakeformation delete-data-cells-filter \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "TableCatalogId": "123456789111", "DatabaseName": "tpc", "TableName": "dl_tpc_promotion", "Name": "developer_promotion" }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 Lake Formation 개발자 안내서의 Lake Formation의 데이터 필터링 및 셀 수준 보안을 참조하세요. AWS
-
자세한 API 내용은 명령 참조DeleteDataCellsFilter
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-lf-tag
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
LF 태그 정의를 삭제하려면
다음
delete-lf-tag
예제에서는 LF 태그 정의를 삭제합니다.aws lakeformation delete-lf-tag \ --catalog-id '
123456789111
' \ --tag-key 'usergroup
'이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 메타데이터 액세스 제어를 위한 LF 태그 관리를 참조하세요.
-
자세한 API 내용은 명령 참조DeleteLfTag
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 delete-objects-on-cancel
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
트랜잭션이 취소될 때 객체를 삭제하려면
다음
delete-objects-on-cancel
예제에서는 트랜잭션이 취소될 때 나열된 s3 객체를 삭제합니다.aws lakeformation delete-objects-on-cancel \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "012345678901", "DatabaseName": "tpc", "TableName": "dl_tpc_household_demographics_gov", "TransactionId": "1234d972ca8347b89825e33c5774aec4", "Objects": [{ "Uri": "s3://lf-data-lake-012345678901/target/dl_tpc_household_demographics_gov/run-unnamed-1-part-block-0-r-00000-snappy-ff26b17504414fe88b302cd795eabd00.parquet", "ETag": "1234ab1fc50a316b149b4e1f21a73800" }] }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 내에서 데이터 레이크에서 읽기 및 쓰기를 참조하세요.
-
자세한 API 내용은 명령 참조DeleteObjectsOnCancel
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 deregister-resource
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
데이터 레이크 스토리지 등록을 취소하려면
다음
deregister-resource
예제에서는 Lake Formation에서 관리하는 대로 리소스를 등록 취소합니다.aws lakeformation deregister-resource \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "ResourceArn": "arn:aws:s3:::lf-emr-athena-result-123" }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 레이크에 Amazon S3 위치 추가를 참조하세요.
-
자세한 API 내용은 명령 참조DeregisterResource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 describe-transaction
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
트랜잭션 세부 정보를 검색하려면
다음
describe-transaction
예제에서는 단일 트랜잭션의 세부 정보를 반환합니다.aws lakeformation describe-transaction \ --transaction-id='8cb4b1a7cc8d486fbaca9a64e7d9f5ce'
출력:
{ "TransactionDescription": { "TransactionId": "12345972ca8347b89825e33c5774aec4", "TransactionStatus": "committed", "TransactionStartTime": "2022-08-10T14:29:04.046000+00:00", "TransactionEndTime": "2022-08-10T14:29:09.681000+00:00" } }
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 내에서 데이터 레이크에서 읽기 및 쓰기를 참조하세요.
-
자세한 API 내용은 명령 참조DescribeTransaction
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 extend-transaction
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
트랜잭션을 확장하려면
다음
extend-transaction
예제는 트랜잭션을 확장합니다.aws lakeformation extend-transaction \ --transaction-id='8cb4b1a7cc8d486fbaca9a64e7d9f5ce'
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 내 데이터 레이크에서 읽기 및 쓰기를 참조하세요.
-
자세한 API 내용은 명령 참조ExtendTransaction
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-data-lake-settings
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
AWS Lake Formation 관리형 데이터 레이크 설정을 검색하려면
다음
get-data-lake-settings
예제에서는 데이터 레이크 관리자 및 기타 데이터 레이크 설정 목록을 검색합니다.aws lakeformation get-data-lake-settings \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111" }
출력:
{ "DataLakeSettings": { "DataLakeAdmins": [{ "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" }], "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [ { "Principal": { "DataLakePrincipalIdentifier": "IAM_ALLOWED_PRINCIPALS" }, "Permissions": [ "ALL" ] } ], "TrustedResourceOwners": [], "AllowExternalDataFiltering": true, "ExternalDataFilteringAllowList": [{ "DataLakePrincipalIdentifier": "123456789111" }], "AuthorizedSessionTagValueList": [ "Amazon EMR" ] } }
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 레이크에 대한 기본 보안 설정 변경을 참조하세요.
-
자세한 API 내용은 명령 참조GetDataLakeSettings
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-effective-permissions-for-path
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
특정 경로에 있는 리소스에 대한 권한을 검색하려면
다음
get-effective-permissions-for-path
예제에서는 Amazon S3의 경로에 있는 지정된 테이블 또는 데이터베이스 리소스에 대한 Lake Formation 권한을 반환합니다.aws lakeformation get-effective-permissions-for-path \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "ResourceArn": "arn:aws:s3:::lf-data-lake-123456789111" }
출력:
{ "Permissions": [{ "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-campaign-manager" }, "Resource": { "Database": { "Name": "tpc" } }, "Permissions": [ "DESCRIBE" ], "PermissionsWithGrantOption": [] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:role/EMR-RuntimeRole" }, "Resource": { "Database": { "Name": "tpc" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:saml-provider/oktaSAMLProvider:user/emr-developer" }, "Resource": { "Database": { "Name": "tpc" } }, "Permissions": [ "ALL", "DESCRIBE" ], "PermissionsWithGrantOption": [] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" }, "Resource": { "Database": { "Name": "tpc" } }, "Permissions": [ "ALL", "ALTER", "CREATE_TABLE", "DESCRIBE", "DROP" ], "PermissionsWithGrantOption": [ "ALL", "ALTER", "CREATE_TABLE", "DESCRIBE", "DROP" ] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:role/LF-GlueServiceRole" }, "Resource": { "Database": { "Name": "tpc" } }, "Permissions": [ "CREATE_TABLE" ], "PermissionsWithGrantOption": [] } ], "NextToken": "E5SlJDSTZleUp6SWpvaU9UQTNORE0zTXpFeE5Ua3pJbjE5TENKbGVIQnBjbUYwYVc5dUlqcDdJbk5sWTI5dVpITWlPakUyTm==" }
자세한 내용은 Lake Formation 개발자 안내서의 Lake Formation 권한 관리를 참조하세요. AWS
-
자세한 API 내용은 명령 참조GetEffectivePermissionsForPath
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-lf-tag
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
LF 태그 정의를 검색하려면
다음
get-lf-tag
예제에서는 LF 태그 정의를 검색합니다.aws lakeformation get-lf-tag \ --catalog-id '
123456789111
' \ --tag-key 'usergroup
'출력:
{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "analyst", "campaign", "developer" ] }
자세한 내용은 AWS Lake Formation 개발자 안내서의 메타데이터 액세스 제어를 위한 LF 태그 관리를 참조하세요.
-
자세한 API 내용은 명령 참조GetLfTag
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-query-state
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
제출된 쿼리의 상태를 검색하려면
다음
get-query-state
예제에서는 이전에 제출한 쿼리의 상태를 반환합니다.aws lakeformation get-query-state \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b'
출력:
{ "State": "FINISHED" }
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 데이터 작업을 참조하세요.
-
자세한 API 내용은 명령 참조GetQueryState
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-query-statistics
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
쿼리 통계를 검색하려면
다음
get-query-statistics
예제에서는 쿼리의 계획 및 실행에 대한 통계를 검색합니다.aws lakeformation get-query-statistics \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b'
출력:
{ "ExecutionStatistics": { "AverageExecutionTimeMillis": 0, "DataScannedBytes": 0, "WorkUnitsExecutedCount": 0 }, "PlanningStatistics": { "EstimatedDataToScanBytes": 43235, "PlanningTimeMillis": 2377, "QueueTimeMillis": 440, "WorkUnitsGeneratedCount": 1 }, "QuerySubmissionTime": "2022-08-11T02:14:38.641870+00:00" }
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 데이터 작업을 참조하세요.
-
자세한 API 내용은 명령 참조GetQueryStatistics
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-resource-lf-tags
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
LF 태그를 나열하려면
다음
list-lf-tags
예제에서는 요청자가 볼 수 있는 권한이 있는 LF 태그 목록을 반환합니다.aws lakeformation list-lf-tags \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "ResourceShareType": "ALL", "MaxResults": 2 }
출력:
{ "LFTags": [{ "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "private", "public" ] }, { "CatalogId": "123456789111", "TagKey": "group", "TagValues": [ "analyst", "campaign", "developer" ] }], "NextToken": "kIiwiZXhwaXJhdGlvbiI6eyJzZWNvbmRzIjoxNjYwMDY4dCI6ZmFsc2V9" }
자세한 내용은 AWS Lake Formation 개발자 안내서의 메타데이터 액세스 제어를 위한 LF 태그 관리를 참조하세요.
-
자세한 API 내용은 명령 참조GetResourceLfTags
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-table-objects
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
관리 테이블의 객체를 나열하려면
다음
get-table-objects
예제에서는 지정된 관리 테이블을 구성하는 Amazon S3 객체 세트를 반환합니다.aws lakeformation get-table-objects \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "012345678901", "DatabaseName": "tpc", "TableName": "dl_tpc_household_demographics_gov", "QueryAsOfTime": "2022-08-10T15:00:00" }
출력:
{ "Objects": [{ "PartitionValues": [], "Objects": [{ "Uri": "s3://lf-data-lake-012345678901/target/dl_tpc_household_demographics_gov/run-unnamed-1-part-block-0-r-00000-snappy-ff26b17504414fe88b302cd795eabd00.parquet", "ETag": "12345b1fc50a316b149b4e1f21a73800", "Size": 43235 }] }] }
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 내에서 데이터 레이크에서 읽기 및 쓰기를 참조하세요.
-
자세한 API 내용은 명령 참조GetTableObjects
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-work-unit-results
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
지정된 쿼리의 작업 단위를 검색하려면
다음
get-work-unit-results
예제에서는 쿼리에서 가져온 작업 단위를 반환합니다.aws lakeformation get-work-units \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b' \ --work-unit-id '
0
' \ --work-unit-token 'B2fMSdmQXe9umX8Ux8XCo4=
'outfile
출력:
outfile with Blob content.
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 데이터 작업을 참조하세요.
-
자세한 API 내용은 명령 참조GetWorkUnitResults
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 get-work-units
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
작업 단위를 검색하려면
다음
get-work-units
예제에서는 StartQueryPlanning 작업에서 생성된 작업 단위를 검색합니다.aws lakeformation get-work-units \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b'
출력:
{ "WorkUnitRanges": [{ "WorkUnitIdMax": 0, "WorkUnitIdMin": 0, "WorkUnitToken": "1234eMAk4kLO4umqEL4Z5WuxL04AXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREEwYm9QbkhINmFYTWphbmMxZW1PQmEyMGlUb0JFbXNlWmRYc0NmckRIR1dmQ0hjY2YzNFdMcmNXb2JGZmhEK0QvZz09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLWVhc3QtMTo3MDkxNTAyNDkyNDk6a2V5L2VmYmI3NDUyLTY1MjYtNGJiOS1iNmZhLTEzYzJkMTM3MmU2OQC4AQIBAHg6eWNF2ZrQATTAuPDJVCEAQSyIF67vX+f88jzGrYq22gE6jkQlpOB+Oet2eqNUmFudAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMCOEWRdafowek3RUmAgEQgDsYZZE84nnnbNmvsqCBPLh19nLQ10mUWOg9IfiaOwefEn6L920V0x1LpJACo7MtIBLXnbGcz2dFDZjFygIAAAAADAAAEAAAAAAAAAAAAAAAAAAQSQf8XDSI5pvR4Fx4JsrS/////wAAAAEAAAAAAAAAAAAAAAEAAACX3/w5h75QAPomfKH+cyEKYU1yccUmBl+VSojiGOtdsUk7vcjYXUUboYm3dvqRqX2s4gROMOn+Ij8R0/8jYmnHkpvyAFNVRPyETyIKg7k5Z9+5I1c2d3446Jw/moWGGxjH8AEG9h27ytmOhozxDOEi/F2ZoXz6wlGDfGUo/2WxCkYOhTyNaw6TM+7drTM7yrW4iNVLUM0LX0xnFjIAhLhooWJek6vjQZUAZzBlAjBH8okRtYP8R7AY2Wls/hqFBhG0V4l42AC0LxsuZbMQrE2SzWZUZ0E9Uew7/n0cyX4CMQDR79INyv4ysMByW9kKGGKyba+cCNklExMR+btBQBmMuB2fMSdmQXe9umX8Ux8XCo4=" }], "QueryId": "1234273f-4a62-4cda-8d98-69615ee8be9b" }
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 데이터 작업을 참조하세요.
-
자세한 API 내용은 명령 참조GetWorkUnits
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 grant-permissions
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
예제 1: LF 태그를 사용하여 리소스에 대한 보안 주체에 권한 부여
다음
grant-permissions
예제에서는 LF 태그 정책과 일치하는 데이터베이스 리소스의 보안 주체에 ALL 권한을 부여합니다.aws lakeformation grant-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" }, "Resource": { "LFTagPolicy": { "CatalogId": "123456789111", "ResourceType": "DATABASE", "Expression": [{ "TagKey": "usergroup", "TagValues": [ "analyst", "developer" ] }] } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [ "ALL" ] }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 카탈로그 리소스에 대한 권한 부여 및 취소를 참조하세요.
예제 2: 보안 주체에 열 수준 권한을 부여하려면
다음
grant-permissions
예제에서는 보안 주체에게 특정 열을 선택할 수 있는 권한을 부여합니다.aws lakeformation grant-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "TableWithColumns": { "CatalogId": "123456789111", "ColumnNames": ["p_end_date_sk"], "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "SELECT" ], "PermissionsWithGrantOption": [] }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 카탈로그 리소스에 대한 권한 부여 및 취소를 참조하세요.
예제 3: 보안 주체에 테이블 권한을 부여하려면
다음
grant-permissions
예제에서는 지정된 데이터베이스의 모든 테이블에 대한 선택 권한을 보안 주체에게 부여합니다.aws lakeformation grant-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "TableWildcard": {} } }, "Permissions": [ "SELECT" ], "PermissionsWithGrantOption": [] }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 카탈로그 리소스에 대한 권한 부여 및 취소를 참조하세요.
예제 4: 보안 주체에게 LF 태그에 대한 권한을 부여하려면
다음
grant-permissions
예제에서는 보안 주체에게 LF 태그에 대한 연결 권한을 부여합니다.aws lakeformation grant-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "LFTag": { "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "private", "public" ] } }, "Permissions": [ "ASSOCIATE" ], "PermissionsWithGrantOption": [] }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 카탈로그 리소스에 대한 권한 부여 및 취소를 참조하세요.
예제 5: 데이터 위치에 대한 권한을 보안 주체에게 부여하려면
다음
grant-permissions
예제에서는 보안 주체에게 데이터 위치에 대한 권한을 부여합니다.aws lakeformation grant-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "DataLocation": { "CatalogId": "123456789111", "ResourceArn": "arn:aws:s3:::lf-data-lake-123456789111" } }, "Permissions": [ "DATA_LOCATION_ACCESS" ], "PermissionsWithGrantOption": [] }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 카탈로그 리소스에 대한 권한 부여 및 취소를 참조하세요.
-
자세한 API 내용은 명령 참조GrantPermissions
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-data-cells-filter
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
데이터 셀 필터를 나열하려면
다음
list-data-cells-filter
예제에서는 지정된 테이블에 대한 데이터 셀 필터를 나열합니다.aws lakeformation list-data-cells-filter \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "MaxResults": 2, "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }
출력:
{ "DataCellsFilters": [{ "TableCatalogId": "123456789111", "DatabaseName": "tpc", "TableName": "dl_tpc_promotion", "Name": "developer_promotion", "RowFilter": { "FilterExpression": "p_promo_name='ese'" }, "ColumnNames": [ "p_channel_details", "p_start_date_sk", "p_purpose", "p_promo_id", "p_promo_name", "p_end_date_sk", "p_discount_active" ] }, { "TableCatalogId": "123456789111", "DatabaseName": "tpc", "TableName": "dl_tpc_promotion", "Name": "developer_promotion_allrows", "RowFilter": { "FilterExpression": "TRUE", "AllRowsWildcard": {} }, "ColumnNames": [ "p_channel_details", "p_start_date_sk", "p_promo_name" ] } ], "NextToken": "2MDA2MTgwNiwibmFub3MiOjE0MDAwMDAwMH19" }
자세한 내용은 Lake Formation 개발자 안내서의 Lake Formation의 데이터 필터링 및 셀 수준 보안을 참조하세요. AWS
-
자세한 API 내용은 명령 참조ListDataCellsFilter
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-permissions
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
예제 1: 리소스에 대한 보안 주체 권한 목록을 검색하려면
다음
list-permissions
예제에서는 데이터베이스 리소스에 대한 보안 주체 권한 목록을 반환합니다.aws lakeformation list-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "ResourceType": "DATABASE", "MaxResults": 2 }
출력:
{ "PrincipalResourcePermissions": [{ "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-campaign-manager" }, "Resource": { "Database": { "CatalogId": "123456789111", "Name": "tpc" } }, "Permissions": [ "DESCRIBE" ], "PermissionsWithGrantOption": [] }], "NextToken": "E5SlJDSTZleUp6SWpvaU9UQTNORE0zTXpFeE5Ua3pJbjE5TENKbGVIQnBjbUYwYVc5dUlqcDdJbk5sWTI5dVpITWlPakUyTm" }
자세한 내용은 Lake Formation 개발자 안내서의 Lake Formation 권한 관리를 참조하세요. AWS
예제 2: 데이터 필터를 사용하여 테이블의 보안 주체 권한 목록을 검색하려면
다음
list-permissions
예제에서는 보안 주체에게 부여된 관련 데이터 필터와 함께 테이블의 권한을 나열합니다.aws lakeformation list-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_customer" } }, "IncludeRelated": "TRUE", "MaxResults": 10 }
출력:
{ "PrincipalResourcePermissions": [{ "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:role/Admin" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "customer", "Name": "customer_invoice" } }, "Permissions": [ "ALL", "ALTER", "DELETE", "DESCRIBE", "DROP", "INSERT" ], "PermissionsWithGrantOption": [ "ALL", "ALTER", "DELETE", "DESCRIBE", "DROP", "INSERT" ] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:role/Admin" }, "Resource": { "TableWithColumns": { "CatalogId": "123456789111", "DatabaseName": "customer", "Name": "customer_invoice", "ColumnWildcard": {} } }, "Permissions": [ "SELECT" ], "PermissionsWithGrantOption": [ "SELECT" ] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:role/Admin" }, "Resource": { "DataCellsFilter": { "TableCatalogId": "123456789111", "DatabaseName": "customer", "TableName": "customer_invoice", "Name": "dl_us_customer" } }, "Permissions": [ "DESCRIBE", "SELECT", "DROP" ], "PermissionsWithGrantOption": [] } ], "NextToken": "VyeUFjY291bnRQZXJtaXNzaW9ucyI6ZmFsc2V9" }
자세한 내용은 Lake Formation 개발자 안내서의 Lake Formation 권한 관리를 참조하세요. AWS
예제 3: LF 태그에 대한 보안 주체 권한 목록을 검색하려면
다음
list-permissions
예제에서는 보안 주체에게 부여된 LF 태그에 대한 권한을 나열합니다.aws lakeformation list-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Resource": { "LFTag": { "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "private" ] } }, "MaxResults": 10 }
출력:
{ "PrincipalResourcePermissions": [{ "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" }, "Resource": { "LFTag": { "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "*" ] } }, "Permissions": [ "DESCRIBE" ], "PermissionsWithGrantOption": [ "DESCRIBE" ] }, { "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" }, "Resource": { "LFTag": { "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "*" ] } }, "Permissions": [ "ASSOCIATE" ], "PermissionsWithGrantOption": [ "ASSOCIATE" ] } ], "NextToken": "EJwY21GMGFXOXVJanA3SW5Ocm1pc3Npb25zIjpmYWxzZX0=" }
자세한 내용은 Lake Formation 개발자 안내서의 Lake Formation 권한 관리를 참조하세요. AWS
-
자세한 API 내용은 명령 참조ListPermissions
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-resources
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
Lake Formation에서 관리하는 리소스를 나열하려면
다음
list-resources
예제에서는 Lake Formation에서 관리하는 조건과 일치하는 리소스를 나열합니다.aws lakeformation list-resources \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "FilterConditionList": [{ "Field": "ROLE_ARN", "ComparisonOperator": "CONTAINS", "StringValueList": [ "123456789111" ] }], "MaxResults": 10 }
출력:
{ "ResourceInfoList": [{ "ResourceArn": "arn:aws:s3:::lf-data-lake-123456789111", "RoleArn": "arn:aws:iam::123456789111:role/LF-GlueServiceRole", "LastModified": "2022-07-21T02:12:46.669000+00:00" }, { "ResourceArn": "arn:aws:s3:::lf-emr-test-123456789111", "RoleArn": "arn:aws:iam::123456789111:role/EMRLFS3Role", "LastModified": "2022-07-29T16:22:03.211000+00:00" } ] }
자세한 내용은 Lake Formation 개발자 안내서의 Lake Formation 권한 관리를 참조하세요. AWS
-
자세한 API 내용은 명령 참조ListResources
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 list-transactions
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
모든 트랜잭션 세부 정보를 나열하려면
다음
list-transactions
예제에서는 트랜잭션 및 해당 상태에 대한 메타데이터를 반환합니다.aws lakeformation list-transactions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "StatusFilter": "ALL", "MaxResults": 3 }
출력:
{ "Transactions": [{ "TransactionId": "1234569f08804cb790d950d4d0fe485e", "TransactionStatus": "committed", "TransactionStartTime": "2022-08-10T14:32:29.220000+00:00", "TransactionEndTime": "2022-08-10T14:32:33.751000+00:00" }, { "TransactionId": "12345972ca8347b89825e33c5774aec4", "TransactionStatus": "committed", "TransactionStartTime": "2022-08-10T14:29:04.046000+00:00", "TransactionEndTime": "2022-08-10T14:29:09.681000+00:00" }, { "TransactionId": "12345daf6cb047dbba8ad9b0414613b2", "TransactionStatus": "committed", "TransactionStartTime": "2022-08-10T13:56:51.261000+00:00", "TransactionEndTime": "2022-08-10T13:56:51.547000+00:00" } ], "NextToken": "77X1ebypsI7os+X2lhHsZLGNCDK3nNGpwRdFpicSOHgcX1/QMoniUAKcpR3kj3ts3PVdMA==" }
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 내 데이터 레이크에서 읽기 및 쓰기를 참조하세요.
-
자세한 API 내용은 명령 참조ListTransactions
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 put-data-lake-settings
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
AWS Lake Formation 관리형 데이터 레이크 설정을 설정하려면
다음
put-data-lake-settings
예제에서는 데이터 레이크 관리자 및 기타 데이터 레이크 설정 목록을 설정합니다.aws lakeformation put-data-lake-settings \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "DataLakeSettings": { "DataLakeAdmins": [{ "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" } ], "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [], "TrustedResourceOwners": [], "AllowExternalDataFiltering": true, "ExternalDataFilteringAllowList": [{ "DataLakePrincipalIdentifier ": "123456789111" }], "AuthorizedSessionTagValueList": ["Amazon EMR"] } }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 레이크에 대한 기본 보안 설정 변경을 참조하세요.
-
자세한 API 내용은 명령 참조PutDataLakeSettings
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 register-resource
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
예제 1: 서비스 연결 역할을 사용하여 데이터 레이크 스토리지 등록
다음
register-resource
예제에서는 서비스 연결 역할을 사용하여 Lake Formation에서 관리하는 대로 리소스를 등록합니다.aws lakeformation register-resource \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "ResourceArn": "arn:aws:s3:::lf-emr-athena-result-123", "UseServiceLinkedRole": true }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 레이크에 Amazon S3 위치 추가를 참조하세요.
예제 2: 사용자 지정 역할을 사용하여 데이터 레이크 스토리지 등록
다음
register-resource
예제에서는 사용자 지정 역할을 사용하여 Lake Formation에서 관리하는 대로 리소스를 등록합니다.aws lakeformation register-resource \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "ResourceArn": "arn:aws:s3:::lf-emr-athena-result-123", "UseServiceLinkedRole": false, "RoleArn": "arn:aws:iam::123456789111:role/LF-GlueServiceRole" }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 레이크에 Amazon S3 위치 추가를 참조하세요.
-
자세한 API 내용은 명령 참조RegisterResource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 remove-lf-tags-from-resource
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
리소스에서 LF 태그를 제거하려면
다음
remove-lf-tags-from-resource
예제에서는 테이블 리소스와의 LF 태그 연결을 제거합니다.aws lakeformation remove-lf-tags-from-resource \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }
출력:
{ "Failures": [] }
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 카탈로그 리소스에 LF 태그 할당을 참조하세요.
-
자세한 API 내용은 명령 참조RemoveLfTagsFromResource
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 revoke-permissions
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
보안 주체의 리소스에 대한 권한을 취소하려면
다음
revoke-permissions
예제에서는 지정된 데이터베이스의 특정 테이블에 대한 보안 주체 액세스를 취소합니다.aws lakeformation revoke-permissions \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "Permissions": [ "ALL" ], "PermissionsWithGrantOption": [] }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 데이터 카탈로그 리소스에 대한 권한 부여 및 취소를 참조하세요.
-
자세한 API 내용은 명령 참조RevokePermissions
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 search-databases-by-lf-tags
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
데이터베이스 리소스를 검색하려면 LFTags
다음
search-databases-by-lf-tags
예제는 LFTag 표현식과 일치하는 데이터베이스 리소스에 대한 검색입니다.aws lakeformation search-databases-by-lf-tags \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "MaxResults": 1, "CatalogId": "123456789111", "Expression": [{ "TagKey": "usergroup", "TagValues": [ "developer" ] }] }
출력:
{ "DatabaseList": [{ "Database": { "CatalogId": "123456789111", "Name": "tpc" }, "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }] }
자세한 내용은 AWS Lake Formation 개발자 안내서의 LF 태그가 할당된 리소스 보기를 참조하세요.
-
자세한 API 내용은 명령 참조SearchDatabasesByLfTags
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 search-tables-by-lf-tags
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
를 기준으로 테이블 리소스를 검색하려면 LFTags
다음
search-tables-by-lf-tags
예제는 LFTag 표현식과 일치하는 테이블 리소스에 대한 검색입니다.aws lakeformation search-tables-by-lf-tags \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "MaxResults": 2, "CatalogId": "123456789111", "Expression": [{ "TagKey": "usergroup", "TagValues": [ "developer" ] }] }
출력:
{ "NextToken": "c2VhcmNoQWxsVGFnc0luVGFibGVzIjpmYWxzZX0=", "TableList": [{ "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_item" }, "LFTagOnDatabase": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }], "LFTagsOnTable": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }], "LFTagsOnColumns": [{ "Name": "i_item_desc", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_container", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_wholesale_cost", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_manufact_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_brand_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_formulation", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_current_price", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_size", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_rec_start_date", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_manufact", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_item_sk", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_manager_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_item_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_class_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_class", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_category", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_category_id", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_brand", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_units", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_rec_end_date", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_color", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }, { "Name": "i_product_name", "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] } ] }] }
자세한 내용은 AWS Lake Formation 개발자 안내서의 LF 태그가 할당된 리소스 보기를 참조하세요.
-
자세한 API 내용은 명령 참조SearchTablesByLfTags
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 start-query-planning
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
쿼리 문을 처리하려면
다음
start-query-planning
예제에서는 쿼리 문을 처리하라는 요청을 제출합니다.aws lakeformation start-query-planning \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "QueryPlanningContext": { "CatalogId": "012345678901", "DatabaseName": "tpc" }, "QueryString": "select * from dl_tpc_household_demographics_gov where hd_income_band_sk=9" }
출력:
{ "QueryId": "772a273f-4a62-4cda-8d98-69615ee8be9b" }
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 내에서 데이터 레이크에서 읽기 및 쓰기를 참조하세요.
-
자세한 API 내용은 명령 참조StartQueryPlanning
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 start-transaction
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
새 트랜잭션을 시작하려면
다음
start-transaction
예제에서는 새 트랜잭션을 시작하고 트랜잭션 ID를 반환합니다.aws lakeformation start-transaction \ --transaction-type
=
'READ_AND_WRITE
'출력:
{ "TransactionId": "b014d972ca8347b89825e33c5774aec4" }
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 내 데이터 레이크에서 읽기 및 쓰기를 참조하세요.
-
자세한 API 내용은 명령 참조StartTransaction
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-lf-tag
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
LF 태그 정의를 업데이트하려면
다음
update-lf-tag
예제에서는 LF 태그 정의를 업데이트합니다.aws lakeformation update-lf-tag \ --catalog-id '
123456789111
' \ --tag-key 'usergroup
' \ --tag-values-to-add '["admin"]
'이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 메타데이터 액세스 제어를 위한 LF 태그 관리를 참조하세요.
-
자세한 API 내용은 명령 참조UpdateLfTag
의 섹션을 참조하세요. AWS CLI
-
다음 코드 예시에서는 update-table-objects
을 사용하는 방법을 보여 줍니다.
- AWS CLI
-
관리 테이블의 객체를 수정하려면
다음
update-table-objects
예제에서는 제공된 S3 객체를 지정된 관리 테이블에 추가합니다.aws lakeformation update-table-objects \ --cli-input-json
file://input.json
input.json
의 콘텐츠:{ "CatalogId": "012345678901", "DatabaseName": "tpc", "TableName": "dl_tpc_household_demographics_gov", "TransactionId": "12347a9f75424b9b915f6ff201d2a190", "WriteOperations": [{ "AddObject": { "Uri": "s3://lf-data-lake-012345678901/target/dl_tpc_household_demographics_gov/run-unnamed-1-part-block-0-r-00000-snappy-ff26b17504414fe88b302cd795eabd00.parquet", "ETag": "1234ab1fc50a316b149b4e1f21a73800", "Size": 42200 } }] }
이 명령은 출력을 생성하지 않습니다.
자세한 내용은 AWS Lake Formation 개발자 안내서의 트랜잭션 내에서 데이터 레이크에서 읽기 및 쓰기를 참조하세요.
-
자세한 API 내용은 명령 참조UpdateTableObjects
의 섹션을 참조하세요. AWS CLI
-