Ejemplos de Lake Formation usando AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de Lake Formation usando AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes AWS Command Line Interface mediante Lake Formation.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar add-lf-tags-to-resource.

AWS CLI

Para adjuntar una o más etiquetas LF a un recurso existente

En el siguiente add-lf-tags-to-resource ejemplo, se adjunta una etiqueta LF determinada al recurso de la tabla.

aws lakeformation add-lf-tags-to-resource \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "123456789111", "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "analyst" ] }] }

Salida:

{ "Failures": [] }

Para obtener más información, consulte Asignación de etiquetas LF a los recursos del catálogo de datos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte la Referencia de AddLfTagsToResourcecomandos AWS CLI .

En el siguiente ejemplo de código se muestra cómo usar batch-grant-permissions.

AWS CLI

Para conceder permisos de forma masiva sobre los recursos a los directores

En el siguiente batch-grant-permissions ejemplo, se concede acceso masivo a los principales a recursos específicos.

aws lakeformation batch-grant-permissions \ --cli-input-json file://input.json

Contenidos de 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": [] } ] }

Salida:

{ "Failures": [] }

Para obtener más información, consulte Concesión y revocación de permisos sobre los recursos del catálogo de datos en la Guía para desarrolladores de AWS Lake Formation.

En el siguiente ejemplo de código se muestra cómo usar batch-revoke-permissions.

AWS CLI

Para revocar de forma masiva los permisos de los directores sobre los recursos

En el siguiente batch-revoke-permissions ejemplo, se revoca de forma masiva el acceso de los principales a recursos específicos.

aws lakeformation batch-revoke-permissions \ --cli-input-json file://input.json

Contenidos de 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" ] } ] }

Salida:

{ "Failures": [] }

Para obtener más información, consulte Concesión y revocación de permisos sobre los recursos del catálogo de datos en la Guía para desarrolladores de AWS Lake Formation.

En el siguiente ejemplo de código se muestra cómo usar cancel-transaction.

AWS CLI

Para cancelar una transacción

El siguiente cancel-transaction ejemplo cancela la transacción.

aws lakeformation cancel-transaction \ --transaction-id='b014d972ca8347b89825e33c5774aec4'

Este comando no genera ninguna salida.

Para obtener más información, consulte Leer y escribir en el lago de datos dentro de las transacciones en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte CancelTransactionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar commit-transaction.

AWS CLI

Para confirmar la transacción

El siguiente commit-transaction ejemplo confirma la transacción.

aws lakeformation commit-transaction \ --transaction-id='b014d972ca8347b89825e33c5774aec4'

Salida:

{ "TransactionStatus": "committed" }

Para obtener más información, consulte Leer y escribir en el lago de datos dentro de las transacciones en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte CommitTransactionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-data-cells-filter.

AWS CLI

Ejemplo 1: Para crear un filtro de celdas de datos

El siguiente create-data-cells-filter ejemplo crea un filtro de celdas de datos para permitir el acceso a determinadas columnas en función del estado de la fila.

aws lakeformation create-data-cells-filter \ --cli-input-json file://input.json

Contenidos de 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" } }

Este comando no genera ninguna salida.

Para obtener más información, consulte Filtrado de datos y seguridad a nivel de celda en Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

Ejemplo 2: Para crear un filtro de columnas

El siguiente create-data-cells-filter ejemplo crea un filtro de datos para permitir el acceso a determinadas columnas.

aws lakeformation create-data-cells-filter \ --cli-input-json file://input.json

Contenidos de 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" } }

Este comando no genera ninguna salida.

Para obtener más información, consulte Filtrado de datos y seguridad a nivel de celda en Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

Ejemplo 3: Para crear un filtro de datos con columnas excluidas

El siguiente create-data-cells-filter ejemplo crea un filtro de datos para permitir el acceso a todas las columnas excepto a las mencionadas.

aws lakeformation create-data-cells-filter \ --cli-input-json file://input.json

Contenidos de 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" } }

Este comando no genera ninguna salida.

Para obtener más información, consulte Filtrado de datos y seguridad a nivel de celda en Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

En el siguiente ejemplo de código se muestra cómo usar create-lf-tag.

AWS CLI

Para crear una etiqueta LF

En el siguiente create-lf-tag ejemplo, se crea una etiqueta LF con el nombre y los valores especificados.

aws lakeformation create-lf-tag \ --catalog-id '123456789111' \ --tag-key 'usergroup' \ --tag-values '["developer","analyst","campaign"]'

Este comando no genera ninguna salida.

Para obtener más información, consulte Administración de etiquetas LF para el control de acceso a los metadatos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte la Referencia CreateLfTagde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-data-cells-filter.

AWS CLI

Para eliminar el filtro de celdas de datos

El siguiente delete-data-cells-filter ejemplo elimina un filtro de celda de datos determinado.

aws lakeformation delete-data-cells-filter \ --cli-input-json file://input.json

Contenidos de input.json:

{ "TableCatalogId": "123456789111", "DatabaseName": "tpc", "TableName": "dl_tpc_promotion", "Name": "developer_promotion" }

Este comando no genera ninguna salida.

Para obtener más información, consulte Filtrado de datos y seguridad a nivel de celda en Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

En el siguiente ejemplo de código se muestra cómo usar delete-lf-tag.

AWS CLI

Para eliminar la definición de etiqueta LF

En el siguiente delete-lf-tag ejemplo, se elimina la definición de etiqueta LF.

aws lakeformation delete-lf-tag \ --catalog-id '123456789111' \ --tag-key 'usergroup'

Este comando no genera ninguna salida.

Para obtener más información, consulte Administración de etiquetas LF para el control de acceso a los metadatos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte la Referencia DeleteLfTagde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-objects-on-cancel.

AWS CLI

Para eliminar un objeto cuando se cancela la transacción

El siguiente delete-objects-on-cancel ejemplo elimina el objeto s3 de la lista cuando se cancela la transacción.

aws lakeformation delete-objects-on-cancel \ --cli-input-json file://input.json

Contenidos de 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" }] }

Este comando no genera ninguna salida.

Para obtener más información, consulte Leer y escribir en el lago de datos dentro de las transacciones en la Guía para desarrolladores de AWS Lake Formation.

En el siguiente ejemplo de código se muestra cómo usar deregister-resource.

AWS CLI

Para anular el registro del almacenamiento de data lake

En el siguiente deregister-resource ejemplo se anula el registro del recurso tal y como lo administra Lake Formation.

aws lakeformation deregister-resource \ --cli-input-json file://input.json

Contenidos de input.json:

{ "ResourceArn": "arn:aws:s3:::lf-emr-athena-result-123" }

Este comando no genera ninguna salida.

Para obtener más información, consulte Añadir una ubicación de Amazon S3 a su lago de datos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte DeregisterResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar describe-transaction.

AWS CLI

Para recuperar los detalles de una transacción

El siguiente describe-transaction ejemplo devuelve los detalles de una sola transacción.

aws lakeformation describe-transaction \ --transaction-id='8cb4b1a7cc8d486fbaca9a64e7d9f5ce'

Salida:

{ "TransactionDescription": { "TransactionId": "12345972ca8347b89825e33c5774aec4", "TransactionStatus": "committed", "TransactionStartTime": "2022-08-10T14:29:04.046000+00:00", "TransactionEndTime": "2022-08-10T14:29:09.681000+00:00" } }

Para obtener más información, consulte Leer y escribir en el lago de datos dentro de las transacciones en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte DescribeTransactionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar extend-transaction.

AWS CLI

Para extender una transacción

El siguiente extend-transaction ejemplo amplía la transacción.

aws lakeformation extend-transaction \ --transaction-id='8cb4b1a7cc8d486fbaca9a64e7d9f5ce'

Este comando no genera ninguna salida.

Para obtener más información, consulte Leer y escribir en el lago de datos dentro de las transacciones en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte ExtendTransactionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-data-lake-settings.

AWS CLI

Para recuperar la configuración de un AWS lago de datos gestionado por Lake Formation

En el siguiente get-data-lake-settings ejemplo, se recupera la lista de administradores de lagos de datos y otros ajustes de los lagos de datos.

aws lakeformation get-data-lake-settings \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "123456789111" }

Salida:

{ "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" ] } }

Para obtener más información, consulte Cambiar la configuración de seguridad predeterminada de su lago de datos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte GetDataLakeSettingsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-effective-permissions-for-path.

AWS CLI

Para recuperar los permisos de los recursos ubicados en una ruta específica

El siguiente get-effective-permissions-for-path ejemplo devuelve los permisos de Lake Formation para un recurso de tabla o base de datos especificado ubicado en una ruta de Amazon S3.

aws lakeformation get-effective-permissions-for-path \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "123456789111", "ResourceArn": "arn:aws:s3:::lf-data-lake-123456789111" }

Salida:

{ "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==" }

Para obtener más información, consulte Gestión de los permisos de Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

En el siguiente ejemplo de código se muestra cómo usar get-lf-tag.

AWS CLI

Para recuperar la definición de etiqueta LF

En el siguiente get-lf-tag ejemplo, se recupera la definición de la etiqueta LF.

aws lakeformation get-lf-tag \ --catalog-id '123456789111' \ --tag-key 'usergroup'

Salida:

{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "analyst", "campaign", "developer" ] }

Para obtener más información, consulte Administración de etiquetas LF para el control de acceso a los metadatos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte la Referencia GetLfTagde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-query-state.

AWS CLI

Para recuperar el estado de una consulta enviada

El siguiente get-query-state ejemplo devuelve el estado de una consulta enviada anteriormente.

aws lakeformation get-query-state \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b'

Salida:

{ "State": "FINISHED" }

Para obtener más información, consulte Operaciones de datos transaccionales en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte GetQueryStatela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-query-statistics.

AWS CLI

Para recuperar las estadísticas de las consultas

En el siguiente get-query-statistics ejemplo, se recuperan las estadísticas sobre la planificación y la ejecución de una consulta.

aws lakeformation get-query-statistics \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b'

Salida:

{ "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" }

Para obtener más información, consulte Operaciones de datos transaccionales en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte GetQueryStatisticsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-resource-lf-tags.

AWS CLI

Para enumerar las etiquetas LF

El siguiente list-lf-tags ejemplo devuelve una lista de etiquetas LF que el solicitante tiene permiso para ver.

aws lakeformation list-lf-tags \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "123456789111", "ResourceShareType": "ALL", "MaxResults": 2 }

Salida:

{ "LFTags": [{ "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "private", "public" ] }, { "CatalogId": "123456789111", "TagKey": "group", "TagValues": [ "analyst", "campaign", "developer" ] }], "NextToken": "kIiwiZXhwaXJhdGlvbiI6eyJzZWNvbmRzIjoxNjYwMDY4dCI6ZmFsc2V9" }

Para obtener más información, consulte Administración de etiquetas LF para el control de acceso a los metadatos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte la Referencia GetResourceLfTagsde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-table-objects.

AWS CLI

Para enumerar los objetos de la tabla gobernada

El siguiente get-table-objects ejemplo devuelve el conjunto de objetos de Amazon S3 que componen la tabla gobernada especificada.

aws lakeformation get-table-objects \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "012345678901", "DatabaseName": "tpc", "TableName": "dl_tpc_household_demographics_gov", "QueryAsOfTime": "2022-08-10T15:00:00" }

Salida:

{ "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 }] }] }

Para obtener más información, consulte Leer y escribir en el lago de datos dentro de las transacciones en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte GetTableObjectsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-work-unit-results.

AWS CLI

Para recuperar las unidades de trabajo de una consulta determinada

El siguiente get-work-unit-results ejemplo devuelve las unidades de trabajo resultantes de la consulta.

aws lakeformation get-work-units \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b' \ --work-unit-id '0' \ --work-unit-token 'B2fMSdmQXe9umX8Ux8XCo4=' outfile

Salida:

outfile with Blob content.

Para obtener más información, consulte Operaciones de datos transaccionales en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte GetWorkUnitResultsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-work-units.

AWS CLI

Para recuperar unidades de trabajo

El siguiente get-work-units ejemplo recupera las unidades de trabajo generadas por la StartQueryPlanning operación.

aws lakeformation get-work-units \ --query-id='1234273f-4a62-4cda-8d98-69615ee8be9b'

Salida:

{ "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" }

Para obtener más información, consulte Operaciones de datos transaccionales en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte GetWorkUnitsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar grant-permissions.

AWS CLI

Ejemplo 1: Para conceder permisos al director sobre los recursos mediante etiquetas LF

En el siguiente grant-permissions ejemplo, se conceden ALL permisos al principal sobre un recurso de base de datos que coincida con la política de etiquetas LF.

aws lakeformation grant-permissions \ --cli-input-json file://input.json

Contenidos de 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" ] }

Este comando no genera ninguna salida.

Para obtener más información, consulte Concesión y revocación de permisos sobre los recursos del catálogo de datos en la Guía para desarrolladores de AWS Lake Formation.

Ejemplo 2: Para conceder permisos a nivel de columna al director

El siguiente grant-permissions ejemplo otorga permiso al principal para seleccionar una columna específica.

aws lakeformation grant-permissions \ --cli-input-json file://input.json

Contenidos de 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": [] }

Este comando no genera ninguna salida.

Para obtener más información, consulte Concesión y revocación de permisos sobre los recursos del catálogo de datos en la Guía para desarrolladores de AWS Lake Formation.

Ejemplo 3: Para conceder permisos de tabla al director

El siguiente grant-permissions ejemplo concede al director el permiso de selección en todas las tablas de una base de datos determinada.

aws lakeformation grant-permissions \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "123456789111", "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer" }, "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "TableWildcard": {} } }, "Permissions": [ "SELECT" ], "PermissionsWithGrantOption": [] }

Este comando no genera ninguna salida.

Para obtener más información, consulte Concesión y revocación de permisos sobre los recursos del catálogo de datos en la Guía para desarrolladores de AWS Lake Formation.

Ejemplo 4: Para conceder permisos sobre las etiquetas LF al director

En el siguiente grant-permissions ejemplo, se concede al director un permiso de asociación sobre las etiquetas LF.

aws lakeformation grant-permissions \ --cli-input-json file://input.json

Contenidos de 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": [] }

Este comando no genera ninguna salida.

Para obtener más información, consulte Concesión y revocación de permisos sobre los recursos del catálogo de datos en la Guía para desarrolladores de AWS Lake Formation.

Ejemplo 5: Otorgar permisos sobre las ubicaciones de los datos al director

El siguiente grant-permissions ejemplo concede permiso sobre la ubicación de los datos al principal.

aws lakeformation grant-permissions \ --cli-input-json file://input.json

Contenidos de 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": [] }

Este comando no genera ninguna salida.

Para obtener más información, consulte Concesión y revocación de permisos sobre los recursos del catálogo de datos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte GrantPermissionsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-data-cells-filter.

AWS CLI

Para enumerar los filtros de celdas de datos

El siguiente list-data-cells-filter ejemplo muestra el filtro de celda de datos para una tabla determinada.

aws lakeformation list-data-cells-filter \ --cli-input-json file://input.json

Contenidos de input.json:

{ "MaxResults": 2, "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }

Salida:

{ "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" }

Para obtener más información, consulte Filtrado de datos y seguridad a nivel de celda en Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte la Referencia ListDataCellsFilterde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-permissions.

AWS CLI

Ejemplo 1: Para recuperar la lista de los permisos principales del recurso

El siguiente list-permissions ejemplo devuelve una lista de los permisos principales de los recursos de la base de datos.

aws lakeformation list-permissions \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "123456789111", "ResourceType": "DATABASE", "MaxResults": 2 }

Salida:

{ "PrincipalResourcePermissions": [{ "Principal": { "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-campaign-manager" }, "Resource": { "Database": { "CatalogId": "123456789111", "Name": "tpc" } }, "Permissions": [ "DESCRIBE" ], "PermissionsWithGrantOption": [] }], "NextToken": "E5SlJDSTZleUp6SWpvaU9UQTNORE0zTXpFeE5Ua3pJbjE5TENKbGVIQnBjbUYwYVc5dUlqcDdJbk5sWTI5dVpITWlPakUyTm" }

Para obtener más información, consulte Gestión de los permisos de Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

Ejemplo 2: Para recuperar la lista de permisos principales de la tabla con filtros de datos

En el siguiente list-permissions ejemplo, se enumeran los permisos de la tabla con los filtros de datos relacionados concedidos al principal.

aws lakeformation list-permissions \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "123456789111", "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_customer" } }, "IncludeRelated": "TRUE", "MaxResults": 10 }

Salida:

{ "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" }

Para obtener más información, consulte Gestión de los permisos de Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

Ejemplo 3: Para recuperar la lista de los permisos principales de las etiquetas LF

En el siguiente list-permissions ejemplo, se enumeran los permisos de las etiquetas LF concedidos al director.

aws lakeformation list-permissions \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "123456789111", "Resource": { "LFTag": { "CatalogId": "123456789111", "TagKey": "category", "TagValues": [ "private" ] } }, "MaxResults": 10 }

Salida:

{ "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=" }

Para obtener más información, consulte Gestión de los permisos de Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte ListPermissionsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-resources.

AWS CLI

Para enumerar los recursos gestionados por Lake Formation

En el siguiente list-resources ejemplo, se enumeran los recursos que coinciden con la condición que administra Lake Formation.

aws lakeformation list-resources \ --cli-input-json file://input.json

Contenidos de input.json:

{ "FilterConditionList": [{ "Field": "ROLE_ARN", "ComparisonOperator": "CONTAINS", "StringValueList": [ "123456789111" ] }], "MaxResults": 10 }

Salida:

{ "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" } ] }

Para obtener más información, consulte Gestión de los permisos de Lake Formation en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte ListResourcesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar list-transactions.

AWS CLI

Para enumerar todos los detalles de las transacciones

El siguiente list-transactions ejemplo devuelve metadatos sobre las transacciones y su estado.

aws lakeformation list-transactions \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "123456789111", "StatusFilter": "ALL", "MaxResults": 3 }

Salida:

{ "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==" }

Para obtener más información, consulte Leer y escribir en el lago de datos dentro de las transacciones en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte ListTransactionsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar put-data-lake-settings.

AWS CLI

Para establecer la configuración de un AWS lago de datos gestionado por Lake Formation

El siguiente put-data-lake-settings ejemplo establece la lista de administradores de lagos de datos y otras configuraciones de lagos de datos.

aws lakeformation put-data-lake-settings \ --cli-input-json file://input.json

Contenidos de input.json:

{ "DataLakeSettings": { "DataLakeAdmins": [{ "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-admin" } ], "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [], "TrustedResourceOwners": [], "AllowExternalDataFiltering": true, "ExternalDataFilteringAllowList": [{ "DataLakePrincipalIdentifier ": "123456789111" }], "AuthorizedSessionTagValueList": ["Amazon EMR"] } }

Este comando no genera ninguna salida.

Para obtener más información, consulte Cambiar la configuración de seguridad predeterminada de su lago de datos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte PutDataLakeSettingsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar register-resource.

AWS CLI

Ejemplo 1: Para registrar el almacenamiento de un lago de datos mediante Service Linked Role

En el siguiente register-resource ejemplo, se registra el recurso gestionado por Lake Formation mediante el rol vinculado a un servicio.

aws lakeformation register-resource \ --cli-input-json file://input.json

Contenidos de input.json:

{ "ResourceArn": "arn:aws:s3:::lf-emr-athena-result-123", "UseServiceLinkedRole": true }

Este comando no genera ninguna salida.

Para obtener más información, consulte Añadir una ubicación de Amazon S3 a su lago de datos en la Guía para desarrolladores de AWS Lake Formation.

Ejemplo 2: Para registrar el almacenamiento de un lago de datos mediante una función personalizada

En el siguiente register-resource ejemplo, se registra el recurso como gestionado por Lake Formation mediante un rol personalizado.

aws lakeformation register-resource \ --cli-input-json file://input.json

Contenidos de input.json:

{ "ResourceArn": "arn:aws:s3:::lf-emr-athena-result-123", "UseServiceLinkedRole": false, "RoleArn": "arn:aws:iam::123456789111:role/LF-GlueServiceRole" }

Este comando no genera ninguna salida.

Para obtener más información, consulte Añadir una ubicación de Amazon S3 a su lago de datos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte RegisterResourcela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar remove-lf-tags-from-resource.

AWS CLI

Para eliminar la etiqueta LF de un recurso

En el siguiente remove-lf-tags-from-resource ejemplo, se elimina la asociación de la etiqueta LF con el recurso de la tabla.

aws lakeformation remove-lf-tags-from-resource \ --cli-input-json file://input.json

Contenidos de input.json:

{ "CatalogId": "123456789111", "Resource": { "Table": { "CatalogId": "123456789111", "DatabaseName": "tpc", "Name": "dl_tpc_promotion" } }, "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }

Salida:

{ "Failures": [] }

Para obtener más información, consulte Asignación de etiquetas LF a los recursos del catálogo de datos en la Guía para desarrolladores de AWS Lake Formation.

En el siguiente ejemplo de código se muestra cómo usar revoke-permissions.

AWS CLI

Para revocar los permisos sobre los recursos del director

En el siguiente revoke-permissions ejemplo, se revoca el acceso principal a una tabla específica de una base de datos determinada.

aws lakeformation revoke-permissions \ --cli-input-json file://input.json

Contenidos de 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": [] }

Este comando no genera ninguna salida.

Para obtener más información, consulte Concesión y revocación de permisos sobre los recursos del catálogo de datos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte RevokePermissionsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar search-databases-by-lf-tags.

AWS CLI

Para buscar en los recursos de la base de datos por LFTags

En el siguiente search-databases-by-lf-tags ejemplo, se buscan recursos de bases de datos que coincidan con LFTag la expresión.

aws lakeformation search-databases-by-lf-tags \ --cli-input-json file://input.json

Contenidos de input.json:

{ "MaxResults": 1, "CatalogId": "123456789111", "Expression": [{ "TagKey": "usergroup", "TagValues": [ "developer" ] }] }

Salida:

{ "DatabaseList": [{ "Database": { "CatalogId": "123456789111", "Name": "tpc" }, "LFTags": [{ "CatalogId": "123456789111", "TagKey": "usergroup", "TagValues": [ "developer" ] }] }] }

Para obtener más información, consulte Visualización de los recursos a los que se asigna una etiqueta LF en la Guía para desarrolladores de AWS Lake Formation.

En el siguiente ejemplo de código se muestra cómo usar search-tables-by-lf-tags.

AWS CLI

Para buscar recursos en una tabla por LFTags

En el siguiente search-tables-by-lf-tags ejemplo, se busca en los recursos de la tabla que coincidan con LFTag la expresión.

aws lakeformation search-tables-by-lf-tags \ --cli-input-json file://input.json

Contenidos de input.json:

{ "MaxResults": 2, "CatalogId": "123456789111", "Expression": [{ "TagKey": "usergroup", "TagValues": [ "developer" ] }] }

Salida:

{ "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" ] }] } ] }] }

Para obtener más información, consulte Visualización de los recursos a los que se asigna una etiqueta LF en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte la Referencia SearchTablesByLfTagsde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar start-query-planning.

AWS CLI

Para procesar la declaración de consulta

El siguiente start-query-planning ejemplo envía una solicitud para procesar una declaración de consulta.

aws lakeformation start-query-planning \ --cli-input-json file://input.json

Contenidos de input.json:

{ "QueryPlanningContext": { "CatalogId": "012345678901", "DatabaseName": "tpc" }, "QueryString": "select * from dl_tpc_household_demographics_gov where hd_income_band_sk=9" }

Salida:

{ "QueryId": "772a273f-4a62-4cda-8d98-69615ee8be9b" }

Para obtener más información, consulte Leer y escribir en el lago de datos dentro de las transacciones en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte StartQueryPlanningla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar start-transaction.

AWS CLI

Para iniciar una nueva transacción

En el siguiente start-transaction ejemplo, se inicia una nueva transacción y se devuelve su identificador de transacción.

aws lakeformation start-transaction \ --transaction-type = 'READ_AND_WRITE'

Salida:

{ "TransactionId": "b014d972ca8347b89825e33c5774aec4" }

Para obtener más información, consulte Leer y escribir en el lago de datos dentro de las transacciones en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte StartTransactionla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-lf-tag.

AWS CLI

Para actualizar la definición de etiqueta LF

El siguiente update-lf-tag ejemplo actualiza la definición de etiqueta LF.

aws lakeformation update-lf-tag \ --catalog-id '123456789111' \ --tag-key 'usergroup' \ --tag-values-to-add '["admin"]'

Este comando no genera ninguna salida.

Para obtener más información, consulte Administración de etiquetas LF para el control de acceso a los metadatos en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte la Referencia UpdateLfTagde AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-table-objects.

AWS CLI

Para modificar los objetos de una tabla gobernada

El siguiente update-table-objects ejemplo agrega los objetos S3 proporcionados a la tabla gobernada especificada.

aws lakeformation update-table-objects \ --cli-input-json file://input.json

Contenidos de 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 } }] }

Este comando no genera ninguna salida.

Para obtener más información, consulte Leer y escribir en el lago de datos dentro de las transacciones en la Guía para desarrolladores de AWS Lake Formation.

  • Para API obtener más información, consulte UpdateTableObjectsla Referencia de AWS CLI comandos.