【发布时间】:2020-12-23 05:04:25
【问题描述】:
有没有人成功地将 PowerBI 连接到 AWS S3?可能吗?请提供有关如何实现此目的的任何有用的见解。
我看过一些关于 AWS S3 API 的帖子。我对 API 不熟悉,所以我不知道从哪里开始。我还尝试在 PowerBI Desktop 中使用 Web 连接器,我认为应该从这里开始......
【问题讨论】:
有没有人成功地将 PowerBI 连接到 AWS S3?可能吗?请提供有关如何实现此目的的任何有用的见解。
我看过一些关于 AWS S3 API 的帖子。我对 API 不熟悉,所以我不知道从哪里开始。我还尝试在 PowerBI Desktop 中使用 Web 连接器,我认为应该从这里开始......
【问题讨论】:
在 Power BI 中,您可以从 Get Data 中选择 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 的其他一些示例here 和here。
注意:您可以从 Options -> Global -> Python Scripting 检查和更改 Power BI 正在使用的 Python 解释器 并相应地安装所需的库/模块。
【讨论】: