Send processed data from Unstructured to Astra DB.

The requirements are as follows.

To create an Astra DB destination connector, see the following examples.

import os

from unstructured_client import UnstructuredClient
from unstructured_client.models.operations import CreateDestinationRequest
from unstructured_client.models.shared import (
    CreateDestinationConnector,
    DestinationConnectorType,
    AstraDBConnectorConfigInput
)

with UnstructuredClient(api_key_auth=os.getenv("UNSTRUCTURED_API_KEY")) as client:
    response = client.destinations.create_destination(
        request=CreateDestinationRequest(
            create_destination_connector=CreateDestinationConnector(
                name="<name>",
                type=DestinationConnectorType.ASTRADB,
                config=AstraDBConnectorConfigInput(
                    token="<token>",
                    api_endpoint="<api-endpoint>",
                    collection_name="<collection-name>",
                    keyspace="<keyspace>",
                    batch_size=<batch-size>,
                    flatten_metadata=<True|False>
                )
            )
        )
    )

    print(response.destination_connector_information)

Replace the preceding placeholders as follows:

  • <name> (required) - A unique name for this connector.
  • <token> (required) - The application token for the database.
  • <api-endpoint> (required) - The database’s associated API endpoint.
  • <collection-name> (required) - The name of the collection in the namespace.
  • <keyspace> - The name of the keyspace in the collection. The default is default_keyspace if not otherwise specified.
  • <batch-size> - The maximum number of records to send per batch. The default is 20 if not otherwise specified.
  • flatten_metadata - Set to true to flatten the metadata into each record. Specifically, when flattened, the metadata key values are brought to the top level of the element, and the metadata key itself is removed. By default, the metadata is not flattened (false).