对组织进行对账

通过对账流程,您可以将现有 Apigee Edge 私有云组织的全部 API 元数据(代理、环境等)重新同步到 API Hub。如果您怀疑数据不一致或需要完全重新同步所有 API 定义,通常会使用此流程。

此过程涉及两项主要操作:

  • 通过修改连接器的配置暂时选择不使用特定组织
  • 立即重新启用
此序列会触发连接器再次对相应组织的所有元数据执行完整提取和上传。

对账步骤

如需协调组织,您需要修改连接器的配置文件两次,并在每次修改后重启连接器服务。

  1. 备份当前配置文件。
  2. 仅从要选择退出的组织中移除 runtimeDataPubsub 和 metadataPubsub。
  3. 重启 uapim 连接器服务。
  4. 通过将原始 uapim 连接器设置恢复到在第 1 步中创建的备份,选择启用当前组织。
  5. 重启 uapim 连接器服务。
  1. 选择退出组织(移除 Pub/Sub 主题)

    在此步骤中,您将从 Pub/Sub 主题中移除组织。暂时向连接器发送信号,以停止同步目标组织的元数据。

    • 修改连接器配置:在连接器虚拟机上打开配置文件:/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 连接器来应用更改:

      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 监控进度。