ڈیٹابیسوں کا انتظام
رایج ڈیٹابیس انجنوں کی طرح، آپ ملوس میں ڈیٹابیس بنا سکتے ہیں اور مخصوص صارفین کو انہیں منظر عام پر لانے کا اختیار دے سکتے ہیں۔ یہ صارفین پھر سرکشی کے لئے ڈیٹابیس کے اندرجات کے انتظام کا اختیار حاصل کریں گے۔ ملوس کلسٹر 64 ڈیٹابیسوں تک کا انمول دوری اختیار کرتا ہے۔
ڈیٹابیس بنانا
ڈیٹابیس بنانے کے لئے، آپ کو پہلے ملوس کلسٹر سے رابطہ کرنا ہوگا اور ایک نام تیار کرنا ہوگا:
from pymilvus import connections, db
conn = connections.connect(host="127.0.0.1", port=19530)
database = db.create_database("book")
ڈیٹابیس استعمال کرنا
ملوس کلسٹر کا ایک پہلے سے موجود ڈیٹابیس "default" ہوتا ہے۔ جب تک مخصوص نہ ہو، تو جمع کا نام ڈیفالٹ ڈیٹابیس میں بنایا جائے گا۔
ڈیفالٹ ڈیٹابیس بدلنے کے لئے مندرجہ ذیل مراحل کا پیرو:
db.using_database("book")
آپ ملوس کلسٹر سے رابطہ کرتے وقت استعمال کرنے والی ڈیٹابیس بھی منتخب کرسکتے ہیں، جیسے نیچے دینے والی مثال میں ہے:
conn = connections.connect(
host="127.0.0.1",
port="19530",
db_name="default"
)
ڈیٹابیسوں کی فہرست بنانا
ملوس کلسٹر میں موجود تمام ڈیٹابیس حاصل کرنے کے لئے مندرجہ ذیل مراحل کا پیرو:
db.list_database()
['default', 'book']
ایک ڈیٹابیس حذف کرنا
ایک ڈیٹابیس کو حذف کرنے کے لئے، پہلے آپ کو تمام اس کے جمع حذف کرنے ہوں گے۔ ورنہ حذف ناممکن ہوگا۔
db.drop_database("book")
db.list_database()
['default']
ڈیٹابیس میں RBAC کا استعمال
RBAC بھی ڈیٹابیس عملیاتوں کو شامل کرتا ہے اور اگلے سرکاریت کی مطابقت کو یقینی بناتا ہے۔ اجازت API (دینا / واپس لینا / فہرست اجازت دینا) میں لفظ ڈیٹابیس مندرجہ ذیل معانی رکھتا ہے:
- اگر ملوس رابطہ اور اجازت API کا کوئی کال
db_name
مخصوص نہ کریں تو، ڈیٹابیس ڈیفالٹ ڈیٹابیس کو ظاہر کرتا ہے۔ - اگر ملوس رابطہ
db_name
مخصوص کرتا ہے، لیکن بعد کے اجازت API کالز نہ کریں تو، ڈیٹابیس ملوس رابطہ میں مخصوص کردہ ڈیٹابیس نام کو ظاہر کرتا ہے۔ - اگر اجازت API کال ملوس رابطہ پر ہو گی، چاہے
db_name
مخصوص ہو یا نہ ہو، ڈیٹابیس اجازت API کال میں مخصوص کردہ ڈیٹابیس نام کو ظاہر کرتا ہے۔
مندرجہ ذیل کوڈ کاٹا نیچے دیے گئے بلاکس کے درمیان بٹایا گیا ہے۔
from pymilvus import connections, Role
_HOST = '127.0.0.1'
_PORT = '19530'
_ROOT = "root"
_ROOT_PASSWORD = "Milvus"
_ROLE_NAME = "test_role"
_PRIVILEGE_INSERT = "insert"
def connect_to_milvus(db_name="default"):
print(f"ملوس سے رابطہ کر رہے ہیں\n")
connections.connect(host=_HOST, port=_PORT, user=_ROOT, password=_ROOT_PASSWORD, db_name=db_name)
- اگر ملوس رابطہ اور اجازت API کال
db_name
مخصوص نہ کریں تو، ڈیٹابیس ڈیفالٹ ڈیٹابیس کو ظاہر کرتا ہے۔
connect_to_milvus()
role = Role(_ROLE_NAME)
role.create()
connect_to_milvus()
role.grant("Collection", "*", _PRIVILEGE_INSERT)
print(role.list_grants())
print(role.list_grant("Collection", "*"))
role.revoke("Global", "*", _PRIVILEGE_INSERT)
- اگر ملوس رابطہ
db_name
مخصوص کرتا ہے، لیکن بعد کے اجازت API کالز نہ کریں تو، ڈیٹابیس ملوس رابطہ میں مخصوص کردہ ڈیٹابیس نام کو ظاہر کرتا ہے۔
connect_to_milvus(db_name="foo")
role.grant("Collection", "*", _PRIVILEGE_INSERT)
print(role.list_grants())
print(role.list_grant("Collection", "*"))
role.revoke("Global", "*", _PRIVILEGE_INSERT)
- اگر اجازت API کال ملوس رابطہ پر ہو گی، چاہے
db_name
مخصوص ہو یا نہ ہو، ڈیٹابیس اجازت API کال میں مخصوص کردہ ڈیٹابیس نام کو ظاہر کرتا ہے۔
db_name = "foo"
connect_to_milvus()
role.grant("Collection", "*", _PRIVILEGE_INSERT, db_name=db_name)
print(role.list_grants(db_name=db_name))
print(role.list_grant("Collection", "*", db_name=db_name))
role.revoke("Global", "*", _PRIVILEGE_INSERT, db_name=db_name)