Cloud SQL Python Connector を使用して接続を作成する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Cloud SQL Python Connector を使用して Cloud SQL for SQL Server への接続を開きます。
もっと見る
このコードサンプルを含む詳細なドキュメントについては、以下をご覧ください。
コードサンプル
Python
Cloud SQL for SQL Server に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["わかりにくい","hardToUnderstand","thumb-down"],["情報またはサンプルコードが不正確","incorrectInformationOrSampleCode","thumb-down"],["必要な情報 / サンプルがない","missingTheInformationSamplesINeed","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["その他","otherDown","thumb-down"]],[],[],[],null,["# Create a connection using the Cloud SQL Python Connector\n\nOpen a connection to Cloud SQL for SQL Server by using the Cloud SQL Python Connector.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Connect from App Engine flexible environment](/sql/docs/sqlserver/connect-app-engine-flexible)\n- [Connect from App Engine standard environment](/sql/docs/sqlserver/connect-app-engine-standard)\n- [Connect from Cloud Run](/sql/docs/sqlserver/connect-run)\n- [Connect from Cloud Run functions](/sql/docs/sqlserver/connect-functions)\n- [Connect using Cloud SQL Language Connectors](/sql/docs/sqlserver/connect-connectors)\n\nCode sample\n-----------\n\n### Python\n\n\nTo authenticate to Cloud SQL for SQL Server, set up Application Default Credentials.\nFor more information, see\n\n[Set up authentication for a local development environment](/docs/authentication/set-up-adc-local-dev-environment).\n\n import os\n\n from google.cloud.sql.connector import Connector, IPTypes\n import pytds\n\n import sqlalchemy\n\n\n def connect_with_connector() -\u003e sqlalchemy.engine.base.Engine:\n \"\"\"\n Initializes a connection pool for a Cloud SQL instance of SQL Server.\n\n Uses the Cloud SQL Python Connector package.\n \"\"\"\n # Note: Saving credentials in environment variables is convenient, but not\n # secure - consider a more secure solution such as\n # Cloud Secret Manager (https://cloud.google.com/secret-manager) to help\n # keep secrets safe.\n\n instance_connection_name = os.environ[\n \"INSTANCE_CONNECTION_NAME\"\n ] # e.g. 'project:region:instance'\n db_user = os.environ.get(\"DB_USER\", \"\") # e.g. 'my-db-user'\n db_pass = os.environ[\"DB_PASS\"] # e.g. 'my-db-password'\n db_name = os.environ[\"DB_NAME\"] # e.g. 'my-database'\n\n ip_type = IPTypes.PRIVATE if os.environ.get(\"PRIVATE_IP\") else IPTypes.PUBLIC\n\n # initialize Cloud SQL Python Connector object\n connector = Connector(ip_type=ip_type, refresh_strategy=\"LAZY\")\n\n connect_args = {}\n # If your SQL Server instance requires SSL, you need to download the CA\n # certificate for your instance and include cafile={path to downloaded\n # certificate} and validate_host=False. This is a workaround for a known issue.\n if os.environ.get(\"DB_ROOT_CERT\"): # e.g. '/path/to/my/server-ca.pem'\n connect_args = {\n \"cafile\": os.environ[\"DB_ROOT_CERT\"],\n \"validate_host\": False,\n }\n\n def getconn() -\u003e pytds.Connection:\n conn = connector.connect(\n instance_connection_name,\n \"pytds\",\n user=db_user,\n password=db_pass,\n db=db_name,\n **connect_args\n )\n return conn\n\n pool = sqlalchemy.create_engine(\n \"mssql+pytds://\",\n creator=getconn,\n # ...\n )\n return pool\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=cloud_sql_sqlserver)."]]