开始之前
要访问资源、数据集或文件中的任何元数据,请确保应用程序具有所有正确的访问权限。有关更多信息,请参阅管理身份用例。
我该如何...?
创建元数据字段定义
要创建新的元数据字段,请执行以下步骤
- 创建一个
CreateField
对象并填写必要的信息。 - 使用组织 ID 和您的
CreateField
对象调用create_field_definition
。对于FieldDefinitionType
,可能的选项为BOOLEAN
SELECTION
NUMBER
TEXT
TIMESTAMP
URL
USER
create_field = CreateFieldDefinition( key = "my_new_field", display_name = "My Field", type = unity_cloud.assets.FieldDefinitionType.SELECT, accepted_values = ["value1", "value2", "value3"], multiselection = False ) unity_cloud.assets.create_field_definition(org_id = "0123456", create_field = create_field)
更新元数据字段定义
要更新元数据字段,请执行以下步骤
- 创建一个
UpdateField
对象以及要更新的信息。 - 使用组织 ID 和您的
UpdateFieldobject
调用update_field_definition
。
update_field = UpdateFieldDefinition( key = "my_new_field", display_name = "My Field with a new name", accepted_values = ["value1", "value2", "value3", "value4"] ) unity_cloud.assets.update_field_definition(org_id = "0123456", update_field = create_field)
向 SELECT 元数据字段添加接受值
要向类型为SELECT
的元数据字段添加接受值,请使用新值调用add_accepted_values_to_field_definition
。
此操作消除了使用所有现有值调用update_field_definition
的必要性。
unity_cloud.assets.add_accepted_values_to_field_definition(org_id = "0123456", field_key = "my_new_field", accepted_values = ["value5", "value6"])
从 SELECT 元数据字段中删除接受值
要从类型为SELECT
的元数据字段中删除接受值,请使用要删除的值调用remove_accepted_values_from_field_definition
。
此操作消除了使用要保留的值调用update_field_definition
的必要性。
unity_cloud.assets.remove_accepted_values_from_field_definition(org_id = "0123456", field_key = "my_new_field", accepted_values = ["value5", "value6"])
删除元数据字段定义
要删除元数据字段,请使用其组织 ID 和字段键调用 delete_field_definition。
unity_cloud.assets.delete_field_definition(org_id = "0123456", field_key = "my_new_field")
列出所有字段定义
要检索组织中的所有元数据字段,请使用组织 ID 和是否要在列表中包含已删除的字段调用list_field_definitions
。
- (可选) 添加参数 name_sorting_order 以按字母顺序对结果进行排序,可以是升序或降序。
- (可选) 添加参数
limit_to
以限制返回的结果数量。将其保持不变或设置为 0 以返回所有内容。 - (可选) 添加参数
skip
以指定要跳过的结果集合数量。与 limit_to 一起使用以对结果进行分页。
fields = unity_cloud.assets.list_field_definitions( org_id = "0123456", include_deleted = False, name_sorting_order = SortingOrder.ASCENDING, limit_to = 10, skip = 0)
获取字段定义
要从组织中检索元数据字段,请使用组织 ID 和字段的键调用get_field_definition
。
field = unity_cloud.assets.get_field_definition(org_id = "0123456", field_key = "my_new_field")
管理元数据
在管理Metadata
字典时,请确保字典具有现有的元数据字段键,并且根据其类型具有一致的值。
对于类型为SELECT
的字段,accepted_values 可以是字符串或字符串数组。这种区别取决于为 multiselection 设置的值。
- 如果设置为
TRUE
,则accepted_values
是一个字符串数组。 - 如果设置为
FALSE
,则accepted_values
是一个字符串。
- 使用以下代码示例创建实体
metadata = dict() metadata["Language"] = "C#" asset_creation = AssetCreation( name = "your-asset-name", description = "your-asset-description", type = unity_cloud.assets.asset_type.MODEL_3D, metadata = metadata )
- 使用以下代码示例更新实体
metadata = dict() metadata["Language"] = "C#" asset_update = AssetUpdate( name = "your-asset-name", metadata = metadata )
- 使用以下代码示例获取实体的元数据
asset_metadata = unity_cloud.assets.get_asset_metadata( org_id = "012345", project_id = "1234abcd-ab12-cd34-ef56-123456abcdef", asset_id = "0123456789", keys = []) asset_prog_language = asset_metadata["Language"] dataset_metadata = unity_cloud.datasets.get_dataset_metadata( org_id = "012345", project_id = "1234abcd-ab12-cd34-ef56-123456abcdef", asset_id = "0123456789", dataset_id = "0123456789", keys = []) file_Metadata = unity_cloud.files.get_file_metadata( org_id = "012345", project_id = "1234abcd-ab12-cd34-ef56-123456abcdef", asset_id = "0123456789", dataset_id = "0123456789", cloud_file_path = PurePosixPath("path/to/file.ext"), keys = [])