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();
}
}
}