Can't preview the AppMaker - google-cloud-sql

Since AppMaker has removed Drive Table, we have to use Cloud SQL instead. We managed to setup AppMaker with Cloud SQL and it seems to work just fine. However, I realized that I can’t preview the app, as I am getting this error:
Any suggestions on why is this happening?

It seems that you are using Custom Cloud SQL instance and you missed the step with adding appmaker-maestro#appspot.gserviceaccount.com account to Cloud SQL Client role.

Related

How to connect self hosted PostgreSQL on AWS EKS to AWS AppSync with auto schema generation and hot reload?

I have research it for several days but could not find a definitive answer for it.
My use case is I have a PostgreSQL database hosted on AWS EKS and I want to expose it using GraphQL, which generally leads to AWS AppSync.
I understand that AppSync can be auto imported from DynamoDB only however I am not using that. From several articles it suggested a Lambda Function to connect between AppSync and PostgreSQL. Which I tried, but I need the two feature which is:
Auto Generated Schema
Hot reload of the schema whenever there is changes in the database
Currently I am using PostGraphile for these two features however I am not sure AppSync can be connected to that, as I understand we need to push the schema generated by PostGraphile to AppSync, but I need it to be automatic.
Eg: I create a new table in PostgreSQL -> PostGraphile Lambda Function reload the schema -> Reflects on AppSync schema automatically -> User call new table via AppSync
Can this flow be achieved? Is there anything I can use as reference?
Thank you!
If anyone still wondering, I found a resource from AWS seems to be able to achieve this with some tweaks and changes:
https://github.com/aws-samples/appsync-with-postgraphile-rds

Local Postgres database to Google Cloud PostgreSQL Github

I would like to build a Google Cloud PostgreSQL database using the instructions here
I was able to successfully create the Postgres databases with appropriate tables and views locally.
What do I need to do in order to get the data on Google Cloud PostgreSQL? My goal is to have remote access to this data.
You have 2 options, The first one is use the Cloud SQL proxy as is described here. As the shared links say, the Cloud SQL Proxy provides secure access to your instances without the need for Authorized networks or for configuring SSL.
On the other hand, the second option is only to configure access to your instance under Authorized networks using or not SSL. The complete steps are listed here
You could connect to Cloud SQL from a local test environment using cloud sql proxy. See quickstart-proxy-test.
The workflow is:
Your Application(Running Locally) => cloud sql proxy (Running locally) => GCP remote Cloud SQL service

How to access Mysql installed on my google cloud instance via Mysql workbench

I have Mysql installed on google cloud instance and its running fine.
Earlier i had a separate google cloud sql instance ,but due to performance issues i installed mysql on my google cloud instance.Iam currently running the database from my google cloud instance.
The issues is that when it was a seperate sql instance i could access the database from Mysql Workbench.
But now that i have it installed on my google cloud instance,i can not access it from workbench.
Is there a way i can access it from my workbench.
Please advise and help
I assume that you have created user in the cloud MySQL instance by giving current public IP. Once you done with it go to the MySQL workbench and click on little plus icon. Then you get a window like below. You can give any name to the database. For the host name you must provide host address relevant to your MySQL instance. Once you done with give a username. To enter the password you must click on the Store in Vault enter it. Once you complete click on TestConnection. If it gives successful message then your connection is done. If not you must recheck inputs most input your public IP, because sometimes this change even after one or two hours. No need of filling Default Schema field. This might be helpful for your work.

Can RDS snapshots be transferred across AWS accounts?

In the time since this question was answered, AWS Tools for Powershell has been released and I basically have the same problem: I have an RDS snapshot on one AWS account that I would like to transfer to another.
So far I've been able to select the snapshot that I want with the Get-RDSDBSnapshot cmdlet, and I'd like to take that Amazon.RDS.Model.DBSnapshot object and use it in the other account.
I've been looking around and I think the Restore-RDSDBInstanceFromDBSnapshot cmdlet (maps to rds-restore-db-instance-from-db-snapshot) might be what I'm looking for, but I'm not confident that I understand its behavior -- can this cmdlet be used to take my snapshot from my first account, and restore it to an instance in the second account?
I'm specifically concerned if there are any account-specific details in a Snapshot object or the handling of the cmdlet that would prevent that data from moving across accounts. I would be okay with a more general solution than powershell, if one exists.
Update 2015/10/29:
AWS has added native support for this functionality since my original posting (link to announcement). This is supported for unencrypted MySQL, Oracle, SQL Server, and PostgreSQL.
You are given the option to share your RDS snapshot publicly, or privately (by managing specific AWS Account IDs with permission to view your snapshot). By default, snapshots can be privately shared with up to 20 accounts.
This can be managed from the RDS console by clicking 'Snapshots (left navigation bar) > Share Snapshot (top toolbar)', which leads you to the following UI:
This is also available in the RDS API and CLI.
Original Answer:
I also posted this to the AWS Developer Forums, and got a response from PhilP#AWS. It seems like we can't do this at all, via powershell or any other means. He did have a couple of alternate suggestions, though:
It's not possible to directly share an RDS Snapshot from one account
to another. However I can make a couple of suggestions here (depending
on your current configuration):
If your RDS Instance is publicly accessible:
Launch a new RDS DB onto your second account
Install the appropriate DB management tools onto a PC, and give this PC network access to both RDS instances (security groups and DB user access for read and write)
Using the database management tools to copy the data from one DB to the other DB
Copy data through an EC2 instance as an intermediary:
Launch an EC2 instance configured with appropriate DB server software
Copy the RDS DB Data from your RDS instance up to your EC2 instance
Then launch your new RDS instance into the second account
Configure appropriate access (security groups and DB user access for read and write)
Copy the database data from your EC2 instance to your newly created RDS instance
My RDS instance isn't publicly accessible, and of his suggestions the EC2 solution would be preferable. We could alternate back to using a mysqldump, per the Server Fault solution.
Edit: I wanted to update that I've successfully been able to implement the EC2 intermediary suggestion. This can be automated several ways, but the solution I chose involved passing a bash script to the (linux AMI) EC2 instance as user-data, and the details of data transfer were handled in the script.
This solution ended up being fairly cost-effective, with the caveat that you want the RDS instance and the EC2 instance to be in the same availability zone. This is in large part because data transfer between RDS-EC2 in the same availability zone is free with a private IP address.
Amazon finally made it possible to accomplish this. You can share the snapshot with another account using the Edit-RDSDBSnapshotAttribute cmdlet (example here), then you can restore it to an account the snapshot was shared with using the Restore-RDSDBInstanceFromDBSnapshot cmdlet.
You can even share encrypted snapshots now. Here's a good walkthrough on how to do that.

How to connect to AWS RedShift with Tableau desktop software?

I want to use Tableau to retrieve data from AWS RedShift and then generate reports, I tried to use PostgreSQL driver downloaded from Tableau website, but cannot establish the connection.
Any one knows how to do it?
Just to provide an update, I believe the RedShift Connector has been released for v7 of Tableau Desktop, but is still in preview for v8. We have found it to be much easier for connecting to our RedShift cluster so far.
The generic ODBC connector also works, you get an interesting pop-up saying certain functions might not behave as expected but we have not encountered any issues using it.
Also the redshift connector for Tableau 8 is out now in release.
As stated on Tableau's blog, the Tableau connector hasn't been released yet, but you can contact your account manager to try out a preview version.
That's what my team has done, and it worked without a hitch.
It's now possible to connect Amazon Redshift with Tableau.
To connect:
Open Tableau Desktop Application and select Amazon Redshift from the list of servers to connect.
Populate the following fields in the pop-up as shown below:
where
Server: the URL to the Redshift instance
Port: the port on which it listens to
Database: the DB to connect to
(the above 3 information is available under the Cluster Database Properties section within the Configuration tab in your AWS Console.)
Username and Password: credentials authenticated to connect and query the schema and the underlying tables in above mentioned DB
Click on Sign In to allow Tableau to connect to the Amazon Redshift instance.