使用單一 REST 呼叫,將檔案上傳至多部已登錄主機

您可以呼叫 POST REST API,將檔案從群體控制器上傳至群體中的多部已登錄主機。檔案傳送作業是在「IBM JMX REST 連接器」內進行。

開始之前

建立群體控制器。請參閱配置 Liberty 群體

向群體控制器登錄每一部遠端主機。請參閱 向 Liberty 群體登錄主機

程序

  1. 選擇性的: 若要閱讀 REST API,請將瀏覽器指向 https://controller_host_name:controller_port_name/IBMJMXConnectorREST/api,並輸入控制器管理使用者 ID 和密碼,以便登入。控制器必須正在執行,才能檢視 REST API 說明文件。

    檔案傳送遞送區段說明在群體控制器與成員伺服器(或已登錄主機)之間傳送檔案時,所使用的 API。

    collectiveController-1.0 特性會啟用 restConnector-1.0 特性,藉以提供檔案傳送功能。因此,群體控制器不需要在特性管理程式中指定 restConnector-1.0,就能檢視 REST API 或執行檔案傳送作業。獨立式伺服器配置可能就需要 restConnector-1.0 特性,才能檢視 REST API。

  2. 列出群體控制器 HTTP 標頭中的目標主機。
    com.ibm.websphere.collective.hostNames=comma-separated_list_of_target_hosts

    選擇性地設定其他 HTTP 標頭:

    • 指定是否非同步執行檔案上傳和動作。預設值為 false。若要變更預設值,請將 boolean 指定為 true
      com.ibm.websphere.jmx.connector.rest.asyncExecution=boolean
    • 指定在上傳檔案之後要執行的一組動作。現有的內建動作是 com.ibm.websphere.jmx.connector.rest.postTransferAction.join,這會將送入的 Liberty 保存檔內的 Liberty 伺服器加入群體中。請使用標頭來列出其他的自訂動作。如果您列出多個自訂動作,請用 URL 編碼逗點字元來區隔動作。
      com.ibm.websphere.jmx.connector.rest.postTransferAction=comma-separated_list_of_actions
      如果要啟用自訂動作,請在群體控制器的 server.xml 中新增下列配置:
      <hostAccess enableCustomActions="true" />
    • 指定選項清單,以傳遞給傳送後要執行的動作。這份選項清單必須是空值,或者所包含的清單項目數必須與 postTransferAction 標頭清單相同,其中,每一個選項的項目索引必須符合其對應動作的索引。如果您列出多個選項,請用 URL 編碼逗點字元來區隔動作。
      com.ibm.websphere.jmx.connector.rest.postTransferAction.options=comma-separated_list_of_options

      如果您指定內建動作 com.ibm.websphere.jmx.connector.rest.postTransferAction.join,對應選項必須是:

      --user=adminUser --password=adminPw --keystorePassword=keystorePw [--rpcUser=rpcUser --rpcPassword=rpcPw]
    • 指定在執行傳送動作之前所要設定的環境變數。標頭的有效負載是一個 JSON 物件,其中,每一個 JSON 索引鍵都是環境變數,每一個 JSON 值都是其對應值。如果您指定系統路徑,請使用正斜線 (/)。
      com.ibm.websphere.jmx.connector.rest.transferEnvVars=list_of_environment_variables
  3. 使用 POST 作業,將檔案上傳至多部已登錄主機。
    1. 請確定目標位置位於主機的可配置寫入目錄內。
    2. 呼叫 POST 作業。
      POST https://controller_host:controller_port/IBMJMXConnectorREST/file/{filePath}[?expandOnCompletion=boolean&local=boolean]
      • {filePath} 是指定了目標位置的 UTF-8 URL 編碼絕對路徑。例如,如果檔案是 C:/temp/myFile.txt,則路徑是 C%3A%2Ftemp%2FmyFile.txt
      • expandOnCompletion 是選用的查詢參數,用來切換上傳保存檔的自動擴充。預設值為 false
      • local 是選用的查詢參數,用來指定所上傳的檔案是否已在控制器中。若為 true,則這個 POST 有效負載的內容是一個字串,代表控制器內的來源檔位置。預設值為 false
      • 如果沒有使用 local 查詢參數,或是明確設為 false,則 POST 有效負載會是來源檔本身的二進位內容。

下一步

取得 REST 呼叫中的狀態或詳細資料。請參閱 取得針對多部已登錄主機所發出之 REST 呼叫的狀態


指示主題類型的圖示 作業主題

檔名:twlp_collective_file_transfer_multihost.html