I am currently working on an application where I would like to upload videos and images to a Wasabi s3 bucket in Flutter. I first attempted to use amplify_flutter, but this did not work because as detailed in their setup guide I am required to log into Amazon Web Services in order to configure the package.
I did find another stack overflow answer describing how to upload to AWS with an https request. copying this code did give me the ability to connect with https://s3.wasabisys.comm, but when using a POST request to upload the files, the url returns this error message:
<Error><Code>MethodNotAllowed</Code><Message>The specified method is not allowed against this
resource.</Message><RequestId>9E0DDF6269E6C862</RequestId>
<HostId>rLX8KeJ9ZPbk6+Zy+GvXUgG1f8ffJ8cNK92KUBnd8DLruqbWbX7dWyKy37N4IoHtqp41+ctRVEBC</HostId></Error>
I did find a post on the AWS forums describing the same issue, and they stated that a "CloudFront Origin Access Identity" needs to be enabled, but since I am not using CloudFront either, enabling this option is not possible for me.
In Wasabi, is there an option similar to "CloudFront Origin Access Identity" that I can enable in order to allow POST requests to a bucket, or is there a better option in Flutter to upload to Wasabi s3 buckets?
Update: I was able to solve this by using the Minio flutter package. We have been using this package for a couple weeks now without any issue to connect to Wasabi.
Related
I'm trying to use spanner emulator and I followed the instructions reported here:
https://cloud.google.com/spanner/docs/emulator
to set it up.
I can use gcloud shell commands to create instance, database, tables, etc. and all works correctly.
But I am not able to use the Rest API directly to access the emulator, even though the google documentation reports it is possible not only to use google client libs to access the emulator, but also the rest api.
The first problem is that it is not clear if I have to use either the base URL
https://spanner.googleapis.com/
or
http://localhost:9020/
When I try with
http://localhost:9020/v1/parent=projects/local-project/instanceConfigs
I always returns and "Not found" message, which means the the Rest API ws are responding, but through gcloud commands I can manage such instance and project!
What am I wrong with?!
According to the official documentation :
Using the Cloud Spanner
Emulator
"The Cloud SDK provides a local, in-memory emulator, which you can
use to develop and test your applications for free without creating a
GCP Project or a billing account."
Therefore you should use the localhost (localhost:9020 for REST requests).
You should use http://localhost:9020 to access the emulator if you want to manually access the REST API, so you were on the right track there.
The URL should however be http://localhost:9020/v1/projects/test-project/instanceConfigs to list all instance configurations on the emulator. Use http://localhost:9020/v1/projects/test-project/instances to list all instances.
I have installed a standalone cluster on my server. I see almost all of the commands are supported by tools but can't find a way to push an app package using the REST API.
Is that possible?
I ended up using sfctl CLI to manage the cluster. It uses HTTP connection.
From the docs, I found that Upload File could be used to upload the app package to image store.
sfctl application upload command may be a better option for uploading an application to the image store in the selected cluster.
sfctl application upload --path path-to-directory-with-ApplicationManifest.xml --show-progress
Is it possible to build a docker container using Google Cloud Container Builder from source code in Google Cloud Source Repository?
The docs say the code must be in Cloud Storage so I assume the answer is no but this seems crazy. Am I missing something? Is code in Google Source Code accessible via Cloud Storage?
This feature is now publicly supported, see API docs at https://cloud.google.com/container-builder/docs/api/reference/rest/v1/projects.builds#RepoSource
Let us know if you have any problems or feature requests or use cases this doesn't cover.
Unfortunately the API is fairly low level, and so building from GSR or other source control systems directly is not currently possible.
However it is possible to write a service which can watch for source code changes from your favorite SCM, copy that source into a GCS bucket (handling your SCM auth as necessary) and then trigger the Container Builder API to build an image.
Google is running an Alpha program for additional tools that are built on top of this API. Those who are interested are encouraged to sign up here.
I have a golang program running on my local laptop. I had a previous Google Cloud account that I used to upload images to a bucket (using gcloud local context). It worked.
I created another company branded Google Cloud account and linked our company card to it.
Ever since then I get the error in the title.
I contacted support and got this:
Hi,
Unfortunately we are not able to identify any abuse related actions taken on your project. To resolve this issue, please reach out to the Google Cloud Platform community support.
Sincerely,
Google Cloud Platform/API Trust & Safety Team
Do you guys have any ideas? Any help would be much appreciated.
The problem turned out to be that the JWT json file being used by my project for authentication was out-of-date.
I had to re-download a new JWT json file from the cloud console and put it in the root of my project folder.
I generated Access & Secret Key put it into Bucket Explorer just as I saw on their screenshots but I get an error that Keys are not recognized on AWS, so it keeps trying to connect to AWS. I have latest version for OS X.
Looking at the Bucket Explorer website, it sounds like you need a special version of their software -- however, the download link does not actually seem to have that version available. Have you contact the developers of Bucket Explorer about it?
Alternatively, you can use the Google Cloud Console to upload and access your data in Google Cloud Storage without depending on a particular client application.