> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 如何升級

> 從多個早期版本升級知行之橋的分步說明。

export const companyName = "知行軟件";

export const versionMajor = "26";

export const siteNameShort = "知行之橋";

export const siteName = "知行之橋";

{siteName} 20{versionMajor} 是多個早期應用程式版本的最新版本，包括：

* {siteName} 2022 和 2023
* ArcESB 2020 和 2021
* RSSBus Connect 2016、2017、2018 和 2019
* AS2 端口 V2 (/n software)
* AS2 端口 V3、FTP 端口 V1、OFTP 端口 V2 和 SFTP 端口 V1 (RSSBus)
* IP\*Works! EDI AS2 端口 V7 (/n software)

<Note>升級到新的主要版本（例如，從 {siteNameShort} 2023 升級到 {siteNameShort} 20{versionMajor}）需要新的產品金鑰來授權應用程式。您可以透過 <a href="mailto:edi@kasoftware.cn">[edi@kasoftware.cn](mailto:edi@kasoftware.cn)</a> 向我們的銷售團隊申請新金鑰。</Note>

## 從 {siteName} 2024 或更高版本的構建升級

### 跨平臺版本

{siteNameShort} 20{versionMajor} 的 Java 版本在 Windows 中以 setup.exe 提供，在 Linux 中則以壓縮的 setup.tar.gz 檔案提供。按照適合作業系統的步驟，將現有安裝的 {siteNameShort} 20{versionMajor} 升級到較新的構建。

#### Linux

1. 停止 {siteNameShort} 伺服器。

2. 從 tar.gz 存檔中解壓 `arc.war` 檔案並將其放在 `/opt/arc/webapp/` 中，覆蓋舊檔案。

3. （可選）從 tar.gz 存檔中解壓 `arc.jar` 檔案並將其放在 `/opt/arc/` 中，覆蓋舊檔案。

4. 啟動伺服器。

#### Windows

1. 停止 {siteNameShort} 伺服器。

2. 執行 setup.exe。

3. 將安裝程式指向 {siteNameShort} 的安裝位置。

4. 升級完成後，啟動伺服器。

#### Java 使用者須知

* 無論您選擇如何部署 {siteNameShort}，應用程式目錄 (*`ApplicationDirectory`*) 中包含的檔案和資料夾都必須可由執行應用程式的使用者讀取和寫入。Java 版本隨附的 service.sh 指令碼使用 **cdatarc** 作為該使用者。

* 如果應用程式之前以其他使用者身份執行，並且您想恢復 **cdatarc** 使用者執行應用程式所需的權限，則命令應類似於以下內容：

  ```
  sudo chown -R cdatarc:cdatarc /opt/arc
  ```

### .NET 版本

停止伺服器（透過嵌入式 Web 伺服器 UI，或在適用時透過 IIS）並執行 setup.exe。安裝程式會檢測安裝路徑，覆蓋舊構建，並保留所有配置資料不變。

## 從 {siteName} 2022 或 2023 升級

### 跨平臺版本

{siteNameShort} 20{versionMajor} 的 Java 版本在 Windows 中以 setup.exe 提供，在 Linux 中則以壓縮的 setup.tar.gz 檔案提供。按照適合作業系統的步驟，將現有安裝的 {siteNameShort} 2022 或 2023 升級到 {siteNameShort} 20{versionMajor}。

#### Linux

1. 停止 {siteNameShort} 伺服器。

2. 從 tar.gz 存檔中解壓 `arc.war` 檔案並將其放在 `/opt/arc/webapp/` 中，覆蓋舊檔案。

3. （可選）從 tar.gz 存檔中解壓 `arc.jar` 檔案並將其放在 `/opt/arc/` 中，覆蓋舊檔案。

4. 啟動伺服器。

#### Windows

1. 停止 {siteNameShort} 伺服器。

2. 執行 setup.exe。

3. 將安裝程式指向 {siteNameShort} 的安裝位置。

4. 升級完成後，啟動伺服器。

#### Java 使用者須知

* 無論您選擇如何部署 {siteNameShort}，應用程式目錄 (*`ApplicationDirectory`*) 中包含的檔案和資料夾都必須可由執行應用程式的使用者讀取和寫入。Java 版本隨附的 service.sh 指令碼使用 **cdatarc** 作為該使用者。

* 如果應用程式之前以其他使用者身份執行，並且您想恢復 **cdatarc** 使用者執行應用程式所需的權限，則命令應類似於以下內容：

  ```
  sudo chown -R cdatarc:cdatarc /opt/arc
  ```

### .NET 版本

{siteNameShort} 20{versionMajor} 可作為 {siteNameShort} 2022 的直接升級；只需執行 {siteNameShort} 20{versionMajor} 的 Windows 安裝程式，即可升級所有必要的應用程式資源。

{siteNameShort} 20{versionMajor} 的 Windows 安裝程式會嘗試檢測現有的 ArcESB 2022 安裝，並保留現有安裝中的端口、流和設定。如果 ArcESB 2022 未安裝在預設位置，您可能需要將 {siteNameShort} 20{versionMajor} 安裝程式指向磁碟上安裝 ArcESB 2022 的資料夾。

## 從 ArcESB 2021 升級

### 跨平臺版本

{siteNameShort} 20{versionMajor} 的 Java 版本在 Windows 中以 setup.exe 提供，在 Linux 中則以壓縮的 setup.tar.gz 檔案提供。按照適合作業系統的步驟，將現有安裝的 ArcESB 2021 升級到 {siteNameShort} 20{versionMajor}。

#### Linux

1. 將 tar.gz 檔案解壓到 `/opt/arc/`。

2. 停止伺服器（例如，`sudo systemctl stop arcesb`）。

3. 如果升級使用嵌入式 Jetty 伺服器的安裝，請執行 `sudo bash /opt/arc/upgrade.sh`；如果以前的安裝使用非預設路徑，則可以選擇指定 `-InstallDirectory` 參數。如果升級使用外部 servlet 容器（例如 Apache Tomcat 或 External Jetty）的安裝，請參閱[適用於您的 servlet 容器的說明](./cross-platform-edition)。

4. 將伺服器作為服務（例如 `sudo systemctl start arc`）或處理程序內（例如 `java -jar arc.jar`）啟動。

#### Windows

1. 停止 {siteNameShort} 伺服器。

2. 執行 setup.exe。

3. 將安裝程式指向 {siteNameShort} 的安裝位置。

4. 升級完成後，啟動伺服器。

#### Java 使用者須知

* 無論您選擇如何部署 {siteNameShort}，應用程式目錄 (*`ApplicationDirectory`*) 中包含的檔案和資料夾都必須可由執行應用程式的使用者讀取和寫入。Java 版本隨附的 service.sh 指令碼使用 **cdatarc** 作為該使用者。

* 如果應用程式之前以其他使用者身份執行，並且您想恢復 **cdatarc** 使用者執行應用程式所需的權限，則命令應類似於以下內容：

  ```
  sudo chown -R cdatarc:cdatarc /opt/arc
  ```

### .NET 版本

{siteNameShort} 20{versionMajor} 可作為 ArcESB 2021 的直接升級；只需執行 {siteNameShort} 20{versionMajor} 的 Windows 安裝程式，即可升級所有必要的應用程式資源。

{siteNameShort} 20{versionMajor} 的 Windows 安裝程式會嘗試檢測現有的 ArcESB 2021 安裝，並保留現有安裝中的端口、流和設定。如果 ArcESB 2021 未安裝在預設位置，您可能需要將 {siteNameShort} 20{versionMajor} 安裝程式指向磁碟上安裝 ArcESB 2021 的資料夾。

## 從 ArcESB 2020 升級

在開始之前，請記住，當前版本的 {siteNameShort} 包含多項功能，可能會導致應用程式的行為與 ArcESB 2020 安裝不同：

* {siteNameShort} 20{versionMajor} 在應用程式內管理使用者，而不是透過伺服器配置管理，因此某些使用者設定可能不會移轉。有關詳細資訊，請參閱[使用者管理](#使用者管理)。

* {siteNameShort} 20{versionMajor} 不會自動保留 FTP 和 SFTP 伺服器上的子資料夾結構。有關詳細資訊，請參閱[基於檔案的端口中的子資料夾](#基於檔案的端口中的子資料夾)。

* {siteNameShort} 2023 不允許覆蓋單個端口的本地資料夾。有關詳細資訊，請參閱[覆蓋本地資料夾](#覆蓋本地資料夾)。

* {siteNameShort} 20{versionMajor} 預設情況下不需要 Windows 管理員權限即可執行，因此可能需要更新某些資料夾權限。有關詳細資訊，請參閱 [Windows 應用程式目錄](#windows-應用程式目錄)。

### 跨平臺版本

{siteNameShort} 20{versionMajor} 的 Java 版本在 Windows 中以 setup.exe 提供，在 Linux 中則以壓縮的 setup.tar.gz 檔案提供。按照適合作業系統的步驟，將現有安裝的 ArcESB 2020 升級到 {siteNameShort} 20{versionMajor}。

#### Linux

1. 將 tar.gz 檔案解壓到 `/opt/arc/`。

2. 停止伺服器（例如，`sudo systemctl stop arcesb`）。

3. 如果升級使用嵌入式 Jetty 伺服器的安裝，請執行 `sudo bash /opt/arc/upgrade.sh`；如果以前的安裝使用非預設路徑，則可以選擇指定 `-InstallDirectory` 參數。如果升級使用外部 servlet 容器（例如 Apache Tomcat 或 External Jetty）的安裝，請參閱[適用於您的 servlet 容器的說明](./cross-platform-edition)。

4. 將伺服器作為服務（例如 `sudo systemctl start arc`）或處理程序內（例如 `java -jar arc.jar`）啟動。

#### Windows

1. 停止 {siteNameShort} 伺服器。

2. 執行 setup.exe。

3. 將安裝程式指向 {siteNameShort} 的安裝位置。

4. 升級完成後，啟動伺服器。

#### Java 使用者須知

* 無論您選擇如何部署 {siteNameShort}，應用程式目錄 (*`ApplicationDirectory`*) 中包含的檔案和資料夾都必須可由執行應用程式的使用者讀取和寫入。Java 版本隨附的 service.sh 指令碼使用 **cdatarc** 作為該使用者。

* 如果應用程式之前以其他使用者身份執行，並且您想恢復 **cdatarc** 使用者執行應用程式所需的權限，則命令應類似於以下內容：

  ```
  sudo chown -R cdatarc:cdatarc /opt/arc
  ```

### .NET 版本

{siteNameShort} 20{versionMajor} 可作為 ArcESB 2020 的直接升級。只需執行 {siteNameShort} 20{versionMajor} 的安裝程式，即可升級所有必要的應用程式資源。

{siteNameShort} 20{versionMajor} 的安裝程式會嘗試檢測現有的 ArcESB 2020 安裝，並保留現有安裝中的端口、流和設定。如果 ArcESB 2020 未安裝在預設位置，可能需要將 {siteNameShort} 20{versionMajor} 安裝程式指向磁碟上安裝 ArcESB 2020 的資料夾。

{siteNameShort} 20{versionMajor} 可以與 ArcESB 2020 分開安裝，方法是將 {siteNameShort} 20{versionMajor} 安裝程式指向不同於 ArcESB 2020 安裝位置的資料夾。只要安裝在不同資料夾中，安裝之間就不會相互干擾。

### 使用者管理

ArcESB 2020 及更早版本透過伺服器配置 XML 檔案（例如 Web.Config 或 server.xml）管理使用者。較新的 {siteNameShort} 版本將使用者管理移入應用程式本身，在 **系統設定** 頁面的 **使用者** 索引標籤中進行管理。

2021 之前版本中配置的使用者在升級期間不會保留，必須根據需要在 **使用者** 索引標籤中重新建立。有關更多資訊，請參閱[使用者](../administration/settings/users)。

### 基於檔案的端口中的子資料夾

<Note>本節僅適用於具有基於檔案的端口（包括 File、FTP 和 SFTP）的使用者，這些端口會保留遠端檔案系統中的資料夾結構。</Note>

{siteNameShort} 的早期版本具有以下行為：

這些基於檔案的端口針對遠端伺服器上的單個資料夾，從中上傳或下載檔案。當還需要從此目的檔案夾內的子資料夾下載檔案時，會在本地端口的 **交易** 索引標籤中重新建立相同的子資料夾結構。同樣對於上傳，這些端口將 **交易** 索引標籤子資料夾中的檔案視為該檔案應放置在遠端檔案系統上相應子資料夾中的指示。這種對子資料夾結構的重新建立就是“保留子資料夾結構”的含義。

{siteNameShort} 20{versionMajor} 要求使用 File 端口來映像遠端系統上的資料夾結構。如果檔案儲存在伺服器上目的檔案夾的子資料夾中，這些基於檔案的端口會向下載的檔案新增 **subfolder** 標頭。上傳檔案到遠端檔案系統時，此 **subfolder** 標頭用於自動重現子資料夾結構。

### 覆蓋本地資料夾

在 ArcESB 2021 之前，可以透過 **端口設定** 覆蓋單個端口的 `Send`、`Receive` 和 `Sent` 資料夾。從 ArcESB 2021 開始，這些選項不在介面中顯示，也不建議直接覆蓋端口資料夾。最佳實踐是[使用 File 端口](../../flows/designing-a-flow#interacting-with-the-local-file-system)來管理本地檔案系統。

如有必要，仍可透過 **高階** > **雜項** > **其他設定** 下的欄位，在 **端口設定** 中手動覆蓋端口的 SendFolder、ReceiveFolder 和 SentFolder 屬性。如果以前版本中為端口覆蓋了這些設定，則配置的設定會顯示在此處。

如果選擇使用此方法覆蓋端口的本地資料夾，請將 **高階** > **處理延遲** 下的值設定為非零秒數（例如 10），以防止 {siteNameShort} 處理仍由外部處理程序寫入的檔案。

### Windows 應用程式目錄

預設情況下，{siteNameShort} 20{versionMajor} 的 Windows 版本將應用程式目錄（儲存流、端口、配置檔案設定等資料）儲存在 `C:\ProgramData\CData\Arc` 資料夾中。在 ArcESB 2021 之前，應用程式目錄位於 `C:\Program Files` 資料夾中。此更改有助於確保 {siteNameShort} 20{versionMajor} 預設情況下無需管理員權限即可執行。

當您從 ArcESB 2020 或更早版本升級到 {siteNameShort} 20{versionMajor} 時，應用程式會重複使用舊安裝中的應用程式目錄，但預設情況下仍會嘗試在沒有管理員權限的情況下執行。因此，可能需要為 `C:\Program Files` 中的應用程式目錄設定存取權限規則，以允許 {siteNameShort} 在較低執行權限下存取。

有關應用程式目錄的更多資訊，請參閱[配置應用程式目錄](./windows-edition#configuring-the-application-directory)。

## 從 RSSBus Connect 2016、2017、2018 或 2019 升級

本節介紹從 RSSBus Connect 的早期版本升級的過程。

<Note>如需從早於 RSSBus Connect 2016 的版本升級的幫助，請參閱[從 AS2 端口升級](#從-as2-端口升級)。</Note>

在開始之前，請記住，當前版本的 {siteNameShort} 包含多項功能，可能會導致應用程式的行為與 RSSBus Connect 安裝不同：

* {siteNameShort} 20{versionMajor} 在應用程式內管理使用者，而不是透過伺服器配置管理，因此某些使用者設定可能不會移轉。有關詳細資訊，請參閱[使用者管理](#使用者管理)。

* {siteNameShort} 20{versionMajor} 不會自動保留 FTP 和 SFTP 伺服器上的子資料夾結構。有關詳細資訊，請參閱[基於檔案的端口中的子資料夾](#基於檔案的端口中的子資料夾)。

* {siteNameShort} 20{versionMajor} 不允許覆蓋單個端口的本地資料夾。有關詳細資訊，請參閱[覆蓋本地資料夾](#覆蓋本地資料夾)。

* {siteNameShort} 20{versionMajor} 預設情況下不需要 Windows 管理員權限即可執行，因此可能需要更新某些資料夾權限。有關詳細資訊，請參閱 [Windows 應用程式目錄](#windows-應用程式目錄)。

### 跨平臺版本

{siteNameShort} 20{versionMajor} 的 Java 版本在 Windows 中以 setup.exe 提供，在 Linux 中則以壓縮的 setup.tar.gz 檔案提供。按照適合作業系統的步驟，將現有安裝的 RSSBus Connect Java 版本升級到 {siteNameShort} 20{versionMajor}：

#### Linux

1. 將 tar.gz 檔案解壓到 `/opt/arc/`。

2. 停止伺服器（例如，`sudo systemctl stop arcesb`）。

3. 如果升級使用嵌入式 Jetty 伺服器的安裝，請執行 `sudo bash /opt/arc/upgrade.sh`；如果以前的安裝使用非預設路徑，則可以選擇指定 `-InstallDirectory` 參數。如果升級使用外部 servlet 容器（例如 Apache Tomcat 或 External Jetty）的安裝，請參閱[適用於您的 servlet 容器的說明](./cross-platform-edition)。

4. 將伺服器作為服務（例如 `sudo systemctl start arc`）或處理程序內（例如 `java -jar arc.jar`）啟動。

#### Windows

1. 停止 {siteNameShort} 伺服器。

2. 執行 setup.exe。

3. 將安裝程式指向 {siteNameShort} 的安裝位置。

4. 升級完成後，啟動伺服器。

#### Java 使用者須知

* 無論您選擇如何部署 {siteNameShort}，應用程式目錄 (*`ApplicationDirectory`*) 中包含的檔案和資料夾都必須可由執行應用程式的使用者讀取和寫入。Java 版本隨附的 service.sh 指令碼使用 **cdatarc** 作為該使用者。

* 如果應用程式之前以其他使用者身份執行，並且您想恢復 **cdatarc** 使用者執行應用程式所需的權限，則命令應類似於以下內容：

  ```
  sudo chown -R cdatarc:cdatarc /opt/arc
  ```

#### .NET 版本

從 RSSBus Connect 2016、2017、2018 或 2019 升級到 {siteNameShort} 20{versionMajor} 可以是一步就地升級。只需執行 {siteNameShort} 安裝程式即可更新應用程式資源（EXE、DLL、JAR 和 WAR 檔案），而不會影響配置資料。

如果 {siteNameShort} 安裝程式檢測到 RSSBus Connect 安裝，則安裝程式會使用相同的安裝路徑來儲存配置資料（配置檔案、端口/端口、憑證）。因此，新的 {siteNameShort} 安裝會自動使用舊版本的設定。

### 手動傳輸配置資料

如果無法就地升級，仍可從以前版本的 RSSBus Connect 傳輸配置資料。

第一種傳輸方法是從舊版本中匯出端口（端口）設定，然後將這些端口匯入新版本：

1. 在 RSSBus Connect 中，點選視窗右上角的 **設定**（齒輪圖示）並選擇 **匯出端口設定**，即可從 **端口** 索引標籤匯出端口。在較新版本的 RSSBus Connect（例如 RSSBus Connect 2019）中，可以在流中右鍵點選端口（端口），並選擇 **匯出端口設定**，從 **流** 索引標籤匯出端口。

2. 在 {siteNameShort} 中，點選 **設定**，然後選擇 **匯入工作區**，從 **流** 索引標籤匯入端口。

第二種方法是透過管理磁碟上的資料夾一次性傳輸所有配置資料。所有配置資訊都儲存在安裝目錄的 `data` 資料夾中。將以前版本中的 `data` 資料夾複製到最新版本中的相同資料夾，即可有效複製整個應用程式配置。

{siteNameShort} 的預設安裝目錄如下：

* **.NET 版本**：`C:\Program Files\CData\CData Arc`

* **Java**：`/opt/arc`

RSSBus Connect 的預設安裝目錄如下：

* **.NET 版本**：`C:\Program Files\RSSBus\RSSBus Connect`

* **Java**：`~/rssbus/connect`

在 Linux 系統上，`~` 解析為安裝 Java servlet 的使用者的主目錄。在 Windows 系統上，`~` 解析為 `%ProgramData%`。

<Note>如果沒有看到 {siteNameShort} 安裝目錄，請檢查 RSSBus Connect 預設安裝目錄。{siteNameShort} 安裝程式會嘗試檢測 RSSBus Connect 安裝，並使用 RSSBus Connect 中預先存在的資料夾結構。</Note>

### 升級應用程式資料來源端口

{siteNameShort} 引入了一種連線到外部資料來源的新方法，這些資料來源是應用程式而不是傳統資料庫（例如 Salesforce、NetSuite、QuickBooks 等）。在 RSSBus Connect 中，每個外部資料來源應用程式都需要一個專用端口（端口）來與該應用程式整合。在 {siteNameShort} 中，使用一個名為 [{companyName} 端口](../../connectors/cdata/cdata)的端口來連線到每個應用程式資料來源。

#### {companyName} 驅動程式

{companyName} 端口使用 {companyName} 驅動程式連線到特定資料來源。這些驅動程式在以前的 RSSBus Connect 端口（端口）中作為底層元件使用，因此存取這些應用程式資料來源中的資料所用的介面和方法沒有改變。

要將這組端口（端口）升級到 {siteNameShort}，必須在 {companyName} 端口中安裝並配置相應的 {companyName} 驅動程式。有關安裝 {companyName} 驅動程式的詳細資訊，請參閱 [{companyName} 端口](../../connectors/cdata/cdata)文件。安裝 {companyName} 驅動程式並在 {companyName} 端口設定中選中後，即可使用與 RSSBus Connect 端口（例如 Salesforce 端口、HubSpot 端口等）中相同的連線設定和憑據來配置 {companyName} 端口。

### 升級外部端口

少數以前屬於外部的端口現在嵌入在 {siteNameShort} 20{versionMajor} 中：

* SQL Server
* Oracle
* PDF

這些端口會與應用程式的其餘部分一起正確安裝，不再需要額外下載。

## 從 AS2 端口升級

本節也適用於從 **FTP 端口**、**OFTP 端口**和 **SFTP 端口**升級。

### 安裝 {siteName}

#### .NET 版本使用者

{siteNameShort} 的 Windows 安裝目標路徑與早期版本產品不同，並且監聽不同的端口。此更改確保兩個版本可以平行執行且互不衝突。只需執行 setup.exe 並按照提示在計算機上安裝應用程式。

#### Java 使用者

與 AS2 端口的早期版本（以及端口系列中的其他版本）一樣，該應用程式以可分發的 `arc.war` 檔案形式提供。如果使用伺服器的內建部署嚮導將此 WAR 檔案分發到 Java 伺服器，則會完全替換現有的 AS2 端口安裝，包括交易夥伴配置檔案。

如果您想就地升級 AS2 端口，並且仍在安裝之間保留配置檔案設定，請在部署新軟體包之前建立以前安裝的 `data` 資料夾副本。此 `data` 資料夾位於現有 Web 應用程式資料夾下的 `/WEB-INF/data/` 中。將此資料夾複製到新位置後，部署 {siteNameShort} 以替代現有安裝。首次啟動應用程式時，端口（端口）尚未配置。點選 **匯入配置檔案**，指定複製 `data` 資料夾的位置以恢復配置檔案。

或者，可以重新命名 {siteNameShort} 隨附的 `arc.war` 檔案，以將此版本的應用程式作為平行應用程式安裝。

### 匯入配置資訊

如果您從 AS2 端口、SFTP 端口或其他早期版本升級，可以使用兩種方法檢測並匯入現有的夥伴配置檔案配置。

#### 自動匯入

如果在已安裝先前版本應用程式的計算機上安裝 {siteNameShort} 的 Windows 版本，安裝程式會嘗試檢測先前版本的安裝，並可從中匯入配置檔案設定。如果檢測到與 {siteNameShort} 中已配置的夥伴配置檔案同名的夥伴配置檔案，此過程會建立一個重複項目，並在標識欄位後附加一個數字以確保其唯一。匯入後可以放心刪除重複的配置檔案。

#### 使用 Admin API 匯入

{siteNameShort} 的 Admin API 包含一個可用於從以前版本匯入設定的 *import* 操作。**import** 操作需要三個參數：

* **arcflow** — 包含流資料的 base64 編碼字串。該字串可以透過對 `.arcflow` 檔案的整個檔案內容進行 base64 編碼來生成。

* **Overwrite** — 如果匯入的配置檔案/夥伴配置導致與當前配置發生衝突，{siteNameShort} 應如何回應。如果值為 **True**，則會覆蓋現有配置。否則會生成錯誤。

* **WorkspaceId** — 要將流匯入到的工作區。如果未指定此參數，應用程式會嘗試確定要匯入到哪個工作區（基於正在匯入的流中的工作區值），並在必要時回退到預設工作區。

對 **import** 操作的所有請求都必須作為 HTTP POST 請求傳送。

有關 Admin API 的更多資訊，請參閱 [Admin API](../../admin-api)。

### 配置透明升級

執行 {siteNameShort} 安裝程式並從以前的安裝匯入夥伴配置檔案後，新版本在接收舊版本的 URL 時具有向後相容性。但是，有兩個關鍵區別：

* {siteNameShort} 使用的本地端口不同於託管先前應用程式安裝的應用程式伺服器。此行為可避免與早期版本 AS2 端口的安裝發生衝突，以便您可以維護兩個版本的應用程式，並按自己的節奏將夥伴移轉到新版本。

* 先前 AS2 端口安裝中的 `Incoming`、`Outgoing` 和 `Sent` 資料夾不會自動匯入到 {siteNameShort} 使用的配置檔案中。預設情況下，應用程式使用自己的本地檔案資源，因此不會干擾當前正在執行的應用程式例項。這也可確保如果先前配置檔案中啟用了自動化，應用程式不會立即開始傳送舊版本 AS2 端口中等待傳送的檔案。

要替換 AS2 端口例項：

1. 確定是使用先前 AS2 端口安裝中的舊資料夾結構，還是使用 {siteNameShort} 預設資料夾結構。

2. 確定是使用現有接收 URL，還是使用新的接收 URL。

#### 保留以前的資料夾

當前版本的 {siteNameShort} 包含一個 File 端口，使您可以在訊息流中將檔案系統中的外部資料夾作為單獨的邏輯步驟進行互動。此過程允許您使用以前使用的相同資源與本地檔案系統整合。不過，如果將來新增其他端口，應用程式預設會在不同的 `data` 資料夾中建立這些端口。

下圖顯示了以這種方式使用 File 端口的流範例：

<img src="https://mintcdn.com/qiao/bVtjD3fvHFZBo1vE/public/images/file_as2_flow.png?fit=max&auto=format&n=bVtjD3fvHFZBo1vE&q=85&s=6447cb69e0471b6fe2de0e489cceccea" alt="Flow using File connectors to interact with existing folders" width="800" data-path="public/images/file_as2_flow.png" />

有關如何為此目的配置 File 端口的資訊，請參閱[與本地檔案系統互動](../../flows#interacting-with-the-local-file-system)。

#### 優勢

為已配置的交易夥伴保留現有的後端業務邏輯。

#### 劣勢

預設情況下，其他端口使用不同的 `data` 資料夾。

#### 切換為使用新資料夾

如果計劃在 {siteNameShort} 中新增更多夥伴或配置其他端口，最好切換到新的預設資料夾結構。該結構如下所述。

{siteNameShort} 應用程式目錄包含所有端口和配置檔案配置資料。{siteNameShort} 中每個已配置的端口在 `data` 資料夾（預設工作區）中都有自己的資料夾，或在 `workspaces` 資料夾中有相應的工作區資料夾。端口特定資料夾包含以下資料夾：

* `Logs` — 端口寫入端口特定日誌的資料夾。

* `Pending` — 等待夥伴回應的端口會將待處理訊息儲存在此資料夾中（只有某些端口型別需要此資料夾）。

* `Receive` — 從外部來源接收或下載檔案的端口會將這些檔案放在此資料夾中。處理本地資料（不向外部來源傳送或從外部來源接收）的端口會在處理後將檔案放在此處。

* `Send` — 放在此資料夾中的檔案將由端口進行處理、傳送和上傳。

* `Sent` — 端口會將已處理、已傳送和已上傳檔案的副本放在此資料夾中。

對於 AS2 端口，請將應傳送給外部交易夥伴的檔案放在端口的 `Send` 資料夾中，並從端口的 `Receive` 資料夾中取得從外部交易夥伴接收的檔案。

#### 優勢

如果配置了其他交易夥伴，將保持一致的資料夾結構。

#### 劣勢

可能需要重新配置業務邏輯，以使用新的資料夾結構。

#### 使用新的 URL

與早期版本相比，{siteNameShort} 提供的伺服器監聽不同的端口，並使用不同的 URL 接收 AS2 傳輸。將配置檔案匯入 {siteNameShort} 後，必須更新交易夥伴，使其傳送到新的接收 URL。

預設情況下，{siteNameShort} 提供的伺服器在端口 8001 上以明文監聽，並在端口 8401 上使用 SSL/TLS。您可以透過點選 **配置檔案 > AS2** 找到接收 URL。

#### 優勢

* 交易夥伴可以按自己的節奏移轉。
* 無停機時間。

#### 劣勢

* 交易夥伴需要在其端的配置檔案配置中更改您的 URL。
* 必須在防火牆上開啟額外端口。
* 需要維護兩個版本的應用程式。

#### 使用現有 URL

若要在先前版本使用的同一 URL 上接收請求，請停止託管先前版本的伺服器，以便將同一端口分配給 {siteNameShort}。還需要將伺服器分配到先前版本使用的端口。可以透過右鍵點選系統托盤中的圖示，然後點選 **伺服器選項** 來配置端口。應用程式會自動識別對先前版本應用程式支援的資源的請求（例如 `/as2connector/pub/ReceiveFile.rsb` 和 `/Receiver.aspx`），並將其轉寄到 {siteNameShort} 中相應的資源。

#### 優勢

* 交易夥伴無需更改配置檔案。
* 維護一個系統。

#### 劣勢

* 舊伺服器停止以便為新伺服器釋放端口期間會產生停機時間。
* 必須先匯入現有配置檔案。

<Note>如果配置的端口啟用了 SSL/TLS，還需要在此端口上配置先前版本 AS2 端口使用的 SSL/TLS 憑證。如果您以前在 {siteNameShort} 中託管過 SSL/TLS 端口，則同一憑證儲存區就是 {siteNameShort} 中 SSL/TLS 憑證的位置（本地計算機的個人帳戶）。</Note>

將 {siteNameShort} 配置為使用舊版本應用程式所用的同一端口後，將開始在上述配置的資料夾中接收傳入傳輸。

## 升級 Amazon AMI

{siteNameShort} 20{versionMajor} 在 AWS Marketplace 中提供專用 AMI，可用於建立執行 {siteNameShort} 的新 EC2 例項。為了保留所有應用程式資料，請按照“手動備份”中的說明，瞭解如何直接從檔案系統複製應用程式資料夾。請按照以下步驟為相關資料夾建立持久副本：

1. 透過 SFTP 或 SCP 等傳輸協議將資料夾從 Amazon VM 複製到本地計算機。

2. 將相同的資料夾傳輸到從最新 AMI 建立的 EC2 例項。
