{"id":44689,"date":"2023-03-02T06:44:00","date_gmt":"2022-12-01T21:48:26","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/"},"modified":"2024-04-29T17:01:56","modified_gmt":"2024-04-29T09:01:56","slug":"44689-2","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/","title":{"rendered":""},"content":{"rendered":"<h1>\u6982\u8981<\/h1>\n<p>\u672c\u65e5\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u3067Go\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u5b9f\u884c\u3057\u305f\u969b\u306b\u7acb\u3061\u4e0a\u304c\u308a\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u304a\u308a\u3001<\/p>\n<p>\u305d\u308c\u3092\u52b9\u7387\u5316\u3059\u308b\u65b9\u6cd5\u3092\u898b\u3064\u3051\u307e\u3057\u305f\u306e\u3067\u5171\u6709\u3057\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<h1>\u74b0\u5883<\/h1>\n<p>\u4eca\u56de\u3082Docker\u3092\u5229\u7528\u3057\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"k\">FROM<\/span><span class=\"s\"> golang:1.20-alpine3.16<\/span>\r\n<span class=\"k\">ENV<\/span><span class=\"s\"> ROOT \/app \\<\/span>\r\n    TZ Asia\/Tokyo\r\n<span class=\"k\">WORKDIR<\/span><span class=\"s\"> ${ROOT}<\/span>\r\n<span class=\"k\">RUN <\/span>apk update <span class=\"o\">&amp;&amp;<\/span> apk add <span class=\"nt\">--no-cache<\/span> git\r\n<span class=\"k\">COPY<\/span><span class=\"s\"> go.mod go.sum .\/<\/span>\r\n<span class=\"k\">RUN <\/span>go mod download\r\n<span class=\"k\">COPY<\/span><span class=\"s\"> . .<\/span>\r\n<span class=\"k\">EXPOSE<\/span><span class=\"s\"> 8080<\/span>\r\n<span class=\"k\">CMD<\/span><span class=\"s\"> [\"go\", \"run\", \"main.go\"]<\/span>\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">3.8'<\/span>\r\n<span class=\"na\">services<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">db<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s\">mysql:8.0<\/span>\r\n    <span class=\"na\">container_name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">mysql<\/span>\r\n    <span class=\"na\">env_file<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">.env<\/span>\r\n    <span class=\"na\">environment<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">MYSQL_ROOT_PASSWORD<\/span><span class=\"pi\">:<\/span> <span class=\"s\">$DB_ROOT_PASSWORD<\/span>\r\n      <span class=\"na\">MYSQL_DATABASE<\/span><span class=\"pi\">:<\/span> <span class=\"s\">$DB_NAME<\/span>\r\n      <span class=\"na\">MYSQL_USER<\/span><span class=\"pi\">:<\/span> <span class=\"s\">$DB_USER<\/span>\r\n      <span class=\"na\">MYSQL_PASSWORD<\/span><span class=\"pi\">:<\/span> <span class=\"s\">$DB_PASSWORD<\/span>\r\n    <span class=\"na\">volumes<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">.\/mysql:\/var\/lib\/mysql<\/span>\r\n    <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">3306:3306<\/span>\r\n\r\n  <span class=\"na\">api<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">build<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.<\/span>\r\n    <span class=\"na\">container_name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">api<\/span>\r\n    <span class=\"na\">working_dir<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/app<\/span>\r\n    <span class=\"na\">env_file<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">.env<\/span>\r\n    <span class=\"na\">environment<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"na\">APP_ENV<\/span><span class=\"pi\">:<\/span> <span class=\"s\">$APP_ENV<\/span>\r\n      <span class=\"na\">TZ<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">Asia\/Tokyo\"<\/span>\r\n    <span class=\"na\">volumes<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">.:\/app<\/span>\r\n    <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">8080:8080<\/span>\r\n    <span class=\"na\">depends_on<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">db<\/span>\r\n<\/code><\/pre>\n<h1>\u554f\u984c<\/h1>\n<p>\u30ed\u30fc\u30ab\u30eb\u3067\u958b\u767a\u3057\u3066\u3044\u308b\u969b\u306b\u3001\u30d5\u30a1\u30a4\u30eb\u3092go run \u30d5\u30a1\u30a4\u30eb\u540d\u3067\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u3088\u304f\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<p>\u305d\u306e\u969b\u306b\u4e0b\u8a18\u306b\u3088\u3046\u306b\u30bd\u30fc\u30b9\u304b\u3089\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u90fd\u5ea6\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u305f\u3081\u3001\u5b9f\u884c\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u3044\u307e\u3057\u305f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker compose run <span class=\"nt\">--rm<\/span> api go run main.go\r\n<span class=\"o\">[<\/span>+] Running 1\/0\r\n \u283f Container mysql  Running                                                                                                                                                  0.0s\r\ngo: downloading github.com\/sirupsen\/logrus v1.9.0\r\ngo: downloading gorm.io\/driver\/mysql v1.4.6\r\ngo: downloading gorm.io\/gorm v1.24.5\r\ngo: downloading github.com\/gin-gonic\/gin v1.8.2\r\ngo: downloading github.com\/go-sql-driver\/mysql v1.7.0\r\ngo: downloading golang.org\/x\/sys v0.3.0\r\ngo: downloading github.com\/jinzhu\/now v1.1.5\r\ngo: downloading github.com\/jinzhu\/inflection v1.0.0\r\ngo: downloading github.com\/gin-contrib\/sse v0.1.0\r\ngo: downloading github.com\/mattn\/go-isatty v0.0.16\r\ngo: downloading golang.org\/x\/net v0.4.0\r\ngo: downloading github.com\/go-playground\/validator\/v10 v10.11.1\r\ngo: downloading github.com\/pelletier\/go-toml\/v2 v2.0.6\r\ngo: downloading github.com\/ugorji\/go\/codec v1.2.7\r\ngo: downloading google.golang.org\/protobuf v1.28.1\r\ngo: downloading gopkg.in\/yaml.v2 v2.4.0\r\ngo: downloading github.com\/go-playground\/universal-translator v0.18.0\r\ngo: downloading github.com\/leodido\/go-urn v1.2.1\r\ngo: downloading golang.org\/x\/crypto v0.0.0-20211215153901-e495a2d5b3d3\r\ngo: downloading golang.org\/x\/text v0.5.0\r\ngo: downloading github.com\/go-playground\/locales v0.14.0\r\n<\/code><\/pre>\n<p>\u3053\u308c\u3067\u306f\u5916\u90e8\u30d1\u30c3\u30b1\u30fc\u30b8\u304c\u5897\u3048\u308c\u3070\u5897\u3048\u308b\u307b\u3069\u5b9f\u884c\u3059\u308b\u306e\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u3057\u307e\u3044\u307e\u3059\u3002<\/p>\n<h1>\u5bfe\u51e6\u6cd5<\/h1>\n<p>\u4f55\u304b\u826f\u3044\u65b9\u6cd5\u306f\u306a\u3044\u304b\u3068\u6a21\u7d22\u3057\u305f\u3068\u3053\u308d\u3001go mod vendor\u3068\u3044\u3046\u30b3\u30de\u30f3\u30c9\u3092\u898b\u3064\u3051\u307e\u3057\u305f\u3002<\/p>\n<p>\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306b\u306f\u4e0a\u8a18\u30b3\u30de\u30f3\u30c9\u306b\u3064\u3044\u3066\u3001\u4e0b\u8a18\u306e\u3088\u3046\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<blockquote><p>The go mod vendor command constructs a directory named vendor in the main module\u2019s root directory that contains copies of all packages needed to support builds and tests of packages in the main module.<br \/>\n&#8230;\u7701\u7565<br \/>\nWhen vendoring is enabled, the go command will load packages from the vendor directory instead of downloading modules from their sources into the module cache and using packages those downloaded copies.<\/p><\/blockquote>\n<p>\u65e5\u672c\u8a9e\u8a33<\/p>\n<blockquote><p>go mod vendor\u30b3\u30de\u30f3\u30c9\u306f\u3001\u30e1\u30a4\u30f3\u30e2\u30b8\u30e5\u30fc\u30eb\u306e\u30eb\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306bvendor\u3068\u3044\u3046\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u6210\u3057\u3001\u305d\u3053\u306b\u30e1\u30a4\u30f3\u30e2\u30b8\u30e5\u30fc\u30eb\u5185\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30d3\u30eb\u30c9\u3068\u30c6\u30b9\u30c8\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u305f\u3081\u306b\u5fc5\u8981\u306a\u3059\u3079\u3066\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u30b3\u30d4\u30fc\u3092\u683c\u7d0d\u3057\u307e\u3059\u3002<br \/>\n&#8230;\u7701\u7565<br \/>\nvendoring \u304c\u6709\u52b9\u306a\u5834\u5408\u3001go\u30b3\u30de\u30f3\u30c9\u306f\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30bd\u30fc\u30b9\u304b\u3089\u30e2\u30b8\u30e5\u30fc\u30eb\u30ad\u30e3\u30c3\u30b7\u30e5\u306b\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u3001\u305d\u308c\u3089\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3057\u305f\u30b3\u30d4\u30fc\u3092\u4f7f\u7528\u3059\u308b\u4ee3\u308f\u308a\u306b\u3001\u30d9\u30f3\u30c0\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304b\u3089\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3059\u3002<\/p><\/blockquote>\n<p>\u3064\u307e\u308a\u5b9f\u884c\u6642\u306b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30bd\u30fc\u30b9\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3092\u884c\u3046\u306e\u3067\u306f\u306a\u304f\u3001<\/p>\n<p>vendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30ad\u30e3\u30c3\u30b7\u30e5\u3055\u308c\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30ed\u30fc\u30c9\u3057\u5229\u7528\u3059\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n<p>\u3088\u3063\u3066\u90fd\u5ea6\u30bd\u30fc\u30b9\u304b\u3089\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3092\u3057\u306a\u304f\u3066\u3088\u304f\u306a\u308b\u306e\u3067\u5b9f\u884c\u3059\u308b\u969b\u306e\u6642\u9593\u304c\u304b\u306a\u308a\u77ed\u7e2e\u3055\u308c\u307e\u3059\uff01<\/p>\n<h2>\u6ce8\u610f\u70b9<\/h2>\n<p>vendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306f\u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u683c\u7d0d\u3057\u3066\u3044\u307e\u3059\u304c\u3001<\/p>\n<p>\u65b0\u305f\u306b\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u8ffd\u52a0\u3057\u305f\u969b\u306f\u305d\u306e\u90fd\u5ea6go mod vendor\u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3057\u306a\u3044\u3068<\/p>\n<p>\u8ffd\u52a0\u3057\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u304cvendor\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u683c\u7d0d\u3055\u308c\u306a\u3044\u306e\u3067\u6ce8\u610f\u3067\u3059\u3002<\/p>\n<h1>\u307e\u3068\u3081<\/h1>\n<p>\u3044\u304b\u304c\u3060\u3063\u305f\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\n<p>\u30ed\u30fc\u30ab\u30eb\u3067\u958b\u767a\u3059\u308b\u969b\u306fgo mod vendor\u30b3\u30de\u30f3\u30c9\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u3067<\/p>\n<p>\u30d5\u30a1\u30a4\u30eb\u306e\u5b9f\u884c\u6642\u9593\u3092\u77ed\u7e2e\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u306e\u3067\u662f\u975e\u7686\u3055\u3093\u3082\u8a66\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<p>\u6700\u5f8c\u307e\u3067\u8aad\u3093\u3067\u3044\u305f\u3060\u304d\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3057\u305f\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6982\u8981 \u672c\u65e5\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u3067Go\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u5b9f\u884c\u3057\u305f\u969b\u306b\u7acb\u3061\u4e0a\u304c\u308a\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u304a\u308a\u3001 \u305d\u308c\u3092\u52b9\u7387\u5316\u3059\u308b\u65b9\u6cd5\u3092\u898b [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-44689","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>- Blog - Silicon Cloud<\/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:\/\/www.silicloud.com\/zh\/blog\/44689-2\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:description\" content=\"\u6982\u8981 \u672c\u65e5\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u3067Go\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u5b9f\u884c\u3057\u305f\u969b\u306b\u7acb\u3061\u4e0a\u304c\u308a\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u304a\u308a\u3001 \u305d\u308c\u3092\u52b9\u7387\u5316\u3059\u308b\u65b9\u6cd5\u3092\u898b [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-01T21:48:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T09:01:56+00:00\" \/>\n<meta name=\"author\" content=\"\u6e05, \u626c\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6e05, \u626c\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/\",\"name\":\"- Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2022-12-01T21:48:26+00:00\",\"dateModified\":\"2024-04-29T09:01:56+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/cb5556d2501da73d864cac945e8d9461\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/cb5556d2501da73d864cac945e8d9461\",\"name\":\"\u6e05, \u626c\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/32a4239de8ff29adace466261d309424a1e5fe9f7e3036bf89fe03f2e3dbe717?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/32a4239de8ff29adace466261d309424a1e5fe9f7e3036bf89fe03f2e3dbe717?s=96&d=mm&r=g\",\"caption\":\"\u6e05, \u626c\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyang\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"- Blog - Silicon Cloud","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:\/\/www.silicloud.com\/zh\/blog\/44689-2\/","og_locale":"zh_CN","og_type":"article","og_description":"\u6982\u8981 \u672c\u65e5\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u3067Go\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u5b9f\u884c\u3057\u305f\u969b\u306b\u7acb\u3061\u4e0a\u304c\u308a\u306b\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u304a\u308a\u3001 \u305d\u308c\u3092\u52b9\u7387\u5316\u3059\u308b\u65b9\u6cd5\u3092\u898b [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2022-12-01T21:48:26+00:00","article_modified_time":"2024-04-29T09:01:56+00:00","author":"\u6e05, \u626c","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6e05, \u626c","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/","name":"- Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2022-12-01T21:48:26+00:00","dateModified":"2024-04-29T09:01:56+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/cb5556d2501da73d864cac945e8d9461"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/"]}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/cb5556d2501da73d864cac945e8d9461","name":"\u6e05, \u626c","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/32a4239de8ff29adace466261d309424a1e5fe9f7e3036bf89fe03f2e3dbe717?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/32a4239de8ff29adace466261d309424a1e5fe9f7e3036bf89fe03f2e3dbe717?s=96&d=mm&r=g","caption":"\u6e05, \u626c"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyang\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/44689-2\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44689","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=44689"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44689\/revisions"}],"predecessor-version":[{"id":86515,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/44689\/revisions\/86515"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=44689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=44689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=44689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}