{"id":6592,"date":"2025-09-23T08:14:36","date_gmt":"2025-09-23T08:14:36","guid":{"rendered":"https:\/\/pokecon.jp\/job\/?p=6592"},"modified":"2025-09-23T08:14:36","modified_gmt":"2025-09-23T08:14:36","slug":"private-service-connectpsc%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e5%88%a5%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e9%96%93%e3%81%a7datastream%e3%82%92%e3%81%a4%e3%81%aa%e3%81%92%e3%82%8b","status":"publish","type":"post","link":"https:\/\/pokecon.jp\/job\/6592\/","title":{"rendered":"Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog"},"content":{"rendered":"\n<\/p>\n<div>\n<p>        <input type=\"hidden\" class=\"local_domains\" value=\"techblog.nhn-techorus.com\"\/><input type=\"hidden\" class=\"local_domains\" value=\"staging-techblog.nhn-techorus.com\"\/><input type=\"hidden\" class=\"local_domains\" value=\"1.origin.techblog.nhn-techorus.com\"\/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB\"\/>\u306f\u3058\u3081\u306b<span class=\"ez-toc-section-end\"\/><\/h2>\n<p>Google Cloud \u4e0a\u3067\u30c7\u30fc\u30bf\u5206\u6790\u57fa\u76e4\u3092\u69cb\u7bc9\u3059\u308b\u969b\u3001Cloud SQL \u304b\u3089 BigQuery \u3078\u306e\u30c7\u30fc\u30bf\u9023\u643a\u306f\u3088\u304f\u60f3\u5b9a\u3055\u308c\u308b\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u304b\u3068\u601d\u3044\u307e\u3059\u3002<br \/>\u305d\u308c\u305e\u308c\u306e\u30ea\u30bd\u30fc\u30b9\u304c\u5225\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u69cb\u6210\u306a\u3069\u30cf\u30de\u308a\u3084\u3059\u3044\u30dd\u30a4\u30f3\u30c8\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u672c\u69cb\u6210\u3092\u5b9f\u73fe\u3059\u308b\u3046\u3048\u3067\u3001\u5b9f\u969b\u306b\u79c1\u304c\u30cf\u30de\u3063\u305f\u30dd\u30a4\u30f3\u30c8\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n<p>Datastream \u306e\u8a2d\u5b9a\u3068\u3057\u3066\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u63a5\u7d9a\u69cb\u6210\u3092\u4f5c\u6210\u3057\u3066\u3044\u305f\u305f\u3081\u3001MySQL \u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210\u306e\u969b\u306b Cloud SQL \u306b\u5272\u308a\u632f\u3089\u308c\u305f\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8IP\u306b\u5411\u3051\u3066\u63a5\u7d9a\u30c6\u30b9\u30c8\u3092\u5b9f\u65bd\u3057\u305f\u3068\u3053\u308d\u3001\u63a5\u7d9a\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u3057\u30c6\u30b9\u30c8\u306b\u5931\u6557\u3059\u308b\u3068\u3044\u3046\u72b6\u614b\u3067\u3057\u305f\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/c945602989e600338780c00e7446b209-720x362.png\" alt=\"\" width=\"720\" height=\"362\" class=\"alignnone size-large wp-image-41464\" srcset=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/c945602989e600338780c00e7446b209-720x362.png 720w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/c945602989e600338780c00e7446b209-500x252.png 500w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/c945602989e600338780c00e7446b209-768x387.png 768w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/c945602989e600338780c00e7446b209-1536x773.png 1536w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/c945602989e600338780c00e7446b209-660x332.png 660w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/c945602989e600338780c00e7446b209.png 1756w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\"\/><\/p>\n<p>\u3053\u3061\u3089\u306b\u3064\u3044\u3066\u306f\u3001\u4ee5\u4e0b\u306e\u8a18\u4e8b\u306b\u6ce8\u610f\u66f8\u304d\u3068\u3057\u3066 Proxy\uff08NAT VM\uff09\u304c\u5fc5\u8981\u3068\u3044\u3046\u8a18\u8f09\u304c\u3042\u308a\u307e\u3057\u305f\u3002<\/p>\n<blockquote>\n<p>\n  \u30d5\u30eb\u30de\u30cd\u30fc\u30b8\u30c9 \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff08Cloud SQL \u306a\u3069\uff09\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u304b\u3001\u30bd\u30fc\u30b9\u304c\u5b58\u5728\u3059\u308b\u30ea\u30fc\u30b8\u30e7\u30f3\u3067 Datastream \u304c\u5b9f\u884c\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3001NAT VM \u304c\u5fc5\u8981\u3067\u3059\u3002<br \/>\u53c2\u8003: <a target=\"_blank\" href=\"https:\/\/cloud.google.com\/datastream\/docs\/create-connection-profiles?hl=ja\">\u63a5\u7d9a\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u306e\u4f5c\u6210<\/a>\n<\/p>\n<\/blockquote>\n<p>\u305d\u306e\u305f\u3081\u3001Compute Engine \u3092\u7528\u3044\u3066 Cloud SQL Auth Proxy \u3092\u4f5c\u6210\u3057\u3001\u305d\u306e IP \u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u3067\u554f\u984c\u306a\u304f\u63a5\u7d9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/70069ffc0b9ded9ee47254225f1fa020-720x222.png\" alt=\"\" width=\"720\" height=\"222\" class=\"alignnone size-large wp-image-41466\" srcset=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/70069ffc0b9ded9ee47254225f1fa020-720x222.png 720w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/70069ffc0b9ded9ee47254225f1fa020-500x154.png 500w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/70069ffc0b9ded9ee47254225f1fa020-768x237.png 768w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/70069ffc0b9ded9ee47254225f1fa020-1536x474.png 1536w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/70069ffc0b9ded9ee47254225f1fa020-660x204.png 660w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/70069ffc0b9ded9ee47254225f1fa020.png 1856w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\"\/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E6%A7%8B%E6%88%90%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8\"\/>\u69cb\u6210\u30a4\u30e1\u30fc\u30b8<span class=\"ez-toc-section-end\"\/><\/h2>\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001<\/p>\n<ul>\n<li>\u30a2\u30ab\u30a6\u30f3\u30c8A: Cloud SQL<\/li>\n<li>\u30a2\u30ab\u30a6\u30f3\u30c8B: Datastream \/ BigQuery \/ Cloud SQL Auth Proxy<\/li>\n<\/ul>\n<p>\u3068\u3044\u3046\u524d\u63d0\u3067\u3001Private Service Connect\uff08PSC\uff09\u3092\u6d3b\u7528\u3057\u305f Datastream \u9023\u643a\u306e\u69cb\u7bc9\u624b\u9806\u3092\u307e\u3068\u3081\u307e\u3059\u3002<br \/>gcloud\u30b3\u30de\u30f3\u30c9\u3092\u5229\u7528\u3059\u308b\u60f3\u5b9a\u3067\u3059\u306e\u3067\u3001CloudShell\u4e0a\u3084\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u306bgcloud\u30b3\u30de\u30f3\u30c9\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3092\u884c\u3044\u5b9f\u884c\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/1181e56bbae3d3fb2080c31f8ee2cf9e-720x270.png\" alt=\"\" width=\"720\" height=\"270\" class=\"alignnone size-large wp-image-41456\" srcset=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/1181e56bbae3d3fb2080c31f8ee2cf9e-720x270.png 720w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/1181e56bbae3d3fb2080c31f8ee2cf9e-500x188.png 500w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/1181e56bbae3d3fb2080c31f8ee2cf9e-768x288.png 768w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/1181e56bbae3d3fb2080c31f8ee2cf9e-660x248.png 660w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/1181e56bbae3d3fb2080c31f8ee2cf9e.png 1189w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\"\/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E5%AE%9F%E8%A1%8C%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89\"\/>\u5b9f\u884c\u30b3\u30de\u30f3\u30c9<span class=\"ez-toc-section-end\"\/><\/h2>\n<h3>\u5909\u6570\u5b9a\u7fa9<\/h3>\n<p>\u4ee5\u4e0b\u306e\u5909\u6570\u306f\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u4fee\u6b63\u304f\u3060\u3055\u3044\u3002<\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nexport REGION=\"asia-northeast1\"\n\n# \u30a2\u30ab\u30a6\u30f3\u30c8A\u5411\u3051 \uff08Cloud SQL \u5074\uff09\nexport A_PROJECT=\"accounta-123456\"\nexport CLOUDSQL_INSTANCE=\"accounta-mysql\"\nexport CLOUDSQL_USER=\"root\"\nexport CLOUDSQL_PASSWORD=\"password\"\n\n# \u30a2\u30ab\u30a6\u30f3\u30c8B\u5411\u3051 \uff08Datastream \/ Proxy VM \u306a\u3069\uff09\nexport B_PROJECT=\"accountb-123456\"\nexport B_VPC=\"datastream-vpc\"\nexport B_SUBNET=\"datastream-subnet\"\nexport B_SUBNET_CIDR=\"10.0.0.0\/24\"\nexport DB_PORT=3306\nexport DS_PC_NAME=\"ds-to-vpc-datastream\"\nexport DS_PEERING_CIDR=\"172.20.255.248\/29\"\nexport BQ_DATASET=\"accounta-mysql-dataset\"\nexport PROXY_VM_NAME=\"ds-csql-proxy\"\nexport PROXY_SA_NAME=\"proxy-vm-sa\"\nexport PSC_ADDR_NAME=\"psc-csql-endpoint-ip\"\n\nexport PROXY_SA_EMAIL=\"${PROXY_SA_NAME}@${B_PROJECT}.iam.gserviceaccount.com\"\nexport ZONE=\"${REGION}-b\"\nexport CLOUDSQL_CONN=\"${A_PROJECT}:${REGION}:${CLOUDSQL_INSTANCE}\"\n<\/pre>\n<h3>1) \u30a2\u30ab\u30a6\u30f3\u30c8A\/B\u5411\u3051 API \u3092\u6709\u52b9\u5316<\/h3>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n# A: Cloud SQL \u5074\ngcloud services enable compute.googleapis.com servicenetworking.googleapis.com sqladmin.googleapis.com \\\n  --project=\"${A_PROJECT}\"\n\n# B: Datastream \/ BigQuery \u5074\ngcloud services enable compute.googleapis.com datastream.googleapis.com bigquery.googleapis.com \\\n  --project=\"${B_PROJECT}\"\n<\/pre>\n<h3>2) \u30a2\u30ab\u30a6\u30f3\u30c8B\u5411\u3051 VPC \/ \u30b5\u30d6\u30cd\u30c3\u30c8\u3092\u4f5c\u6210<\/h3>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\ngcloud compute networks create \"${B_VPC}\" \\\n  --project=\"${B_PROJECT}\" \\\n  --subnet-mode=custom\n\ngcloud compute networks subnets create \"${B_SUBNET}\" \\\n  --project=\"${B_PROJECT}\" \\\n  --region=\"${REGION}\" \\\n  --network=\"${B_VPC}\" \\\n  --range=\"${B_SUBNET_CIDR}\" \\\n  --enable-private-ip-google-access\n<\/pre>\n<h3>3) \u30a2\u30ab\u30a6\u30f3\u30c8A\u5411\u3051 Cloud SQL \u306e PSC \u6709\u52b9\u5316\u3068\u8a2d\u5b9a\u78ba\u8a8d<\/h3>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n# PSC \u3092\u6709\u52b9\u5316\u3057\u3001B \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u8a31\u53ef\ngcloud sql instances patch \"${CLOUDSQL_INSTANCE}\" \\\n  --project=\"${A_PROJECT}\" \\\n  --enable-private-service-connect \\\n  --allowed-psc-projects=\"${B_PROJECT}\"\n<\/pre>\n<p>\u65e2\u5b58\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e PSC \u306e\u6709\u52b9\u5316\u306b\u3064\u3044\u3066\u306f\u3001\u30c0\u30a6\u30f3\u30bf\u30a4\u30e0\u304c\u7d0445\u79d2\u767a\u751f\u3057\u307e\u3059\u306e\u3067\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<br \/>\u53c2\u8003 : <a target=\"_blank\" href=\"https:\/\/cloud.google.com\/sql\/docs\/mysql\/configure-private-services-access-and-private-service-connect?hl=ja#enable-psa-instance\">\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3067 Private Service Connect \u3092\u6709\u52b9\u306b\u3059\u308b<\/a><\/p>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n# Public IP \u304c\u4ed8\u4e0e\u3055\u308c\u3066\u3044\u306a\u3044\u3053\u3068\u3092\u78ba\u8a8d\ngcloud sql instances describe \"${CLOUDSQL_INSTANCE}\" \\\n  --project=\"${A_PROJECT}\" \\\n  --format='value(settings.ipConfiguration.ipv4Enabled)'\n# \u60f3\u5b9a: False\n\n# PSC \u304c\u6709\u52b9\u5316\u3055\u308c\u3001B \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u304c\u8a31\u53ef\u3055\u308c\u3066\u3044\u308b\u3053\u3068\u3092\u78ba\u8a8d\ngcloud sql instances describe \"${CLOUDSQL_INSTANCE}\" \\\n  --project=\"${A_PROJECT}\" \\\n  --format='value(settings.ipConfiguration.pscConfig.pscEnabled,settings.ipConfiguration.pscConfig.allowedConsumerProjects[0])'\n# \u60f3\u5b9a: True  ${B_PROJECT}\n\n# \u30b5\u30fc\u30d3\u30b9\u30a2\u30bf\u30c3\u30c1\u30e1\u30f3\u30c8 URI \u3092\u53d6\u5f97\uff08B \u5074\u3067\u4f7f\u7528\uff09\nexport SVC_ATTACH_URI=\"$(gcloud sql instances describe \"${CLOUDSQL_INSTANCE}\" \\\n  --project=\"${A_PROJECT}\" \\\n  --format='value(pscServiceAttachmentLink)')\"\n<\/pre>\n<h3>4) \u30a2\u30ab\u30a6\u30f3\u30c8B\u5411\u3051 PSC \u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u3092\u4f5c\u6210<\/h3>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n# \u5185\u90e8 IP \u4e88\u7d04\ngcloud compute addresses create \"${PSC_ADDR_NAME}\" \\\n  --project=\"${B_PROJECT}\" \\\n  --region=\"${REGION}\" \\\n  --subnet=\"${B_SUBNET}\"\n\n# PSC \u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u4f5c\u6210\ngcloud compute forwarding-rules create psc-to-cloudsql \\\n  --project=\"${B_PROJECT}\" \\\n  --region=\"${REGION}\" \\\n  --network=\"${B_VPC}\" \\\n  --subnet=\"${B_SUBNET}\" \\\n  --address=\"${PSC_ADDR_NAME}\" \\\n  --target-service-attachment=\"${SVC_ATTACH_URI}\" \\\n  --allow-psc-global-access\n<\/pre>\n<h3>5) \u30a2\u30ab\u30a6\u30f3\u30c8B\u5411\u3051 Proxy VM \u7528\u30b5\u30fc\u30d3\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8\u4f5c\u6210\u3068\u6a29\u9650\u4ed8\u4e0e<\/h3>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\ngcloud iam service-accounts create \"${PROXY_SA_NAME}\" \\\n  --project=\"${B_PROJECT}\" \\\n  --display-name=\"Datastream Proxy VM SA\"\n\n# A \u5074\u306b cloudsql.client \u3092\u4ed8\u4e0e\ngcloud projects add-iam-policy-binding \"${A_PROJECT}\" \\\n  --member=\"serviceAccount:${PROXY_SA_EMAIL}\" \\\n  --role=\"roles\/cloudsql.client\"\n<\/pre>\n<h3>6) \u30a2\u30ab\u30a6\u30f3\u30c8B\u5411\u3051 Cloud SQL Auth Proxy \u3092\u4f5c\u6210<\/h3>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\ngcloud compute instances create \"${PROXY_VM_NAME}\" \\\n  --project=\"${B_PROJECT}\" \\\n  --zone=\"${ZONE}\" \\\n  --machine-type=e2-micro \\\n  --network-interface=subnet=\"${B_SUBNET}\",no-address \\\n  --tags=allow-datastream \\\n  --service-account=\"${PROXY_SA_EMAIL}\" \\\n  --scopes=cloud-platform \\\n  --metadata=cloudsql-conn=\"${CLOUDSQL_CONN}\",db-port=\"${DB_PORT}\",psc-ip=\"${PSC_IP}\",cloudsql-dns=\"${DNS_NAME}\",startup-script='#!\/bin\/bash\nset -eux\n\n# 1) \u30d1\u30c3\u30b1\u30fc\u30b8\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\napt-get update\napt-get install -y wget\ninstall -d \/usr\/local\/bin\nwget -q https:\/\/storage.googleapis.com\/cloud-sql-connectors\/cloud-sql-proxy\/v2.11.4\/cloud-sql-proxy.linux.amd64 -O \/usr\/local\/bin\/cloud-sql-proxy\nchmod +x \/usr\/local\/bin\/cloud-sql-proxy\n\n# 2) \u30d1\u30e9\u30e1\u30fc\u30bf\u53d6\u5f97\uff08\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30e1\u30bf\u30c7\u30fc\u30bf\uff09\nget_md () { curl -fsH \"Metadata-Flavor: Google\" \"http:\/\/metadata.google.internal\/computeMetadata\/v1\/instance\/attributes\/$1\"; }\nCONN=\"$(get_md cloudsql-conn)\"\nPORT=\"$(get_md db-port || echo 3306)\"\nPSC_IP=\"$(get_md psc-ip)\"\nCLOUDSQL_DNS=\"$(get_md cloudsql-dns)\"\n\n# 3) \/etc\/hosts\u306bPSC\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u306eDNS\u89e3\u6c7a\u3092\u8ffd\u52a0\necho \"${PSC_IP} ${CLOUDSQL_DNS}\" &gt;&gt; \/etc\/hosts\n\n# 4) systemd \u30e6\u30cb\u30c3\u30c8\u4f5c\u6210\ncat &gt;\/etc\/systemd\/system\/cloud-sql-proxy.service \n<h3>7) \u30a2\u30ab\u30a6\u30f3\u30c8A\u5411\u3051 Cloud SQL \u306e CDC \u6709\u52b9\u5316\u3068\u30e6\u30fc\u30b6\u30fc\u4f5c\u6210<\/h3>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\ngcloud sql instances patch \"${CLOUDSQL_INSTANCE}\" \\\n  --project=\"${A_PROJECT}\" \\\n  --enable-bin-log\n\ngcloud sql users create \"${CLOUDSQL_USER}\" \\\n  --instance=\"${CLOUDSQL_INSTANCE}\" \\\n  --project=\"${A_PROJECT}\" \\\n  --password=\"${CLOUDSQL_PASSWORD}\"\n<\/pre>\n<h3>8) \u30a2\u30ab\u30a6\u30f3\u30c8B\u5411\u3051 Datastream \u3092\u8a2d\u5b9a\uff08Private Connection \/ \u63a5\u7d9a\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb \/ \u30b9\u30c8\u30ea\u30fc\u30e0\uff09<\/h3>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\ncat &gt; mysql_source_config.json  bq_dest_config.json \n<h4>\u4f5c\u6210\u3057\u305f\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u5bfe\u8c61\u30c6\u30fc\u30d6\u30eb\u3092\u5909\u66f4\u3059\u308b<\/h4>\n<p>\u4f5c\u6210\u3057\u305f\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u9078\u629e -&gt; \u7de8\u96c6 -&gt; \u30bd\u30fc\u30b9\u69cb\u6210\u3092\u5909\u6570 \u304b\u3089\u3001\u5bfe\u8c61\u3068\u3059\u308b\u30c6\u30fc\u30d6\u30eb\u7b49\u306e\u8a2d\u5b9a\u3092\u4f5c\u6210\u5f8c\u306b\u7de8\u96c6\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/0562a9ea527d311f5fec922b1f645b4d-720x592.png\" alt=\"\" width=\"720\" height=\"592\" class=\"alignnone size-large wp-image-41467\" srcset=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/0562a9ea527d311f5fec922b1f645b4d-720x592.png 720w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/0562a9ea527d311f5fec922b1f645b4d-500x411.png 500w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/0562a9ea527d311f5fec922b1f645b4d-768x631.png 768w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/0562a9ea527d311f5fec922b1f645b4d-660x543.png 660w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/0562a9ea527d311f5fec922b1f645b4d.png 855w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\"\/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/811c94ee28b2571b6b141ebc8427d400.png\" alt=\"\" width=\"708\" height=\"493\" class=\"alignnone size-full wp-image-41468\" srcset=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/811c94ee28b2571b6b141ebc8427d400.png 708w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/811c94ee28b2571b6b141ebc8427d400-500x348.png 500w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/811c94ee28b2571b6b141ebc8427d400-660x460.png 660w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/811c94ee28b2571b6b141ebc8427d400-200x140.png 200w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/811c94ee28b2571b6b141ebc8427d400-250x175.png 250w\" sizes=\"auto, (max-width: 708px) 100vw, 708px\"\/><\/p>\n<h2><span class=\"ez-toc-section\" id=\"%E3%81%8A%E3%82%8F%E3%82%8A%E3%81%AB\"\/>\u304a\u308f\u308a\u306b<span class=\"ez-toc-section-end\"\/><\/h2>\n<p>\u672c\u8a18\u4e8b\u3067\u306f\u3001\u7570\u306a\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067 Cloud SQL \u304b\u3089 BigQuery \u3078\u306e\u30c7\u30fc\u30bf\u9023\u643a\u3092\u5b9f\u73fe\u3059\u308b\u305f\u3081\u306b\u3001Private Service Connect\uff08PSC\uff09\u3092\u6d3b\u7528\u3057\u305f Datastream \u69cb\u6210\u306e\u69cb\u7bc9\u624b\u9806\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002<br\/>\u540c\u3058\u8ab2\u984c\u306b\u76f4\u9762\u3057\u3066\u3044\u308b\u65b9\u306e\u53c2\u8003\u306b\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n<h3>NHN \u30c6\u30b3\u30e9\u30b9\u306e\u63a1\u7528\u60c5\u5831\u306f\u3053\u3061\u3089<\/h3>\n<p><a target=\"_blank\" href=\"https:\/\/recruit.nhn-japan.com\/techorus\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/c8e7417df7e46e0ec8975133147765d6.png\" alt=\"\" width=\"620\" height=\"80\" class=\"alignnone size-full wp-image-41375\" srcset=\"https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/c8e7417df7e46e0ec8975133147765d6.png 620w, https:\/\/techblog.nhn-techorus.com\/wp-content\/uploads\/2025\/09\/c8e7417df7e46e0ec8975133147765d6-500x65.png 500w\" sizes=\"auto, (max-width: 620px) 100vw, 620px\"\/><\/a><\/p>\n  \n    <\/pre>\n<\/div>\n\n<br \/><a href=\"https:\/\/techblog.nhn-techorus.com\/archives\/41454\">\u5143\u306e\u8a18\u4e8b\u3092\u78ba\u8a8d\u3059\u308b <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\u306f\u3058\u3081\u306b Google Cloud \u4e0a\u3067\u30c7\u30fc\u30bf\u5206\u6790\u57fa\u76e4\u3092\u69cb\u7bc9\u3059\u308b\u969b\u3001Cloud SQL \u304b\u3089 BigQuery \u3078\u306e\u30c7\u30fc\u30bf\u9023\u643a\u306f\u3088\u304f\u60f3\u5b9a\u3055\u308c\u308b\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u304b\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u308c\u305e\u308c\u306e\u30ea\u30bd\u30fc\u30b9\u304c\u5225\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u3001 [&hellip;]","protected":false},"author":1,"featured_media":6593,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-6592","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-company-tec"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog - \u30dd\u30b1\u30b3\u30f3<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techblog.nhn-techorus.com\/archives\/41454\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog - \u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"og:description\" content=\"\u306f\u3058\u3081\u306b Google Cloud \u4e0a\u3067\u30c7\u30fc\u30bf\u5206\u6790\u57fa\u76e4\u3092\u69cb\u7bc9\u3059\u308b\u969b\u3001Cloud SQL \u304b\u3089 BigQuery \u3078\u306e\u30c7\u30fc\u30bf\u9023\u643a\u306f\u3088\u304f\u60f3\u5b9a\u3055\u308c\u308b\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u304b\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u308c\u305e\u308c\u306e\u30ea\u30bd\u30fc\u30b9\u304c\u5225\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u3001 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techblog.nhn-techorus.com\/archives\/41454\" \/>\n<meta property=\"og:site_name\" content=\"\u30dd\u30b1\u30b3\u30f3\" \/>\n<meta property=\"article:published_time\" content=\"2025-09-23T08:14:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/e000fcfe1323e641028ca70aecd5e52a.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"info@pokecon.jp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"info@pokecon.jp\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"3\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/techblog.nhn-techorus.com\\\/archives\\\/41454#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/6592\\\/\"},\"author\":{\"name\":\"info@pokecon.jp\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"headline\":\"Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog\",\"datePublished\":\"2025-09-23T08:14:36+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/6592\\\/\"},\"wordCount\":80,\"image\":{\"@id\":\"https:\\\/\\\/techblog.nhn-techorus.com\\\/archives\\\/41454#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/e000fcfe1323e641028ca70aecd5e52a.png\",\"articleSection\":[\"\u4f01\u696d\u30c6\u30c3\u30af\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/6592\\\/\",\"url\":\"https:\\\/\\\/techblog.nhn-techorus.com\\\/archives\\\/41454\",\"name\":\"Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog - \u30dd\u30b1\u30b3\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/techblog.nhn-techorus.com\\\/archives\\\/41454#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/techblog.nhn-techorus.com\\\/archives\\\/41454#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/e000fcfe1323e641028ca70aecd5e52a.png\",\"datePublished\":\"2025-09-23T08:14:36+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/techblog.nhn-techorus.com\\\/archives\\\/41454#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/techblog.nhn-techorus.com\\\/archives\\\/41454\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/techblog.nhn-techorus.com\\\/archives\\\/41454#primaryimage\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/e000fcfe1323e641028ca70aecd5e52a.png\",\"contentUrl\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/e000fcfe1323e641028ca70aecd5e52a.png\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/techblog.nhn-techorus.com\\\/archives\\\/41454#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#website\",\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/\",\"name\":\"\u30dd\u30b1\u30b3\u30f3\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/#\\\/schema\\\/person\\\/16c9f07b1ba984d165d9aee259bda997\",\"name\":\"info@pokecon.jp\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g\",\"caption\":\"info@pokecon.jp\"},\"url\":\"https:\\\/\\\/pokecon.jp\\\/job\\\/author\\\/infopokecon-jp\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog - \u30dd\u30b1\u30b3\u30f3","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techblog.nhn-techorus.com\/archives\/41454","og_locale":"ja_JP","og_type":"article","og_title":"Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog - \u30dd\u30b1\u30b3\u30f3","og_description":"\u306f\u3058\u3081\u306b Google Cloud \u4e0a\u3067\u30c7\u30fc\u30bf\u5206\u6790\u57fa\u76e4\u3092\u69cb\u7bc9\u3059\u308b\u969b\u3001Cloud SQL \u304b\u3089 BigQuery \u3078\u306e\u30c7\u30fc\u30bf\u9023\u643a\u306f\u3088\u304f\u60f3\u5b9a\u3055\u308c\u308b\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u304b\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u308c\u305e\u308c\u306e\u30ea\u30bd\u30fc\u30b9\u304c\u5225\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u5b58\u5728\u3059\u308b\u5834\u5408\u3001 [&hellip;]","og_url":"https:\/\/techblog.nhn-techorus.com\/archives\/41454","og_site_name":"\u30dd\u30b1\u30b3\u30f3","article_published_time":"2025-09-23T08:14:36+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/e000fcfe1323e641028ca70aecd5e52a.png","type":"image\/png"}],"author":"info@pokecon.jp","twitter_card":"summary_large_image","twitter_misc":{"\u57f7\u7b46\u8005":"info@pokecon.jp","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"3\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techblog.nhn-techorus.com\/archives\/41454#article","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/6592\/"},"author":{"name":"info@pokecon.jp","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"headline":"Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog","datePublished":"2025-09-23T08:14:36+00:00","mainEntityOfPage":{"@id":"https:\/\/pokecon.jp\/job\/6592\/"},"wordCount":80,"image":{"@id":"https:\/\/techblog.nhn-techorus.com\/archives\/41454#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/e000fcfe1323e641028ca70aecd5e52a.png","articleSection":["\u4f01\u696d\u30c6\u30c3\u30af"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/pokecon.jp\/job\/6592\/","url":"https:\/\/techblog.nhn-techorus.com\/archives\/41454","name":"Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog - \u30dd\u30b1\u30b3\u30f3","isPartOf":{"@id":"https:\/\/pokecon.jp\/job\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techblog.nhn-techorus.com\/archives\/41454#primaryimage"},"image":{"@id":"https:\/\/techblog.nhn-techorus.com\/archives\/41454#primaryimage"},"thumbnailUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/e000fcfe1323e641028ca70aecd5e52a.png","datePublished":"2025-09-23T08:14:36+00:00","author":{"@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997"},"breadcrumb":{"@id":"https:\/\/techblog.nhn-techorus.com\/archives\/41454#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techblog.nhn-techorus.com\/archives\/41454"]}]},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/techblog.nhn-techorus.com\/archives\/41454#primaryimage","url":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/e000fcfe1323e641028ca70aecd5e52a.png","contentUrl":"https:\/\/pokecon.jp\/job\/wp-content\/uploads\/2025\/09\/e000fcfe1323e641028ca70aecd5e52a.png","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/techblog.nhn-techorus.com\/archives\/41454#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/pokecon.jp\/job\/"},{"@type":"ListItem","position":2,"name":"Private Service Connect(PSC)\u3092\u4f7f\u3063\u3066\u5225\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u9593\u3067Datastream\u3092\u3064\u306a\u3052\u308b | NHN \u30c6\u30b3\u30e9\u30b9 Tech Blog"}]},{"@type":"WebSite","@id":"https:\/\/pokecon.jp\/job\/#website","url":"https:\/\/pokecon.jp\/job\/","name":"\u30dd\u30b1\u30b3\u30f3","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/pokecon.jp\/job\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/pokecon.jp\/job\/#\/schema\/person\/16c9f07b1ba984d165d9aee259bda997","name":"info@pokecon.jp","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2b0549cd9f7907c092ca5fbb283baf72337f235726e4b46fa39ec0b701ac2fe2?s=96&d=wavatar&r=g","caption":"info@pokecon.jp"},"url":"https:\/\/pokecon.jp\/job\/author\/infopokecon-jp\/"}]}},"_links":{"self":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/6592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/comments?post=6592"}],"version-history":[{"count":1,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/6592\/revisions"}],"predecessor-version":[{"id":6594,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/posts\/6592\/revisions\/6594"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media\/6593"}],"wp:attachment":[{"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/media?parent=6592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/categories?post=6592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pokecon.jp\/job\/wp-json\/wp\/v2\/tags?post=6592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}