Query the connector table¶
List tables or collections in a structured data source. object_kind in the response is used to determine the object type.
POST https://moi.matrixorigin.cn/newmoi/connectors/structured/v1/source/objects
Preparation before calling¶
Prepare the query conditions in this order:
List connector databases and record the database name.
Confirm that the browsable connector has
enabledandcapabilities.list_tablesset totrue.Only when
list_schemasistrue, list database schemas and pass the returned schema name; otherwise, omitschema.
The example below uses:
$AI_STUDIO_API_KEY: The actual personal access token, passed through theX-API-KeyHeader.$WORKSPACE_ID: The workspace ID to be queried, passed through theX-Workspace-IDHeader.$CONNECTOR_IDand$SOURCE_TYPE: View the connector ID and source type returned by the browsable connector interface.$DATABASE: Query thedata.databases[].namereturned by the database interface.$SCHEMA: Get thedata.schemas[].namereturned by the database classification interface; this field is not passed when the source does not support the classification level.
Request example¶
curl -X POST "https://moi.matrixorigin.cn/newmoi/connectors/structured/v1/source/objects" \
-H "X-API-Key: $AI_STUDIO_API_KEY" \
-H "X-Workspace-ID: $WORKSPACE_ID" \
-H 'Content-Type: application/json' \
-d "{
\"connector_id\": \"$CONNECTOR_ID\",
\"source_type\": \"$SOURCE_TYPE\",
\"database\": \"$DATABASE\"
}"
When the source has this classification level, add "schema":"$SCHEMA" in the request body.
Request body¶
Field |
Type |
Is it required |
Description |
|---|---|---|---|
|
string |
Yes |
The saved connector ID. |
|
string |
Yes |
A structured source type. |
|
string |
Yes |
Database name. |
|
string |
No |
Database classification name; only provided if the source has this classification level. |
[] after a type denotes an array. [] in a field path denotes each item in an array.
Successful response¶
Returns 200 on success.
{
"code": "OK",
"msg": "OK",
"data": {
"objects": [
{
"database": "sales",
"schema": "public",
"table": "orders",
"display_name": "orders",
"object_kind": "table"
}
],
"endpoint_results": []
}
}
The response fields are as follows.
Field |
Type |
Description |
|---|---|---|
|
string |
|
|
string |
|
|
object[] |
Structured objects under the current database and category. |
|
string |
The database to which the object belongs, passed as it is when querying the connector table structure. |
|
string |
The database classification to which the object belongs; may be omitted if not applicable. Pass in the table structure query as is when needed. |
|
string |
Table name; returned for table objects and passed unchanged when querying the table structure. |
|
string |
Collection name; returned for collection objects and passed unchanged when querying the table structure. |
|
string |
The name of the object used for display. |
|
string |
Object type. |
|
JSON[] |
Currently returns an empty array. |
[] after a type means an array. For example, string[] is an array of strings.
Error response¶
{
"code": "ErrParamInvalid",
"msg": "invalid parameter",
"data": null
}
Common HTTP errors¶
HTTP status code |
error code |
Common causes |
Recommended actions |
|---|---|---|---|
|
|
Field is missing, or |
Use the |
|
|
The current service does not provide structured data source discovery. |
This group of interfaces is temporarily unavailable. |
|
|
The structured data source feature is not enabled in the current workspace. |
Check if this feature is available for this workspace. |
|
|
MongoDB structured discovery is not enabled for the current workspace. |
Do not continue calling the MongoDB connector’s discovery interface. |
|
|
The service failed to list the object. |
Keep the desensitization error message and try again. |
Follow-up operations¶
After selecting the object, bring the object identifier query connector table structure.