
# 根据文件ID查询发布库中该文件的详情 - ShowFileDetail
#### 功能介绍
在日常数据管理工作中，根据文件ID查询指定文件详情，包含文件名、文件大小、下载地址、校验和、文件状态和发布状态等信息。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-cloudartifact/CloudArtifact_api_0008.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-cloudartifact/Permission.html)。
| 授权项                               | 访问级别 | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| codeartsartifact:releaseRepo:read | Read | -           | -   | -  | -      |
   
#### URI
GET /devreposerver/v5/files/{id}/info
表1路径参数 
| 参数 | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| id | 是    | String | **参数解释**： 文件id, 使用[查询文件/项目列表](https://support.huaweicloud.com/api-cloudartifact/ListFiles.html)接口查询文件信息的响应体中"id"参数的值作为文件ID的值。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| x-auth-token | 是    | String | **参数解释**: 用户token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值），调用详情请参考章节。 **约束限制**: 不涉及。 **取值范围**: 字符串长度为1-100000。 **默认取值**: 不涉及。 |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数       | 参数类型                                                                                      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| status   | String                                                                                    | **参数解释**: 请求成功或失败状态。 **取值范围**: - success：请求成功。   - error：请求失败。    |
| trace_id | String                                                                                    | **参数解释**: 请求id，当前请求的唯一标识。 **取值范围**: 数字及中划线(-)组成的字符串。                                                                                                                                                                                                                                                                                                |
| result   | [ShowFileDetailRepoFileDOV5] object | **参数解释**: 文件信息。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                      |
   
 表4ShowFileDetailRepoFileDOV5 
| 参数                        | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| status                    | String  | **参数解释**: 仓库状态。 **取值范围**: - active：正常。   - delete：删除。   - disabled：无效。   - view：私有库浏览者。   - trash：废弃。                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| domain_id                 | String  | **参数解释**: 租户id。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| region                    | String  | **参数解释**: 区域。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| created_time              | String  | **参数解释**: 创建时间，时间格式：yyyy-MM-dd HH:mm:ss。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| modified_time             | String  | **参数解释**: 修改时间，时间格式：yyyy-MM-dd HH:mm:ss。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| created_user_id           | String  | **参数解释**: 创建人id。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| created_user_name         | String  | **参数解释**: 创建人名称。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| created_user_nick_name    | String  | **参数解释**: 创建人昵称。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| created_user_domain_name  | String  | **参数解释**: 创建人租户名称。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| modified_user_id          | String  | **参数解释**: 修改人ID。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| modified_user_name        | String  | **参数解释**: 修改人名称。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| modified_user_nick_name   | String  | **参数解释**: 修改人昵称。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| modified_user_domain_name | String  | **参数解释**: 修改人租户名称。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| id                        | String  | **参数解释**: id。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| category                  | String  | **参数解释**： 发布库版本的状态。 **取值范围**： - test：未测试。   - testing: 测试中。   - tested: 已测试。   - xray: 未杀毒。   - xrayed: 已杀毒。   - sign: 未签名。   - signed: 已签名。   - prod：已发布。    |
| file_id                   | String  | **参数解释**: 文件id。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| repo_name                 | String  | **参数解释**: 仓库id。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| project_id                | String  | **参数解释**: 项目id。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| parent_id                 | String  | **参数解释**: 父级目录ID。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| name                      | String  | **参数解释**: 文件名。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| type                      | String  | **参数解释**: 文件类型, folder代表是目录,file代表文件。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| extension                 | String  | **参数解释**: 文件扩展名。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| path                      | String  | **参数解释**: 文件路径。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| size                      | Long    | **参数解释**: 文件大小,单位为byte。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| md5                       | String  | **参数解释**: md5校验和。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| sha256                    | String  | **参数解释**: sha256校验和。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| download_url              | String  | **参数解释**: 下载地址。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| download_url_with_id      | String  | **参数解释**: 带有id的下载地址。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| web_url                   | String  | **参数解释**: 历史版本遗留字段，请忽略。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| version_enable            | Boolean | **参数解释**: 判断当前文件或文件夹父目录是否为版本路径，即仓库下第一层子目录。 **取值范围**: - true：父目录是版本路径。   - false：父目录不是版本路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| migrated_state            | Integer | **参数解释**: migrated_state。 **取值范围**: 该参数为内部数据改造参数，无业务含义，请忽略。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| upload_id                 | String  | **参数解释**: 该参数无返回值，请忽略。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| project_name              | String  | **参数解释**: 项目名称。 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   
#### 请求示例
根据文件ID查询发布库中该文件的详情
```
https://artifact.example-1.com/devreposerver/v5/files/a3770843d8594b0a9b3a1131a613689a/info
```
#### 响应示例
**状态码：200**
根据文件ID查询文件成功
```
{
  "status" : "success",
  "trace_id" : "28312d02ba6144bdbeee358f8be2d052",
  "result" : {
    "status" : "active",
    "region" : "xx-xxxxx-x",
    "id" : "a3770843d8594b0a9b3a1131a613689a",
    "name" : "tool_version.json",
    "type" : "file",
    "category" : "test",
    "extension" : "json",
    "path" : "/",
    "size" : 157,
    "md5" : "c25d932898e4b63d1447d9c37b957513",
    "sha256" : "bd992ba958893fa9aabdf63fecbfdaf91583959b9c383054c5a5f66c9b109887",
    "domain_id" : "09d2ca2f5080d5b60f51c00ae5bad0a0",
    "created_time" : "2025-05-13 16:55:53",
    "modified_time" : "2025-05-13 16:55:53",
    "created_user_id" : "09d2ca2ffd00d3c21ff8c00a4dd1e080",
    "created_user_name" : "devcloud_devcloud_y00226182_05",
    "created_user_nick_name" : "仓库小能手",
    "created_user_domain_name" : "devcloud_devcloud_y00226182_05",
    "modified_user_id" : "09d2ca2ffd00d3c21ff8c00a4dd1e080",
    "modified_user_name" : "devcloud_devcloud_y00226182_05",
    "modified_user_nick_name" : "仓库小能手",
    "modified_user_domain_name" : "devcloud_devcloud_y00226182_05",
    "build_version" : "latest",
    "repo_url" : "",
    "project_id" : "f132b62084774001b84c294c0eef27f2",
    "file_id" : "3fe9d7a21bf04df2b0159ae958b6f9ad",
    "repo_name" : "xx-xxxxx-x_f132b62084774001b84c294c0eef27f2_generic_0",
    "project_name" : "test-jk2",
    "parent_id" : "0",
    "download_url" : "DevRepoServer/v1/files/download?filename=f132b62084774001b84c294c0eef27f2/tool_version.json",
    "download_url_with_id" : "DevRepoServer/v1/files/download?file_id=a3770843d8594b0a9b3a1131a613689a",
    "web_url" : "releaseman/project/f132b62084774001b84c294c0eef27f2/private/general?parentId=0",
    "version_enable" : false,
    "migrated_state" : 3,
    "repo_same_trash_file_name" : "trash_3fe9d7a21bf04df2b0159ae958b6f9ad_tool_version.json",
    "repo_file_path" : "/tool_version.json"
  }
}
```
#### SDK代码示例
SDK代码示例如下。
#### Java
```
package com.huaweicloud.sdk.test;
import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.codeartsartifact.v2.region.CodeArtsArtifactRegion;
import com.huaweicloud.sdk.codeartsartifact.v2.*;
import com.huaweicloud.sdk.codeartsartifact.v2.model.*;
public class ShowFileDetailSolution {
    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);
        CodeArtsArtifactClient client = CodeArtsArtifactClient.newBuilder()
                .withCredential(auth)
                .withRegion(CodeArtsArtifactRegion.valueOf("<YOUR REGION>"))
                .build();
        ShowFileDetailRequest request = new ShowFileDetailRequest();
        request.withId("{id}");
        try {
            ShowFileDetailResponse response = client.showFileDetail(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
```
#### Python
```
# coding: utf-8
import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcodeartsartifact.v2.region.codeartsartifact_region import CodeArtsArtifactRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcodeartsartifact.v2 import *
if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    credentials = BasicCredentials(ak, sk)
    client = CodeArtsArtifactClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CodeArtsArtifactRegion.value_of("<YOUR REGION>")) \
        .build()
    try:
        request = ShowFileDetailRequest()
        request.id = "{id}"
        response = client.show_file_detail(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
```
#### Go
```
package main
import (
"fmt"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    codeartsartifact "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsartifact/v2"
"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsartifact/v2/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/codeartsartifact/v2/region"
)
func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    auth, err := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        SafeBuild()
    if err != nil {
        fmt.Println(err)
        return
    }
    hcClient, err := codeartsartifact.CodeArtsArtifactClientBuilder().
         WithRegion(region.ValueOf("<YOUR REGION>")).
         WithCredential(auth).
         SafeBuild()
    if err != nil {
        fmt.Println(err)
        return
    }
    client := codeartsartifact.NewCodeArtsArtifactClient(hcClient)
    request := &model.ShowFileDetailRequest{}
request.Id = "{id}"
response, err := client.ShowFileDetail(request)
if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}
```
#### 更多
更多编程语言的SDK代码示例，请参见[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CodeArtsArtifact/sdk?api=ShowFileDetail)的代码示例页签，可生成自动对应的SDK代码示例。
#### 状态码
| 状态码 | 描述           |
|:---|:---|
| 200 | 根据文件ID查询文件成功 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cloudartifact/ErrorCode.html)。
