AWS S3 and PowerBI



有人成功地将PowerBI连接到AWS S3吗?有可能吗?请就如何实现这一目标提供任何有用的见解。

我看到了一些关于AWS S3 API的帖子。我对API不熟悉,所以不知道从哪里开始。我还尝试过在PowerBI Desktop中使用Web连接器,认为这是我应该开始的地方。。。

在Power BI中,从获取数据您可以选择Python脚本,然后使用boto3,下面给出了从s3下载.csv文件的示例函数:

import io
import boto3
import pandas as pd
ACCESS_KEY_ID = 'your key id here'
SECRET_ACCESS_KEY = 'your access key here'
s3 = boto3.client('s3', aws_access_key_id = ACCESS_KEY_ID, aws_secret_access_key = SECRET_ACCESS_KEY)

def read_csv_file_from_s3(s3_url):
assert s3_url.startswith('s3://'), 'Url does not starts with s3://'
bucket_name, key_name = s3_url[5:].split('/', 1)
response = s3.get_object(Bucket=bucket_name, Key=key_name)
return pd.read_csv(io.BytesIO(response['Body'].read()))
s3_url = 's3://yourbucket/example.csv'
df = read_csv_file_from_s3(s3_url)

df将出现在Power BI的数据部分。这里和这里还提供了一些使用boto3将数据导入Power BI的其他示例。

注意:您可以从选项->检查并更改Power BI正在使用的python解释器全局->Python脚本并相应地安装所需的库/模块。