权限错误,将 parquet 文件从 AWS S3 加载到 SQL Server 2022 时遇到问题

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

基本上每次我尝试连接到 AWS 存储桶以获取 SQL Server 2022 中的 parquet 文件时,都会收到权限错误

找不到凭证“s3_dc”,因为它不存在或您没有权限。

代码:

exec sp_configure @configname = 'polybase enabled', @configvalue = 1;  
RECONFIGURE;

exec sp_configure @configname = 'polybase enabled';

CREATE DATABASE SCOPED CREDENTIAL s3_dc
WITH IDENTITY = 'IDENTITY',
     SECRET = 'SECRET' ;

CREATE EXTERNAL DATA SOURCE s3_ds 
    WITH (LOCATION = 's3://s3.amazonaws.com',    
          CREDENTIAL = s3_dc ); 
GO

SELECT *  
FROM OPENROWSET(BULK 'buckett/haz/data/data.parquet',
                FORMAT = 'PARQUET', 
                data_source = 's3_ds') AS [cc];

这是错误消息:

找不到凭证“s3_dc”,因为它不存在或您没有权限。

我尝试禁用防火墙,并尝试以 SQL Server 用户和 Windows 用户身份登录,但仍然出现相同的错误。

sql-server azure amazon-s3 parquet
1个回答
0
投票

使用以下命令检查您的范围凭据是否存在

SELECT * FROM sys.database_scoped_credentials;

如果他们仍然面临问题,您需要向您的用户授予访问数据库范围的权限,因此您需要将其包含在语句中:

GRANT REFERENCES ON DATABASE SCOPED CREDENTIAL::[{credential_name}] TO [{user}];

有关更多信息,请参阅此文档

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