<p>您可以通过<a href="https://cloud.google.com/sql/docs/mysql/configure-ip" rel="nofollow noreferrer">Public IP</a>(公共意思是可以通过公共互联网访问)直接连接到云SQL实例,这与本地数据库基本相同。默认情况下,通过公共IP的连接需要某种形式的授权。这里有3个(也许4个*)选项:</p>
<ol>
<li><p><a href="https://cloud.google.com/sql/docs/mysql/sql-proxy" rel="nofollow noreferrer">Cloud SQL Proxy</a>-这是一个可执行文件,它监听本地端口或unix套接字,并使用<a href="https://cloud.google.com/iam/docs/overview" rel="nofollow noreferrer">IAM permissions</a>来验证、加密和转发到数据库的连接。</p></li>
<li><p><a href="https://cloud.google.com/sql/docs/mysql/configure-ssl-instance" rel="nofollow noreferrer">Self-managed SSL/TLS</a>-创建SSL/TLS密钥对,将客户端密钥提供给NiFi作为身份验证的证据。</p></li>
<li><p><a href="https://cloud.google.com/sql/docs/mysql/configure-ip#add" rel="nofollow noreferrer">Whitelisting an IP</a>-白名单允许连接哪些IP(因此NiFi公开使用的IP)。出于各种原因,这是最不安全的选择。</p></li>
</ol>
<p>这些选项中的任何一个都可以直接连接到数据库。如果您仍然需要Python的细节,我建议您研究一下SQLAlchemy并使用这里的<a href="https://cloud-dot-devsite.googleplex.com/sql/docs/mysql/manage-connections" rel="nofollow noreferrer">snippets</a>作为参考。在</p>
<ul>
<li>另一个可能的选择:看起来NiFi正在使用Java并允许您指定一个jar作为驱动程序,所以您还可以提供一个与<a href="https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory" rel="nofollow noreferrer">Cloud SQL JDBC SocketFactory</a>捆绑在一起的驱动程序来验证连接。在</li>
</ul>