from metadata.sdk import configure
from metadata.sdk.entities import StoredProcedures
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
sp_id = "770e8400-e29b-41d4-a716-446655440000"
user_id = "user-uuid-here"
# Add a follower
sp = StoredProcedures.add_followers(sp_id, [user_id])
print(f"Followers: {len(sp.followers)}")
# Remove a follower
sp = StoredProcedures.remove_followers(sp_id, [user_id])
# Add a vote
sp = StoredProcedures.add_vote(sp_id, vote_type="votedUp")
# Remove a vote
sp = StoredProcedures.remove_vote(sp_id)
{
"id": "d02b24fa-a246-4563-adf1-9ad21f251c0e",
"name": "calculate_average",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.calculate_average",
"description": "Procedure to calculate average",
"storedProcedureCode": {
"code": "CREATE OR REPLACE PROCEDURE calculate_average(numbers INT ARRAY) RETURNS FLOAT NOT NULL LANGUAGE SQL AS $$DECLARE sum_val INT = 0;count_val INT = 0;average_val FLOAT;BEGIN\n FOR num IN ARRAY numbers DO sum_val := sum_val + num;\n count_val := count_val + 1;\nEND FOR;\nIF count_val = 0 THEN\n average_val := 0.0;\nELSE\n average_val := sum_val / count_val;\nEND IF;\nRETURN average_val;\nEND;$$;"
},
"version": 0.1,
"updatedAt": 1769982660822,
"updatedBy": "admin",
"storedProcedureType": "StoredProcedure",
"databaseSchema": {
"id": "4dd30184-009c-4792-b296-9562eaed651f",
"type": "databaseSchema",
"name": "shopify",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify"
},
"serviceType": "BigQuery",
"deleted": false,
"followers": [
{
"id": "user-uuid-here",
"type": "user",
"name": "john.doe"
}
],
"owners": [],
"tags": [],
"domains": []
}
Manage followers and votes for stored procedures
from metadata.sdk import configure
from metadata.sdk.entities import StoredProcedures
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
sp_id = "770e8400-e29b-41d4-a716-446655440000"
user_id = "user-uuid-here"
# Add a follower
sp = StoredProcedures.add_followers(sp_id, [user_id])
print(f"Followers: {len(sp.followers)}")
# Remove a follower
sp = StoredProcedures.remove_followers(sp_id, [user_id])
# Add a vote
sp = StoredProcedures.add_vote(sp_id, vote_type="votedUp")
# Remove a vote
sp = StoredProcedures.remove_vote(sp_id)
{
"id": "d02b24fa-a246-4563-adf1-9ad21f251c0e",
"name": "calculate_average",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.calculate_average",
"description": "Procedure to calculate average",
"storedProcedureCode": {
"code": "CREATE OR REPLACE PROCEDURE calculate_average(numbers INT ARRAY) RETURNS FLOAT NOT NULL LANGUAGE SQL AS $$DECLARE sum_val INT = 0;count_val INT = 0;average_val FLOAT;BEGIN\n FOR num IN ARRAY numbers DO sum_val := sum_val + num;\n count_val := count_val + 1;\nEND FOR;\nIF count_val = 0 THEN\n average_val := 0.0;\nELSE\n average_val := sum_val / count_val;\nEND IF;\nRETURN average_val;\nEND;$$;"
},
"version": 0.1,
"updatedAt": 1769982660822,
"updatedBy": "admin",
"storedProcedureType": "StoredProcedure",
"databaseSchema": {
"id": "4dd30184-009c-4792-b296-9562eaed651f",
"type": "databaseSchema",
"name": "shopify",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify"
},
"serviceType": "BigQuery",
"deleted": false,
"followers": [
{
"id": "user-uuid-here",
"type": "user",
"name": "john.doe"
}
],
"owners": [],
"tags": [],
"domains": []
}
PUT /v1/storedProcedures/{id}/followers
DELETE /v1/storedProcedures/{id}/followers/{userId}
PUT /v1/storedProcedures/{id}/vote
votedUp, votedDown, or unVoted.from metadata.sdk import configure
from metadata.sdk.entities import StoredProcedures
configure(
host="https://your-company.open-metadata.org/api",
jwt_token="your-jwt-token"
)
sp_id = "770e8400-e29b-41d4-a716-446655440000"
user_id = "user-uuid-here"
# Add a follower
sp = StoredProcedures.add_followers(sp_id, [user_id])
print(f"Followers: {len(sp.followers)}")
# Remove a follower
sp = StoredProcedures.remove_followers(sp_id, [user_id])
# Add a vote
sp = StoredProcedures.add_vote(sp_id, vote_type="votedUp")
# Remove a vote
sp = StoredProcedures.remove_vote(sp_id)
{
"id": "d02b24fa-a246-4563-adf1-9ad21f251c0e",
"name": "calculate_average",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify.calculate_average",
"description": "Procedure to calculate average",
"storedProcedureCode": {
"code": "CREATE OR REPLACE PROCEDURE calculate_average(numbers INT ARRAY) RETURNS FLOAT NOT NULL LANGUAGE SQL AS $$DECLARE sum_val INT = 0;count_val INT = 0;average_val FLOAT;BEGIN\n FOR num IN ARRAY numbers DO sum_val := sum_val + num;\n count_val := count_val + 1;\nEND FOR;\nIF count_val = 0 THEN\n average_val := 0.0;\nELSE\n average_val := sum_val / count_val;\nEND IF;\nRETURN average_val;\nEND;$$;"
},
"version": 0.1,
"updatedAt": 1769982660822,
"updatedBy": "admin",
"storedProcedureType": "StoredProcedure",
"databaseSchema": {
"id": "4dd30184-009c-4792-b296-9562eaed651f",
"type": "databaseSchema",
"name": "shopify",
"fullyQualifiedName": "sample_data.ecommerce_db.shopify"
},
"serviceType": "BigQuery",
"deleted": false,
"followers": [
{
"id": "user-uuid-here",
"type": "user",
"name": "john.doe"
}
],
"owners": [],
"tags": [],
"domains": []
}
| Code | Error Type | Description |
|---|---|---|
401 | UNAUTHORIZED | Invalid or missing authentication token |
403 | FORBIDDEN | User lacks permission |
404 | NOT_FOUND | Stored procedure or user does not exist |
Was this page helpful?