Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.

This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Hi,
Spaces Engineering team member here.
Your code looks almost entirely correct, there’s only one bug, you need to include a specific payload hash for presigned GET requests.
payload_hash = 'UNSIGNED-PAYLOAD'
Rather than the AWS doc you pointed to, there’s another one that gives a testcase to validate your code as working: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html (if you print out the canonical request, and the string to sign, then compare it against their example, you can validate it).
The other bit that stands out is that the access key you used VPXIVAYZ5QOPAITB2VA4 is not one associated with your account. Maybe it’s an old key that you invalidated already?
Is your Dart code only going to be for doing GET requests? If it’s going to be used for PUT requests, or more complex headers, there’s a number of other nuances to the AWS signature protocol that are not well-covered by the AWS documentation.