Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hi Everyone.
I'm creating a custom connector for Power BI using Power Query/M Language on Visual Studio. In the final step of my connector, it will use Web.Contents() to retrieve a presigned file in Amazon S3.
Since it's a presigned file, my request CAN NOT have an Authorization Header, otherwise, it will return an error. The problem is that I'm not able to make the following call without Authorization header:
results = Web.Contents(file_download_url)
I know that the function Web.Contents() have an Authorization parameter, so I could use something like:
results = Web.Contents(file_download_url, [Headers = [Authorization = "ANYTHING HERE"]])
However, I can't pass an empty Authorization parameter. If I use the default value, it will send a Basic Authorization, which will not work, due to the presigned file won't return with an Authorization header.
One interesting thing to notice is that, if I copy the file URL and paste it into Power BI, it works, because Power BI doesn't send Authorization header on the request (I've double-checked it using Fiddler).
Does anybody know how to send a request without the Authorization header?
Hi @paulo_zip ,
Can you try the null. For a quick sample I tried the below it's worked for me
let
Source = Table.FromColumns({Lines.FromBinary(Web.Contents("https://testik.free.beeceptor.com/my/api/path"), null, null, 1252)})
in
Source
User | Count |
---|---|
8 | |
7 | |
2 | |
2 | |
2 |
User | Count |
---|---|
6 | |
5 | |
4 | |
4 | |
4 |