尝试在Azure上创建目录时发生java AccessControlException
我正在尝试使用azure data lake依赖项在azureDataLake中创建目录
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-data-lake-store-sdk</artifactId>
<version>2.1.5</version>
</dependency>
使用以下方法:
private ADLStoreClient client;
public boolean createDirectory(String path) {
try {
// create directory
client.createDirectory(path);
} catch (ADLException ex) {
printExceptionDetails(ex);
return false;
} catch (Exception ex) {
log.error(" Exception in createDirectory : {}", ex);
return false;
}
return true;
}
我得到了一个例外:
Error creating directory /gx-zweappdhd004/home/azhdipaasssh2/ADH/Compta/1458/1533632735200/RAPPORTS/
Operation MKDIRS failed with HTTP403 : AccessControlException
我检查了权限,我拥有所有权限,所以它与权限无关
更新:
更具体地说,方法isSuccessfulResponse()内部发生的问题,确切地说是在这一行HttpTransport.java#L137,因为httpResponseCode等于403,任何人都能解释这一点
更新2:
我发现这一行返回403状态:HttpTransport.java#L288,我还试图评估conn.getErrorStream().read()
,我得到了这个stream is closed
,仅供参考,这个错误有时会发生,但并不总是发生
# 1 楼答案
我没有复制你的问题,你可以参考我的工作代码:
别忘了向你的客户授予访问ADL许可
希望对你有帮助