Delete File¶
删除单个资产的文件。
操作权限¶
需授权的资源 | 所需操作权限 |
---|---|
资产 | Write |
请求格式¶
POST https://{integration-address}/connect-service/v2.1/files?action=delete
注解
{integration-address}:消息集成服务网关地址。该信息可登陆 EnOS 管理控制台 ,在 帮助 > 环境信息 > HTTP消息集成通道 中获取。
请求参数(URI)¶
注解
必须在请求参数中使用以下任意一个参数或参数组合以指定资产:
assetId
以指定一个设备或一个逻辑资产。productKey
+deviceKey
以指定一个设备。
名称 | 位置(Path/Query) | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|---|
orgId | Query | 必需 | String | 资产所属的组织ID。如何获取orgId信息>> |
fileUri | Query | 必需 | String | 文件下载uri,格式:enos-connect://xxxx 。 |
assetId | Query | 可选 | String | 资产ID。 |
productKey | Query | 可选 | String | 设备资产的product key。 |
deviceKey | Query | 可选 | String | 设备资产的device key。 |
请求参数(Header)¶
名称 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
apim-accesstoken | 必需 | String | 通过Token认证获取的access token。获取方法,参见 获取Access Token>> |
示例¶
请求示例¶
url: https://{integration-address}/connect-service/v2.1/files?action=delete&orgId=yourOrgId&fileUri=yourFileUri&assetId=yourAssetId
method: POST
requestHeader:
{
"apim-accesstoken":"xxxxaaaxxxx"
}
返回示例¶
{
"code": 0,
"msg": "OK",
"requestId": "6a02a5a5-49f0-4df1-b364-496ad2079033",
"data": {}
}
Java SDK调用示例¶
import com.envisioniot.enos.iot_http_integration.HttpConnection;
import com.envisioniot.enos.iot_http_integration.message.IIntegrationCallback;
import com.envisioniot.enos.iot_http_integration.message.IntegrationResponse;
import com.envisioniot.enos.iot_mqtt_sdk.core.exception.EnvisionException;
import com.envisioniot.enos.sdk.data.DeviceInfo;
import com.google.gson.GsonBuilder;
public class DeleteFileSample {
// 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 = "http://token_server_url";
static final String BROKER_URL = "http://broker_url";
// EnOS Application AccessKey and SecretKey, which can be obtain in Application Registration page in EnOS Console
static final String APP_KEY = "appKey";
static final String APP_SECRET = "appSecret";
// Device credentials, which can be obtained from Device Details page in EnOS Console
static final String ORG_ID = "orgId";
static final String ASSET_ID = "assetId";
static final String PRODUCT_KEY = "productKey";
static final String DEVICE_KEY = "deviceKey";
public static void main(String[] args) {
// Construct a http connection
HttpConnection connection = new HttpConnection.Builder(
BROKER_URL, TOKEN_SERVER_URL, APP_KEY, APP_SECRET, ORG_ID)
.build();
// fileUri is an enos scheme file uri
String fileUri = "enos-connect://xxx.txt";
DeviceInfo deviceInfo = new DeviceInfo().setAssetId(ASSET_ID);
try {
IntegrationResponse response = connection.deleteFile(deviceInfo, fileUri);
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(response));
} catch (EnvisionException e) {
e.printStackTrace();
}
// Asynchronously call the file delete request
try {
connection.deleteFile(deviceInfo, fileUri, new IIntegrationCallback() {
@Override
public void onResponse(IntegrationResponse response) {
System.out.println("receive response asynchronously");
System.out.println(new GsonBuilder().setPrettyPrinting().create().toJson(response));
}
@Override
public void onFailure(Exception failure) {
failure.printStackTrace();
}
});
} catch (EnvisionException e) {
e.printStackTrace();
}
}
}