Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateJoin 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 |