調解機構

透過對帳程序,您可以將現有 Apigee Edge for Private Cloud 機構的所有 API 中繼資料 (Proxy、環境等) 重新同步至 API 中心。如果您懷疑資料不一致,或需要完整重新同步所有 API 定義,通常會使用這個程序。

這個程序包含兩項主要動作:

  • 修改連結器的設定,暫時退出特定機構
  • 立即重新啟用
這個順序會觸發連結器,再次完整擷取並上傳該機構的所有中繼資料。

對帳步驟

如要比對機構,請修改連接器的設定檔兩次,並在每次修改後重新啟動連接器服務。

  1. 備份目前的設定檔。
  2. 從要停用的機構中,只移除 runtimeDataPubsub 和 metadataPubsub。
  3. 重新啟動 uapim 連接器服務。
  4. 將原始 uapim 連接器設定還原至步驟 1 中建立的備份,即可選擇加入目前的機構。
  5. 重新啟動 uapim 連接器服務。
  1. 退出機構 (移除 Pub/Sub 主題)

    在這個步驟中,您將從 Pub/Sub 主題中移除機構。暫時向連接器發出信號,停止同步處理目標機構的中繼資料。

    • 編輯連接器設定:在連接器 VM 上開啟設定檔:/opt/apigee/customer/application/uapim-connector.properties
    • 修改 conf_uapim_connector.uapim.settings.json:在 connectorConfig 部分中,針對您要比對的機構 (例如 organization1),移除 runtimeDataPubsub 和 metadataPubsub 的值。請務必保留 serviceAccount 和 pluginInstanceId。
    • 修改前 (範例):
      {
        "connectorConfig" : { 
          "organization1" : { 
            "runtimeDataPubsub" : "projects/p1/topics/rt-topic-org1", 
            "metadataPubsub":"projects/p1/topics/md-topic-org1",
            "serviceAccount": "mysa1@in.myfirstProject",
            "pluginInstanceId":"aaaa"
          }, 
          "organization2" : { 
            "runtimeDataPubsub" : "projects/p2/topics/rt-topic-org2", 
            "metadataPubsub":"projects/p2/topics/md-topic-org2",
            "serviceAccount": "mysa2@in.mySecondProject",
            "pluginInstanceId":"bbbbb"
          }
        },
        "runtimeDataPath":"/the/nfs/mounted/path",
        "managementServer": "hostname"
      }
      
    • 修改後 (選擇不加入機構 1):

      {
        "connectorConfig" : { 
          "organization1" : { 
            "runtimeDataPubsub" : "", 
            "metadataPubsub":"",
            "serviceAccount": "mysa1@in.myfirstProject",
            "pluginInstanceId":"aaaa"
          }, 
          "organization2" : { 
            "runtimeDataPubsub" : "projects/p2/topics/rt-topic-org2", 
            "metadataPubsub":"projects/p2/topics/md-topic-org2",
            "serviceAccount": "mysa2@in.mySecondProject",
            "pluginInstanceId":"bbbbb"
          }
        },
        "runtimeDataPath":"/the/nfs/mounted/path",
        "managementServer": "hostname"
      }
      
    • 重新啟動連接器服務 (選擇不採用):

      如要套用變更,請重新啟動 Apigee API Hub for Private Cloud 連接器:

      apigee-service edge-uapim-connector restart
      
  2. 選擇加入機構 (還原 Pub/Sub 主題)

    在這個步驟中,您會將機構還原至 Pub/Sub 主題。向連接器發出信號,開始全新完整地同步處理中繼資料。

    • 編輯連結器設定:再次開啟設定檔:/opt/apigee/customer/application/uapim-connector.properties
    • 修改 conf_uapim_connector.uapim.settings.json:在 connectorConfig 區段中,針對您要調解的機構 (例如 organization1),還原 runtimeDataPubsub 和 metadataPubsub 的值。
    • 修改後 (選擇加入的機構 1):
      {
        "connectorConfig" : { 
          "organization1" : { 
            "runtimeDataPubsub" : "projects/p1/topics/rt-topic-org1", 
            "metadataPubsub":"projects/p1/topics/md-topic-org1",
            "serviceAccount": "mysa1@in.myfirstProject",
            "pluginInstanceId":"aaaa"
          }, 
          "organization2" : { 
            "runtimeDataPubsub" : "projects/p2/topics/rt-topic-org2", 
            "metadataPubsub":"projects/p2/topics/md-topic-org2",
            "serviceAccount": "mysa2@in.mySecondProject",
            "pluginInstanceId":"bbbbb"
          }
        },
        "runtimeDataPath":"/the/nfs/mounted/path",
        "managementServer": "hostname"
      }
      
  3. 已還原設定

    重新啟動連接器服務 (選擇加入):

    再次重新啟動連接器服務,觸發完整的中繼資料重新同步:

    apigee-service edge-uapim-connector restart
    

連接器現在會為目標機構完整啟用所有 API 中繼資料。您可以使用狀態端點 curl localhost:8080/v1/uapim/status 監控進度。