跳到主要内容

alter_alias()

Near Deprecation

此操作会将一个 Collection 的别名重新分配给另一个 Collection。

请求语法​

python
alter_alias(
collection_name: str,
alias: str,
using: str,
timeout: float | None
)
python
from pymilvus import utility

# Alter collection alias
alter_alias(
collection_name="string",
alias="string",
using="default"
)

参数:

  • collection_name (str) -

    [必需]

    要重新分配别名的目标 Collection 的名称。

  • alias (str) -

    [必需]

    Collection 的别名。请注意,该别名应事先存在。

    Note

    什么是 Collection 别名?

    Collection 别名是 Collection 的附加名称。当您希望在不更改代码的情况下将应用程序切换到新的 Collection 时,Collection 别名会很有用。

    在 中, Collection 别名是全局唯一标识符。一个别名只能且仅能分配给一个 Collection。反之,一个 Collection 可以有多个别名。

    以下是将一个 Collection 的别名重新分配给另一个 Collection 的示例:

    假设有两个 Collection:collection_1 和 collection_2。此外,还有一个名为 bob 的 Collection 别名,它原本分配给 collection_1:

    • collection_1 的别名 = ["bob"]

    • collection_2 的别名 = []

    调用 alter_alias("collection_2", "bob") 后:

    • collection_1 的别名 = []

    • collection_2 的别名 = ["bob"]

  • using (str) -

    所使用连接的别名。

    默认值为 default,表示此操作使用默认连接。

  • timeout (float | None)

    此操作的超时时长。将其设置为 None 表示当收到任意响应或发生任意错误时,此操作即超时。

返回类型:

NoneType

返回值:

None

异常:

  • MilvusException

    当此操作期间发生任何错误时,将引发此异常,尤其是在指定的别名不存在时。

示例​

python
from pymilvus import connections, Collection, utility

# Connection to YOUR_CLUSTER_ENDPOINT
connections.connect()

# Get two existing collections
collection_1 = Collection("collection_1")
collection_2 = Collection("collection_2")

# Create an alias for collection_1
utility.create_alias(collection_name="collection_1", alias="bob")

# List aliases for both collections
utility.list_aliases(collection_name="collection_1") # ['bob']
utility.list_aliases(collection_name="collection_2") # []

# Reassigns the alias to collection_2
utility.alter_alias(collection_name="test_collection_2", alias="bob")

# List aliases for both collections
utility.list_aliases(collection_name="collection_1") # []
utility.list_aliases(collection_name="collection_2") # ['bob']

以下操作与 alter_alias() 相关:

最低 SDK 版本Inherit