天蓝色的Blob存储可以使用abfss协议吗?还是只使用wasbs?

问题描述 投票:0回答:1

我有一种情况,我正在处理一些数据提取代码,环境的设置是这样的:azure blob存储(不是adls)被用作临时存储,并且该代码应该从中创建外部表临时存储中的文件,将从中复制数据到天蓝色的突触分析。现在,blob存储和sql server位于虚拟网络中。现有代码未说明vnet。因此创建外部数据源的语句已修改为

CREATE EXTERNAL DATA SOURCE mydatasrc

WITH ( TYPE = HADOOP, LOCATION = 'abfss://[email protected]',

CREDENTIAL = myMsiCred);

来自先前的wasbs uri,并使用托管服务身份。

外部表语句是:

CREATE EXTERNAL TABLE myschema.myExternalTable (

<columns list>

) WITH (

LOCATION = '/path/to/folder',

DATA_SOURCE = mydatasrc,

FILE_FORMAT = myFormat,

REJECT_TYPE = VALUE,

REJECT_VALUE = 0 );

起初,我得到了“请在此服务器上启用托管服务身份”,这花了很长时间才修复,最后使用了azure powershell命令。现在是

访问HDFS时发生错误:调用时引发Java异常HdfsBridge_IsDirExist。 Java异常消息:HdfsBridge :: isDirExist-检查目录是否存在意外错误:AbfsRestOperationException:操作失败:“此请求是无权使用此权限执行此操作。“,403,HEAD

我以为首先我需要以某种方式为sql服务器实例设置身份验证,以便它可以访问vnet内部的blob存储。现在,我在某处读到abfss仅由adls gen2使用,而blob存储仅使用wasbs。是真的吗?

azure azure-data-lake azure-blob-storage azure-sqldw azure-synapse
1个回答
0
投票

[是,确实是abfss是用于ADLS Gen2的URI方案,而wasbs是用于Blob存储的URI方案。它们是不同的,因为在处理文件夹时它们的语义略有不同。

此外,您可能需要确保访问时具有正确的权限。

© www.soinside.com 2019 - 2024. All rights reserved.