Get File


Get the information of a file. This API is only available if 2.3 Cumulative Update 3 has been applied to your environment. For the full change list of 2.3 Cumulative Update 3, see Cumulative Update 3.

Operation Permissions

Required Authorization

Required Operation Permission

Asset

Read

Request Format

GET https://{integration-address}/connect-service/v2.1/files?action=getFileInfo

Note

{integration-address}: The gateway address of message integration service. Log in to the EnOS Management Console and find it in Help > Environment Information.

Request Parameters (URI)

Note

Use one of the following methods to specify the asset:

  • Include assetId in the request

  • Include productKey + deviceKey in the request

Name

Location (Path/Query)

Mandatory/Optional

Data Type

Description

orgId

Query

Mandatory

String

The organization ID which the asset belongs to. How to get orgId>>

fileUri

Query

Mandatory

String

The URI of the file. Format: enos-connect://xxxx

category

Query

Mandatory

String

The type of the file to be downloaded. The value feature stands for model definition and ota for OTA-related resources.

assetId

Query

Optional (See Note above)

String

The asset ID. How to get assetID>>

productKey

Query

Optional (See Note above)

String

The product key. To be used with deviceKey.

deviceKey

Query

Optional (See Note above)

String

The device key. To be used with productKey.

Request Parameters (Header)

Name

Mandatory/Optional

Data Type

Description

apim-accesstoken

Mandatory

String

The access token obtained via token authentication. For more information, see Get Access Token

Response Parameters

Name

Data Type

Description

data

FileMetaDto Struct

The file metadata information. For more information, see FileMetaDto Struct

Samples

Request Sample

https://{integration-address}/connect-service/v2.1/files?action=getFileInfo&orgId=yourOrgId&fileUri=yourFileUri&category=feature&assetId=yourAssetId
method: GET
requestHeader: {
  "apim-accesstoken":"yourAccessToken"
}

Response Sample

{
    "code": 0,
    "msg": "OK",
    "requestId": "6a02a5a5-49f0-4df1-b364-496ad2079033",
    "data": {
        "orgId": "yourOrgId",
        "category": "feature",
        "fileUri": "yourFileUri",
        "originalFilename": "file.txt",
        "fileSize": 123,
        "md5": "md5value",
        "signMethod": "md5",
        "sign": "fileSig",
        "createTime": 1648694084000
    }
}

Java SDK Sample

import com.envisioniot.enos.iot_http_integration.FileCategory;
import com.envisioniot.enos.iot_http_integration.HttpConnection;
import com.envisioniot.enos.iot_http_integration.dto.FileMetaDto;
import com.envisioniot.enos.iot_http_integration.message.*;
import com.envisioniot.enos.iot_mqtt_sdk.core.exception.EnvisionException;
import com.envisioniot.enos.sdk.data.DeviceInfo;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;

public class GetFileInfoSample {
    // EnOS Token Server URL and HTTP Broker URL, which can be obtained from Environment Information page in EnOS Console
    static final String TOKEN_SERVER_URL = "https://ag-beta1.eniot.io";
    static final String BROKER_URL = "https://iot-http-integration-beta1.eniot.io";

    // EnOS Application AccessKey and SecretKey, which can be obtain in Application Registration page in EnOS Console
    static final String APP_KEY = "yourAppKey";
    static final String APP_SECRET = "yourAppSecret";

    // Device credentials, which can be obtained from Device Details page in EnOS Console
    static final String ORG_ID = "yourOrgId";
    static final String ASSET_ID = "yourAssetId";
    static final String PRODUCT_KEY = "yourProductKey";
    static final String DEVICE_KEY = "yourDeviceKey";


    public static void main(String[] args) throws EnvisionException {
        // Construct a http connection
        HttpConnection connection = new HttpConnection.Builder(
                BROKER_URL, TOKEN_SERVER_URL, APP_KEY, APP_SECRET, ORG_ID)
                .build();

        DeviceInfo deviceInfo = new DeviceInfo().setAssetId(ASSET_ID);
//        DeviceInfo deviceInfo = new DeviceInfo().setKey(PRODUCT_KEY,DEVICE_KEY);
        // fileUri is an enos scheme file uri
        String fileUri = "enos-connect://file.txt";

        try {
            FileInfoResponse rsp = connection.getFileInfo(deviceInfo, fileUri, FileCategory.FEATURE);
            FileMetaDto data = rsp.getData();
        } catch (EnvisionException e) {
            e.printStackTrace();
        }
    }
}