Skip to content

Get Unfiltered Table Metadata

glue_get_unfiltered_table_metadata R Documentation

Allows a third-party analytical engine to retrieve unfiltered table metadata from the Data Catalog

Description

Allows a third-party analytical engine to retrieve unfiltered table metadata from the Data Catalog.

For IAM authorization, the public IAM action associated with this API is glue:GetTable.

Usage

glue_get_unfiltered_table_metadata(Region, CatalogId, DatabaseName,
  Name, AuditContext, SupportedPermissionTypes, ParentResourceArn,
  RootResourceArn, SupportedDialect, Permissions, QuerySessionContext)

Arguments

Region

Specified only if the base tables belong to a different Amazon Web Services Region.

CatalogId

[required] The catalog ID where the table resides.

DatabaseName

[required] (Required) Specifies the name of a database that contains the table.

Name

[required] (Required) Specifies the name of a table for which you are requesting metadata.

AuditContext

A structure containing Lake Formation audit context information.

SupportedPermissionTypes

[required] Indicates the level of filtering a third-party analytical engine is capable of enforcing when calling the get_unfiltered_table_metadata API operation. Accepted values are:

  • COLUMN_PERMISSION - Column permissions ensure that users can access only specific columns in the table. If there are particular columns contain sensitive data, data lake administrators can define column filters that exclude access to specific columns.

  • CELL_FILTER_PERMISSION - Cell-level filtering combines column filtering (include or exclude columns) and row filter expressions to restrict access to individual elements in the table.

  • NESTED_PERMISSION - Nested permissions combines cell-level filtering and nested column filtering to restrict access to columns and/or nested columns in specific rows based on row filter expressions.

  • NESTED_CELL_PERMISSION - Nested cell permissions combines nested permission with nested cell-level filtering. This allows different subsets of nested columns to be restricted based on an array of row filter expressions.

Note: Each of these permission types follows a hierarchical order where each subsequent permission type includes all permission of the previous type.

Important: If you provide a supported permission type that doesn't match the user's level of permissions on the table, then Lake Formation raises an exception. For example, if the third-party engine calling the get_unfiltered_table_metadata operation can enforce only column-level filtering, and the user has nested cell filtering applied on the table, Lake Formation throws an exception, and will not return unfiltered table metadata and data access credentials.

ParentResourceArn

The resource ARN of the view.

RootResourceArn

The resource ARN of the root view in a chain of nested views.

SupportedDialect

A structure specifying the dialect and dialect version used by the query engine.

Permissions

The Lake Formation data permissions of the caller on the table. Used to authorize the call when no view context is found.

QuerySessionContext

A structure used as a protocol between query engines and Lake Formation or Glue. Contains both a Lake Formation generated authorization identifier and information from the request's authorization context.

Value

A list with the following syntax:

list(
  Table = list(
    Name = "string",
    DatabaseName = "string",
    Description = "string",
    Owner = "string",
    CreateTime = as.POSIXct(
      "2015-01-01"
    ),
    UpdateTime = as.POSIXct(
      "2015-01-01"
    ),
    LastAccessTime = as.POSIXct(
      "2015-01-01"
    ),
    LastAnalyzedTime = as.POSIXct(
      "2015-01-01"
    ),
    Retention = 123,
    StorageDescriptor = list(
      Columns = list(
        list(
          Name = "string",
          Type = "string",
          Comment = "string",
          Parameters = list(
            "string"
          )
        )
      ),
      Location = "string",
      AdditionalLocations = list(
        "string"
      ),
      InputFormat = "string",
      OutputFormat = "string",
      Compressed = TRUE|FALSE,
      NumberOfBuckets = 123,
      SerdeInfo = list(
        Name = "string",
        SerializationLibrary = "string",
        Parameters = list(
          "string"
        )
      ),
      BucketColumns = list(
        "string"
      ),
      SortColumns = list(
        list(
          Column = "string",
          SortOrder = 123
        )
      ),
      Parameters = list(
        "string"
      ),
      SkewedInfo = list(
        SkewedColumnNames = list(
          "string"
        ),
        SkewedColumnValues = list(
          "string"
        ),
        SkewedColumnValueLocationMaps = list(
          "string"
        )
      ),
      StoredAsSubDirectories = TRUE|FALSE,
      SchemaReference = list(
        SchemaId = list(
          SchemaArn = "string",
          SchemaName = "string",
          RegistryName = "string"
        ),
        SchemaVersionId = "string",
        SchemaVersionNumber = 123
      )
    ),
    PartitionKeys = list(
      list(
        Name = "string",
        Type = "string",
        Comment = "string",
        Parameters = list(
          "string"
        )
      )
    ),
    ViewOriginalText = "string",
    ViewExpandedText = "string",
    TableType = "string",
    Parameters = list(
      "string"
    ),
    CreatedBy = "string",
    IsRegisteredWithLakeFormation = TRUE|FALSE,
    TargetTable = list(
      CatalogId = "string",
      DatabaseName = "string",
      Name = "string",
      Region = "string"
    ),
    CatalogId = "string",
    VersionId = "string",
    FederatedTable = list(
      Identifier = "string",
      DatabaseIdentifier = "string",
      ConnectionName = "string"
    ),
    ViewDefinition = list(
      IsProtected = TRUE|FALSE,
      Definer = "string",
      SubObjects = list(
        "string"
      ),
      Representations = list(
        list(
          Dialect = "REDSHIFT"|"ATHENA"|"SPARK",
          DialectVersion = "string",
          ViewOriginalText = "string",
          ViewExpandedText = "string",
          ValidationConnection = "string",
          IsStale = TRUE|FALSE
        )
      )
    ),
    IsMultiDialectView = TRUE|FALSE,
    Status = list(
      RequestedBy = "string",
      UpdatedBy = "string",
      RequestTime = as.POSIXct(
        "2015-01-01"
      ),
      UpdateTime = as.POSIXct(
        "2015-01-01"
      ),
      Action = "UPDATE"|"CREATE",
      State = "QUEUED"|"IN_PROGRESS"|"SUCCESS"|"STOPPED"|"FAILED",
      Error = list(
        ErrorCode = "string",
        ErrorMessage = "string"
      ),
      Details = list(
        RequestedChange = list(),
        ViewValidations = list(
          list(
            Dialect = "REDSHIFT"|"ATHENA"|"SPARK",
            DialectVersion = "string",
            ViewValidationText = "string",
            UpdateTime = as.POSIXct(
              "2015-01-01"
            ),
            State = "QUEUED"|"IN_PROGRESS"|"SUCCESS"|"STOPPED"|"FAILED",
            Error = list(
              ErrorCode = "string",
              ErrorMessage = "string"
            )
          )
        )
      )
    )
  ),
  AuthorizedColumns = list(
    "string"
  ),
  IsRegisteredWithLakeFormation = TRUE|FALSE,
  CellFilters = list(
    list(
      ColumnName = "string",
      RowFilterExpression = "string"
    )
  ),
  QueryAuthorizationId = "string",
  IsMultiDialectView = TRUE|FALSE,
  ResourceArn = "string",
  IsProtected = TRUE|FALSE,
  Permissions = list(
    "ALL"|"SELECT"|"ALTER"|"DROP"|"DELETE"|"INSERT"|"CREATE_DATABASE"|"CREATE_TABLE"|"DATA_LOCATION_ACCESS"
  ),
  RowFilter = "string"
)

Request syntax

svc$get_unfiltered_table_metadata(
  Region = "string",
  CatalogId = "string",
  DatabaseName = "string",
  Name = "string",
  AuditContext = list(
    AdditionalAuditContext = "string",
    RequestedColumns = list(
      "string"
    ),
    AllColumnsRequested = TRUE|FALSE
  ),
  SupportedPermissionTypes = list(
    "COLUMN_PERMISSION"|"CELL_FILTER_PERMISSION"|"NESTED_PERMISSION"|"NESTED_CELL_PERMISSION"
  ),
  ParentResourceArn = "string",
  RootResourceArn = "string",
  SupportedDialect = list(
    Dialect = "REDSHIFT"|"ATHENA"|"SPARK",
    DialectVersion = "string"
  ),
  Permissions = list(
    "ALL"|"SELECT"|"ALTER"|"DROP"|"DELETE"|"INSERT"|"CREATE_DATABASE"|"CREATE_TABLE"|"DATA_LOCATION_ACCESS"
  ),
  QuerySessionContext = list(
    QueryId = "string",
    QueryStartTime = as.POSIXct(
      "2015-01-01"
    ),
    ClusterId = "string",
    QueryAuthorizationId = "string",
    AdditionalContext = list(
      "string"
    )
  )
)