AWS AppSync

2023/11/27 - AWS AppSync - 2 new api methods

Changes  This update enables introspection of Aurora cluster databases using the RDS Data API

GetDataSourceIntrospection (new) Link ¶

Retrieves the record of an existing introspection. If the retrieval is successful, the result of the instrospection will also be returned. If the retrieval fails the operation, an error message will be returned instead.

See also: AWS API Documentation

Request Syntax

client.get_data_source_introspection(
    introspectionId='string',
    includeModelsSDL=True|False,
    nextToken='string',
    maxResults=123
)
type introspectionId

string

param introspectionId

[REQUIRED]

The introspection ID. Each introspection contains a unique ID that can be used to reference the instrospection record.

type includeModelsSDL

boolean

param includeModelsSDL

A boolean flag that determines whether SDL should be generated for introspected types or not. If set to true , each model will contain an sdl property that contains the SDL for that type. The SDL only contains the type data and no additional metadata or directives.

type nextToken

string

param nextToken

Determines the number of types to be returned in a single response before paginating. This value is typically taken from nextToken value from the previous response.

type maxResults

integer

param maxResults

The maximum number of introspected types that will be returned in a single response.

rtype

dict

returns

Response Syntax

{
    'introspectionId': 'string',
    'introspectionStatus': 'PROCESSING'|'FAILED'|'SUCCESS',
    'introspectionStatusDetail': 'string',
    'introspectionResult': {
        'models': [
            {
                'name': 'string',
                'fields': [
                    {
                        'name': 'string',
                        'type': {
                            'kind': 'string',
                            'name': 'string',
                            'type': {'... recursive ...'},
                            'values': [
                                'string',
                            ]
                        },
                        'length': 123
                    },
                ],
                'primaryKey': {
                    'name': 'string',
                    'fields': [
                        'string',
                    ]
                },
                'indexes': [
                    {
                        'name': 'string',
                        'fields': [
                            'string',
                        ]
                    },
                ],
                'sdl': 'string'
            },
        ],
        'nextToken': 'string'
    }
}

Response Structure

  • (dict) --

    • introspectionId (string) --

      The introspection ID. Each introspection contains a unique ID that can be used to reference the instrospection record.

    • introspectionStatus (string) --

      The status of the introspection during retrieval. By default, when a new instrospection is being retrieved, the status will be set to PROCESSING . Once the operation has been completed, the status will change to SUCCESS or FAILED depending on how the data was parsed. A FAILED operation will return an error and its details as an introspectionStatusDetail .

    • introspectionStatusDetail (string) --

      The error detail field. When a FAILED introspectionStatus is returned, the introspectionStatusDetail will also return the exact error that was generated during the operation.

    • introspectionResult (dict) --

      The DataSourceIntrospectionResult object data.

      • models (list) --

        The array of DataSourceIntrospectionModel objects.

        • (dict) --

          Contains the introspected data that was retrieved from the data source.

          • name (string) --

            The name of the model. For example, this could be the name of a single table in a database.

          • fields (list) --

            The DataSourceIntrospectionModelField object data.

            • (dict) --

              Represents the fields that were retrieved from the introspected data.

              • name (string) --

                The name of the field that was retrieved from the introspected data.

              • type (dict) --

                The DataSourceIntrospectionModelFieldType object data.

                • kind (string) --

                  Specifies the classification of data. For example, this could be set to values like Scalar or NonNull to indicate a fundamental property of the field.

                  Valid values include:

                  • Scalar : Indicates the value is a primitive type (scalar).

                  • NonNull : Indicates the field cannot be null .

                  • List : Indicates the field contains a list.

                • name (string) --

                  The name of the data type that represents the field. For example, String is a valid name value.

                • type (dict) --

                  The DataSourceIntrospectionModelFieldType object data. The type is only present if DataSourceIntrospectionModelFieldType.kind is set to NonNull or List .

                  The type typically contains its own kind and name fields to represent the actual type data. For instance, type could contain a kind value of Scalar with a name value of String . The values Scalar and String will be collectively stored in the values field.

                • values (list) --

                  The values of the type field. This field represents the AppSync data type equivalent of the introspected field.

                  • (string) --

              • length (integer) --

                The length value of the introspected field.

          • primaryKey (dict) --

            The primary key stored as a DataSourceIntrospectionModelIndex object.

            • name (string) --

              The name of the index.

            • fields (list) --

              The fields of the index.

              • (string) --

          • indexes (list) --

            The array of DataSourceIntrospectionModelIndex objects.

            • (dict) --

              The index that was retrieved from the introspected data.

              • name (string) --

                The name of the index.

              • fields (list) --

                The fields of the index.

                • (string) --

          • sdl (string) --

            Contains the output of the SDL that was generated from the introspected types. This is controlled by the includeModelsSDL parameter of the GetDataSourceIntrospection operation.

      • nextToken (string) --

        Determines the number of types to be returned in a single response before paginating. This value is typically taken from nextToken value from the previous response.

StartDataSourceIntrospection (new) Link ¶

Creates a new introspection. Returns the introspectionId of the new introspection after its creation.

See also: AWS API Documentation

Request Syntax

client.start_data_source_introspection(
    rdsDataApiConfig={
        'resourceArn': 'string',
        'secretArn': 'string',
        'databaseName': 'string'
    }
)
type rdsDataApiConfig

dict

param rdsDataApiConfig

The rdsDataApiConfig object data.

  • resourceArn (string) -- [REQUIRED]

    The resource ARN of the RDS cluster.

  • secretArn (string) -- [REQUIRED]

    The secret's ARN that was obtained from Secrets Manager. A secret consists of secret information, the secret value, plus metadata about the secret. A secret value can be a string or binary. It typically includes the ARN, secret name and description, policies, tags, encryption key from the Key Management Service, and key rotation data.

  • databaseName (string) -- [REQUIRED]

    The name of the database in the cluster.

rtype

dict

returns

Response Syntax

{
    'introspectionId': 'string',
    'introspectionStatus': 'PROCESSING'|'FAILED'|'SUCCESS',
    'introspectionStatusDetail': 'string'
}

Response Structure

  • (dict) --

    • introspectionId (string) --

      The introspection ID. Each introspection contains a unique ID that can be used to reference the instrospection record.

    • introspectionStatus (string) --

      The status of the introspection during creation. By default, when a new instrospection has been created, the status will be set to PROCESSING . Once the operation has been completed, the status will change to SUCCESS or FAILED depending on how the data was parsed. A FAILED operation will return an error and its details as an introspectionStatusDetail .

    • introspectionStatusDetail (string) --

      The error detail field. When a FAILED introspectionStatus is returned, the introspectionStatusDetail will also return the exact error that was generated during the operation.