我正在尝试在需要Cloud SQL连接的DataFlow上创建Python作业(而且我是一个初学者)。我需要在ParDo(Apache Beam)中执行几个MySQL查询。我正在使用PyMySQL并在身份验证时遇到问题,因此我尝试了this的答案,显然可以正常工作:
class MyDoFn(beam.DoFn):
def setup(self):
os.system("wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy")
os.system("chmod +x cloud_sql_proxy")
os.system(f"./cloud_sql_proxy -instances={self.sql_args['cloud_sql_connection_name']}=tcp:3306 &")
问题是,我发现这更多是一种解决方法。以这种方式进行身份验证安全吗?我将不胜感激任何帮助!预先谢谢你。
答案 0 :(得分:1)
是的,这是使用Cloud SQL连接的安全方法。 cloud_sql_proxy使用来自Compute Engine实例的身份验证信息来正确地验证连接。有关更多信息,请参见https://cloud.google.com/sql/docs/mysql/sql-proxy#authentication-options。