查看 Application Integration 支援的連接器

建立網路服務

本頁說明如何使用以 Golang 編寫的 Gin 網頁架構,在 VM 中建立網路服務。您可以選擇在要使用的任何其他架構中建立網路服務。

  1. 如要在 VM 中下載 Go 套件,請在 VM 中執行下列指令:
    wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
      
  2. 在 VM 中安裝 Go。詳情請參閱「安裝 Go」。
  3. 如要為網路服務建立新目錄,請執行下列指令:
    mkdir SERVICE_REPO
      cd SERVICE_REPO
      

其他事項

建立網路服務時,請注意下列事項:

  • 建立 VM 時所需的輸入內容會以環境變數的形式提供,並具有下列前置字元:CONNECTOR_ENV_
  • 設定網路服務時,請使用環境變數讀取這類值。
  • 建立 VM 時,系統只會要求輸入設定網路服務所需的值。
  • 服務的通訊埠必須從 CONNECTOR_ENV_PORT 變數取得輸入內容。
  • 使用其他環境變數做為選用輸入內容。
  • 您也可以在建立連線時取得輸入內容。建立自訂連接器時,您可以定義這些欄位,並在每個 API 呼叫中將這些欄位做為路徑、查詢或標頭傳遞。
  • 確認伺服器在本機執行。

記錄

記錄必要資訊,並將記錄檔推送至 Cloud Logging。這有助於連接器消費者追蹤及偵錯失敗情形。如要將記錄發布至 Cloud Logging,可以使用下列 Go 語言適用的 Cloud Logging 用戶端:https://pkg.go.dev/cloud.google.com/go/logging#NewClient

您必須在主要項目中初始化記錄器,並在 Gin 中新增中介軟體,才能追蹤所有傳入的要求。您必須追蹤要求的 method、path、status 和 latency。如要篩選記錄,請在記錄時使用適當的嚴重程度。在網路服務中,從環境變數讀取記錄層級。建立 VM 時,記錄檔層級為選填輸入內容。根據預設,您可以使用「資訊」記錄。記錄層級如下:

  • DEBUG:記錄要求的每個部分,包括 HTTP 要求/回應追蹤。
  • INFO:記錄服務啟動、服務關閉、要求和其他資訊。
  • ERROR:記錄要求失敗、格式例外狀況和其他錯誤。

安全關機

設定伺服器,以便正常關閉並處理進行中的要求。如要瞭解如何正常重新啟動或停止伺服器,請參閱「正常重新啟動或停止」。

並行

Gin 伺服器本身就支援使用 Go 常式處理並行要求。根據預設,Go 常式可處理不確定數量的要求。不過,在某些情況下,如果預期要求會耗用大量資源,請使用工作站集區限制及緩衝伺服器上的要求。詳情請參閱「工作站集區範例」。

測試及建構二進位檔

  1. 使用下列指令設定連接埠並執行伺服器:
  2. EXPORT CONNECTOR_ENV_PORT = 8081
    go get .
    go run .

    這些指令會將必要程式庫組合在一起,並執行伺服器。

  3. 如要驗證伺服器,請在 VM 上執行下列 curl 指令:
    curl -X POST -H "Content-Type: application/json" -H "X-Custom-Header: MyValue" -d '{"name": "Alice", "address": "123 Main St", "gender": "F"}' http://localhost:8081/postData/456
    curl -v http://localhost:8081/getData -H "TestKey: MyValue"
  4. 使用下列指令建立二進位檔,並做為 VM 映像檔:
    go build -o SERVICE_NAME
  5. 使用下列指令將二進位檔移至根資料夾:
    sudo cp SERVICE_NAME /opt
  6. 再次執行服務,使用下列指令確認二進位檔是否正常運作:
    sudo chmod +x SERVICE_NAME
    ./SERVICE_NAME

裝載應用程式

  1. 安裝 Docker。詳情請參閱「安裝 Docker」。
  2. 建立 Docker 檔案來執行二進位檔。
    FROM alpine:latest
    WORKDIR /opt
    COPY . .
    CMD ["./SERVICE_NAME"]
  3. 使用下列指令建構連接器容器:
    sudo docker build -t connector-container .
  4. 執行 Docker 容器。設定 --restart=unless-stopped,在服務意外失敗時重新啟動服務。

容器層級工作

執行 Docker 容器時,使用 gcplogs 記錄檔驅動程式,即可將 stdout 中的所有記錄檔傳送至 Cloud Logging。這有助於追蹤服務的啟動、非預期故障或關機情形。

如要將記錄檔傳送至 Cloud Logging,請執行下列指令:
  sudo docker run --name connector-service -e
  CONNECTOR_ENV_PORT=$CONNECTOR_ENV_PORT -p
  $CONNECTOR_ENV_PORT:$CONNECTOR_ENV_PORT --restart=unless-stopped ----log-driver=gcplogs connector-container

後續步驟