

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 AS2 組態
<a name="as2-example-tutorial"></a>

本教學課程會逐步說明如何使用 設定適用性聲明 2 (AS2) 組態 AWS Transfer Family。完成此處所述的步驟後，您將擁有AS2-enabled伺服器，已準備好接受來自範例交易合作夥伴的 AS2 訊息。您也會有一個連接器，可用來傳送 AS2 訊息給範例交易合作夥伴。

**注意**  
範例設定的某些部分使用 AWS Command Line Interface (AWS CLI)。如果您尚未安裝 AWS CLI，請參閱*AWS Command Line Interface 《 使用者指南*》中的[安裝或更新最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。



1. 為自己和您的交易合作夥伴建立憑證。如果您有可使用的現有憑證，您可以略過本節。

   此程序說明於 [步驟 1：建立 AS2 的憑證](#as2-create-certs)。

1. 匯入您在步驟 1 中建立的憑證。

   此程序說明於 [步驟 2：將憑證匯入為 Transfer Family 憑證資源](#as2-import-certs-example)。

1. 若要設定您的交易合作夥伴，請建立本機設定檔和合作夥伴設定檔。

   此程序說明於 [步驟 3：為您和您的交易合作夥伴建立設定檔](#as2-create-profiles-example)。

1. 建立使用 AS2 通訊協定的 AWS Transfer Family 伺服器。或者，您可以將彈性 IP 地址新增至伺服器，使其面向網際網路。

   此程序說明於 [步驟 4：建立使用 AS2 通訊協定的 Transfer Family 伺服器](#as2-example-server)。
**注意**  
您必須為傳入傳輸建立 Transfer Family 伺服器。如果您只執行傳出傳輸，則不需要 Transfer Family 伺服器。

1. 在您和您的交易合作夥伴之間建立協議。

   此程序會在 中說明[步驟 5：建立您與合作夥伴之間的協議](#as2-create-agreement-example)。
**注意**  
您必須建立僅限傳入傳輸的協議。如果您只執行傳出傳輸，則不需要協議。

1. 在您和您的交易合作夥伴之間建立連接器。

   此程序會在 中說明[步驟 6：在您和合作夥伴之間建立連接器](#as2-create-connector-example)。
**注意**  
您必須建立僅限傳出傳輸的連接器。如果您只執行傳入傳輸，則不需要連接器。

1. 測試 AS2 檔案交換。

   此程序說明於 [步驟 7：使用 Transfer Family 測試透過 AS2 交換檔案](#as2-test-config)。

完成這些步驟後，您可以執行下列動作：
+ 使用 Transfer Family `start-file-transfer` AWS Command Line Interface (AWS CLI) 命令將檔案傳送至AS2-enabled合作夥伴伺服器。
+ 透過虛擬私有雲端 (VPC) 端點，從連接埠 5080 上AS2-enabled合作夥伴伺服器接收檔案。



## 步驟 1：建立 AS2 的憑證
<a name="as2-create-certs"></a>

AS2 交換中的雙方都需要 X.509 憑證。您可以透過任何您喜歡的方式建立這些憑證。本主題說明如何從命令列使用 [OpenSSL](https://www.openssl.org/) 來建立根憑證，然後簽署次級憑證。雙方必須產生自己的憑證。

**注意**  
AS2 憑證的金鑰長度必須至少為 2048 位元，最多為 4096 位元。

若要透過合作夥伴傳輸檔案，請注意下列事項：
+ 您可以將憑證連接至設定檔。憑證包含公有或私有金鑰。
+ 您的交易合作夥伴會傳送其公有金鑰給您，而您會將公有金鑰傳送給他們。
+ 您的貿易合作夥伴會使用公有金鑰加密訊息，並使用其私有金鑰簽署訊息。相反地，您可以使用合作夥伴的公有金鑰加密訊息，並使用私有金鑰簽署訊息。
**注意**  
如果您偏好使用 GUI 管理金鑰， [http://portecle.sourceforge.net/](http://portecle.sourceforge.net/)是您可以使用的一個選項。

**產生範例憑證**
**重要**  
**請勿將私有金鑰傳送給合作夥伴。**在此範例中，您會為一方產生一組自我簽署的公有和私有金鑰。如果您要做為兩個交易合作夥伴進行測試，您可以重複這些指示來產生兩組金鑰：每個交易合作夥伴各一組。在此情況下，您不需要產生兩個根憑證授權單位 CAs)。

1. 執行下列命令，以產生具有 2048 位元長模數的 RSA 私有金鑰。

   ```
   /usr/bin/openssl genrsa -out root-ca-key.pem 2048
   ```

1. 執行下列命令，使用 `root-ca-key.pem` 檔案建立自我簽署憑證。

   ```
   /usr/bin/openssl req \
   -x509 -new -nodes -sha256 \
   -days 1825 \
   -subj "/C=US/ST=MA/L=Boston/O=TransferFamilyCustomer/OU=IT-dept/CN=ROOTCA" \
   -key root-ca-key.pem \
   -out root-ca.pem
   ```

   `-subj` 引數包含下列值。

     
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/as2-example-tutorial.html)

1. 為您的本機設定檔建立簽署金鑰和加密金鑰。

   ```
   /usr/bin/openssl genrsa -out signing-key.pem 2048
   /usr/bin/openssl genrsa -out encryption-key.pem 2048
   ```
**注意**  
有些AS2-enabled伺服器，例如 OpenAS2，要求您使用相同的憑證來簽署和加密。在這種情況下，您可以同時匯入相同的私有金鑰和憑證。若要執行此命令，請執行此命令，而非先前的兩個命令：  

   ```
   /usr/bin/openssl genrsa -out signing-and-encryption-key.pem 2048
   ```

1. 執行下列命令，為要簽署的根金鑰建立憑證簽署請求 (CSRs)。

   ```
   /usr/bin/openssl req -new -key signing-key.pem -subj \
   "/C=US/ST=MA/L=Boston/O=TransferFamilyCustomer/OU=IT-dept/CN=Signer" -out signing-key-csr.pem
   ```

   ```
   /usr/bin/openssl req -new -key encryption-key.pem -subj \
   "/C=US/ST=MA/L=Boston/O=TransferFamilyCustomer/OU=IT-dept/CN=Encrypter" -out encryption-key-csr.pem
   ```

1. 接著，您必須建立 `signing-cert.conf` 檔案和 `encryption-cert.conf` 檔案。
   + 使用文字編輯器建立具有下列內容`signing-cert.conf`的檔案：

     ```
     authorityKeyIdentifier=keyid,issuer
     keyUsage = digitalSignature, nonRepudiation
     ```
   + 使用文字編輯器建立具有下列內容`encryption-cert.conf`的檔案：

     ```
     authorityKeyIdentifier=keyid,issuer
     keyUsage = dataEncipherment
     ```

1. 最後，執行下列命令來建立已簽署的憑證。

   ```
   /usr/bin/openssl x509 -req -sha256 -CAcreateserial -days 1825 -in signing-key-csr.pem -out signing-cert.pem -CA \
   root-ca.pem -CAkey root-ca-key.pem -extfile signing-cert.conf
   ```

   ```
   /usr/bin/openssl x509 -req -sha256 -CAcreateserial -days 1825 -in encryption-key-csr.pem -out encryption-cert.pem \
   -CA root-ca.pem -CAkey root-ca-key.pem -extfile encryption-cert.conf
   ```

## 步驟 2：將憑證匯入為 Transfer Family 憑證資源
<a name="as2-import-certs-example"></a>

此程序說明如何使用 匯入憑證 AWS CLI。如果您想要改用 Transfer Family 主控台，請參閱 [匯入 AS2 憑證](managing-as2-partners.md#configure-as2-certificate)。

若要匯入您在步驟 1 中建立的簽署和加密憑證，請執行下列`import-certificate`命令。如果您使用相同的憑證進行加密和簽署，請匯入相同的憑證兩次 （一次使用 `SIGNING`，另一次`ENCRYPTION`使用 )。

**注意**  
 如果您有同時包含憑證及其鏈結的檔案，您可以僅使用 `certificate` 參數將該檔案提供給`import-certificate`命令。例如：  

```
aws transfer import-certificate --usage ENCRYPTION --certificate file://combined-cert-and-chain-file.pem
```
如果您使用 `certificate` 參數來上傳憑證及其鏈結，請勿使用 `certificate-chain` 參數。  
如果您結合憑證及其鏈結，您的金鑰會使用傳統 PEM 標準進行格式化，其中包括每 64 個字元換行「\$1n」。儲存的憑證在功能上等同於您上傳的憑證，唯一的差別是透過 的`DescribeCertificate`回應 AWS CLI 將包含這些換行字元。

```
aws transfer import-certificate --usage SIGNING --certificate file://signing-cert.pem \
            --private-key file://signing-key.pem --certificate-chain file://root-ca.pem
```

此命令會傳回您的簽署 `CertificateId`。在下一節中，此憑證 ID 稱為 `my-signing-cert-id`。

```
aws transfer import-certificate --usage ENCRYPTION --certificate file://encryption-cert.pem \
            --private-key file://encryption-key.pem --certificate-chain file://root-ca.pem
```

此命令會傳回您的加密 `CertificateId`。在下一節中，此憑證 ID 稱為 `my-encrypt-cert-id`。

接著，執行下列命令來匯入合作夥伴的加密和簽署憑證。

```
aws transfer import-certificate --usage ENCRYPTION --certificate file://partner-encryption-cert.pem \
--certificate-chain file://partner-root-ca.pem
```

此命令會傳回合作夥伴的加密 `CertificateId`。在下一節中，此憑證 ID 稱為 `partner-encrypt-cert-id`。

```
aws transfer import-certificate --usage SIGNING --certificate file://partner-signing-cert.pem \
--certificate-chain file://partner-root-ca.pem
```

此命令會傳回合作夥伴的簽署 `CertificateId`。在下一節中，此憑證 ID 稱為 `partner-signing-cert-id`。

## 步驟 3：為您和您的交易合作夥伴建立設定檔
<a name="as2-create-profiles-example"></a>

此程序說明如何使用 建立 AS2 設定檔 AWS CLI。如果您想要改用 Transfer Family 主控台，請參閱 [建立 AS2 設定檔](configure-as2-profile.md)。

執行下列命令來建立本機 AS2 設定檔。此命令會參考包含公有和私有金鑰的憑證。

```
aws transfer create-profile --as2-id MYCORP --profile-type LOCAL --certificate-ids \
my-signing-cert-id my-encrypt-cert-id
```

此命令會傳回您的設定檔 ID。在下一節中，此 ID 稱為 `my-profile-id`。

現在執行下列命令來建立合作夥伴設定檔。此命令只會使用您合作夥伴的公有金鑰憑證。若要使用此命令，`user input placeholders`請以您自己的資訊取代 ；例如，合作夥伴的 AS2 名稱和憑證 IDs。

```
aws transfer create-profile --as2-id PARTNER-COMPANY --profile-type PARTNER --certificate-ids \
partner-signing-cert-id partner-encrypt-cert-id
```

此命令會傳回合作夥伴的設定檔 ID。在下一節中，此 ID 稱為 `partner-profile-id`。

**注意**  
在先前的命令中，將 *MYCORP* 取代為您組織的名稱，並將 *PARTNER-COMPANY* 取代為您交易合作夥伴組織的名稱。

## 步驟 4：建立使用 AS2 通訊協定的 Transfer Family 伺服器
<a name="as2-example-server"></a>

此程序說明如何使用 Transfer Family 建立AS2-enabled 的伺服器 AWS CLI。

**注意**  
 許多範例步驟使用從檔案載入參數的命令。如需使用檔案載入參數的詳細資訊，請參閱[如何從檔案載入參數](https://docs.aws.amazon.com//cli/latest/userguide/cli-usage-parameters-file.html)。

如果您想要改用 主控台，請參閱 [使用 Transfer Family 主控台建立 AS2 伺服器](create-as2-transfer-server.md#create-server-as2-console)。

與建立 SFTP 或 FTPS AWS Transfer Family 伺服器的方式類似，您可以使用 `create-server` AWS CLI 命令的 `--protocols AS2` 參數來建立AS2-enabled 的伺服器。目前，Transfer Family 僅支援使用 AS2 通訊協定的 VPC 端點類型和 Amazon S3 儲存。

當您使用 `create-server`命令為 Transfer Family AS2-enabled 的伺服器時，會自動為您建立 VPC 端點。此端點公開 TCP 連接埠 5080，以便接受 AS2 訊息。

如果您想要公開 VPC 端點至網際網路，您可以將彈性 IP 地址與 VPC 端點建立關聯。

若要使用這些指示，您需要下列項目：
+ VPC 的 ID （例如 **vpc-abcdef01**)。
+ VPC 子網路IDs （例如 **subnet-abcdef01**、**netnet-abcdef01**、**netnet-021345ab**)。
+ 允許從交易合作夥伴傳入 TCP 連接埠 5080 流量的安全群組的一或多個 IDs （例如，**sg-1234567890abcdef0** 和 **sg-abcdef01234567890**)。
+ （選用） 您要與 VPC 端點建立關聯的彈性 IP 地址。
+ 如果您的交易合作夥伴未透過 VPN 連接到 VPC，則需要網際網路閘道。如需詳細資訊，請參閱「Amazon VPC 使用者指南」**中的[使用網際網路閘道連接至網際網路](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)。

**建立AS2-enabled的伺服器**

1. 執行下列命令。將每個 `user input placeholder` 替換成您自己的資訊。

   ```
   aws transfer create-server --endpoint-type VPC \
   --endpoint-details VpcId=vpc-abcdef01,SubnetIds=subnet-abcdef01,subnet-abcdef01,subnet-
   021345ab,SecurityGroupIds=sg-abcdef01234567890,sg-1234567890abcdef0 --protocols AS2 \
   --protocol-details As2Transports=HTTP
   ```

1. （選用） 您可以將 VPC 端點設為公有。您只能透過 `update-server`操作將彈性 IP 地址連接至 Transfer Family 伺服器。下列命令會停止伺服器、使用彈性 IP 地址更新伺服器，然後再次啟動伺服器。

   ```
   aws transfer stop-server --server-id your-server-id
   ```

   ```
   aws transfer update-server --server-id your-server-id --endpoint-details \
   AddressAllocationIds=eipalloc-abcdef01234567890,eipalloc-1234567890abcdef0,eipalloc-abcd012345ccccccc
   ```

   ```
   aws transfer start-server --server-id your-server-id
   ```

   此`start-server`命令會自動為您建立 DNS 記錄，其中包含伺服器的公有 IP 地址。若要讓您的交易合作夥伴存取 伺服器，請為他們提供下列資訊。在此情況下， `your-region`會參考您的 AWS 區域。

   `s-your-server-id.server.transfer.your-region.amazonaws.com`

   您提供給交易合作夥伴的完整 URL 如下：

   `http://s-your-server-id.server.transfer.your-region.amazonaws.com:5080`

1. 若要測試是否可存取AS2-enabled伺服器，請使用下列命令。請確定您的伺服器可以透過 VPC 端點的私有 DNS 地址，或透過公有端點存取 （如果您將彈性 IP 地址與端點建立關聯）。

   如果您的伺服器設定正確，連線將會成功。不過，您會收到 HTTP 狀態碼 400 （無效的請求） 回應，因為您未傳送有效的 AS2 訊息。
   + 對於公有端點 （如果您在上一個步驟中與彈性 IP 地址相關聯），請執行下列命令，取代您的伺服器 ID 和區域。

     ```
     curl -vv -X POST http://s-your-server-id.transfer.your-region.amazonaws.com:5080
     ```
   + 如果您在 VPC 中連線，請執行下列命令來查詢 VPC 端點的私有 DNS 名稱。

     ```
     aws transfer describe-server --server-id s-your-server-id
     ```

     此`describe-server`命令會在 `VpcEndpointId` 參數中傳回您的 VPC 端點 ID。使用此值來執行下列命令。

     ```
     aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-your-vpc-endpoint-id
     ```

     此`describe-vpc-endpoints`命令會傳回具有數個`DnsName`參數的`DNSEntries`陣列。在下列命令中使用區域 DNS 名稱 （不包含可用區域的名稱）。

     ```
     curl -vv -X POST http://vpce-your-vpce.vpce-svc-your-vpce-svc.your-region.vpce.amazonaws.com:5080
     ```

     例如，下列命令顯示上一個命令中預留位置的範例值。

     ```
     curl -vv -X POST http://vpce-0123456789abcdefg-fghij123.vpce-svc-11111aaaa2222bbbb.us-east-1.vpce.amazonaws.com:5080
     ```

1. （選用） 設定記錄角色。Transfer Family 會將結構化 JSON 格式的訊息狀態記錄到 Amazon CloudWatch logs。若要提供 Transfer Family 存取您帳戶中的 CloudWatch 日誌，您必須在伺服器上設定記錄角色。

   建立信任 的 AWS Identity and Access Management (IAM) 角色`transfer.amazonaws.com`，並連接 `AWSTransferLoggingAccess`受管政策。如需詳細資訊，請參閱[建立 IAM 角色和政策](requirements-roles.md)。請記下您剛建立之 IAM 角色的 Amazon Resource Name (ARN)，並執行下列`update-server`命令將其與伺服器建立關聯：

   ```
   aws transfer update-server --server-id your-server-id --logging-role arn:aws:iam::your-account-id:role/logging-role-name
   ```
**注意**  
即使記錄角色是選用的，我們強烈建議進行設定，以便您可以查看訊息的狀態並對組態問題進行故障診斷。

## 步驟 5：建立您與合作夥伴之間的協議
<a name="as2-create-agreement-example"></a>

此程序說明如何使用 建立 AS2 協議 AWS CLI。如果您想要改用 Transfer Family 主控台，請參閱 [建立 AS2 協議](create-as2-transfer-server.md#as2-agreements)。

協議結合了兩個設定檔 （本機和合作夥伴）、其憑證，以及允許雙方之間傳入 AS2 傳輸的伺服器組態。您可以執行下列命令來列出您的項目。

```
aws transfer list-profiles --profile-type LOCAL
aws transfer list-profiles --profile-type PARTNER
aws transfer list-servers
```

此步驟需要具有對儲存貯體之讀取/寫入存取權的 Amazon S3 儲存貯體和 IAM 角色。建立此角色的指示與 Transfer Family SFTP、FTP 和 FTPS 通訊協定相同，可在 中使用[建立 IAM 角色和政策](requirements-roles.md)。

若要建立協議，您需要下列項目：
+ 存放 AS2 檔案的 Amazon S3 儲存貯體名稱 （和物件字首，如有指定）。建議您為不同的檔案類型指定不同的目錄。
+ 可存取儲存貯體之 IAM 角色的 ARN
+ 您的 Transfer Family 伺服器 ID
+ 您的設定檔 ID 和合作夥伴的設定檔 ID

將下列程式碼儲存到檔案中，例如 `agreementDetails.json`。將每個 `user input placeholder` 替換成您自己的資訊。

```
{
    "Description": "ExampleAgreementName",
    "ServerId": "your-server-id",
    "LocalProfileId": "your-profile-id",
    "PartnerProfileId": "your-partner-profile-id",
    "AccessRole": "arn:aws:iam::111111111111:role/TransferAS2AccessRole",
    "Status": "ACTIVE",    
    "PreserveFilename": "ENABLED",
    "EnforceMessageSigning": "ENABLED",
    "CustomDirectories": {
        "FailedFilesDirectory": "/amzn-s3-demo-destination-bucket/AS2-failed",
        "MdnFilesDirectory": "/amzn-s3-demo-destination-bucket/AS2-mdn",
        "PayloadFilesDirectory": "/amzn-s3-demo-destination-bucket/AS2-payload",
        "StatusFilesDirectory": "/amzn-s3-demo-destination-bucket/AS2-status",
        "TemporaryFilesDirectory": "/amzn-s3-demo-destination-bucket/AS2-temp"
    }
}
```

**注意**  
若要使用單一基礎目錄而非個別目錄，請從先前的程式碼中移除`CustomDirectories`該行及其個別目錄行，並改用下列參數：  
`"BaseDirectory": "/amzn-s3-demo-destination-bucket/AS2-inbox`"  
請勿同時使用基本目錄和個別目錄參數，否則命令將會失敗。

然後執行以下命令。

```
aws transfer create-agreement --cli-input-json file://agreementDetails.json
```

如果成功，此命令會傳回協議的 ID。然後，您可以使用下列命令檢視協議的詳細資訊。

```
aws transfer describe-agreement --agreement-id agreement-id --server-id your-server-id
```

## 步驟 6：在您和合作夥伴之間建立連接器
<a name="as2-create-connector-example"></a>

此程序說明如何使用 建立 AS2 連接器 AWS CLI。如果您想要改為使用 Transfer Family 主控台，請參閱 [設定 AS2 連接器](configure-as2-connector.md)。

您可以使用 `StartFileTransfer` API 操作，透過連接器將存放在 Amazon S3 中的檔案傳送至交易合作夥伴的 AS2 端點。您可以執行下列命令，找到先前建立的設定檔。

```
aws transfer list-profiles
```

建立連接器時，您必須提供合作夥伴的 AS2 伺服器 URL。將下列文字複製到名為 的檔案`testAS2Config.json`。

```
{
"Compression": "ZLIB",
"EncryptionAlgorithm": "AES256_CBC",
"LocalProfileId": "your-profile-id",
"MdnResponse": "SYNC",
"MdnSigningAlgorithm": "DEFAULT",
"MessageSubject": "Your Message Subject",
"PartnerProfileId": "partner-profile-id",
"PreserveContentType": "FALSE",
"SigningAlgorithm": "SHA256"
}
```

**注意**  
對於 `EncryptionAlgorithm`，除非您必須支援需要的舊版用戶端，否則請勿指定`DES_EDE3_CBC`演算法，因為它是一種較弱的加密演算法。

然後執行下列命令來建立連接器。

```
aws transfer create-connector --url "http://partner-as2-server-url" \
--access-role your-IAM-role-for-bucket-access \
--logging-role arn:aws:iam::your-account-id:role/service-role/AWSTransferLoggingAccess \
--as2-config file:///path/to/testAS2Config.json
```

## 步驟 7：使用 Transfer Family 測試透過 AS2 交換檔案
<a name="as2-test-config"></a>

### 從您的交易合作夥伴接收檔案
<a name="as2-receive-file"></a>

如果您將公有彈性 IP 地址與 VPC 端點建立關聯，Transfer Family 會自動建立包含公有 IP 地址的 DNS 名稱。子網域是您的 AWS Transfer Family 伺服器 ID （格式為 `s-1234567890abcdef0`)。以下列格式將您的伺服器 URL 提供給您的交易合作夥伴。

```
http://s-1234567890abcdef0.server.transfer.us-east-1.amazonaws.com:5080
```

如果您未將公有彈性 IP 地址與 VPC 端點建立關聯，請查詢 VPC 端點的主機名稱，該端點可以透過連接埠 5080 上的交易合作夥伴 HTTP POST 接受 AS2 訊息。若要擷取 VPC 端點詳細資訊，請使用下列命令。

```
aws transfer describe-server --server-id s-1234567890abcdef0
```

例如，假設上述命令傳回 的 VPC 端點 ID`vpce-1234abcd5678efghi`。然後，您可以使用下列命令來擷取 DNS 名稱。

```
aws ec2 describe-vpc-endpoints --vpc-endpoint-ids vpce-1234abcd5678efghi
```

此命令會傳回執行下列命令所需的 VPC 端點的所有詳細資訊。

DNS 名稱會列在`DnsEntries`陣列中。您的交易合作夥伴必須位於您的 VPC 內，才能存取您的 VPC 端點 （例如透過 AWS PrivateLink 或 VPN)。以下列格式將您的 VPC 端點 URL 提供給合作夥伴。

```
http://vpce-your-vpce-id.vpce-svc-your-vpce-svc-id.your-region.vpce.amazonaws.com:5080
```

例如，下列 URL 顯示先前命令中預留位置的範例值。

```
http://vpce-0123456789abcdefg-fghij123.vpce-svc-11111aaaa2222bbbb.us-east-1.vpce.amazonaws.com:5080
```

在此範例中，成功的傳輸會存放在您在 中指定的 `base-directory` 參數中指定的位置[步驟 5：建立您與合作夥伴之間的協議](#as2-create-agreement-example)。如果我們成功接收名為 `myfile1.txt`和 的檔案`myfile2.txt`，檔案會儲存為 `/path-defined-in-the-agreement/processed/original_filename.messageId.original_extension`。在這裡，檔案會儲存為 `/amzn-s3-demo-destination-bucket/AS2-inbox/processed/myfile1.messageId.txt`和 `/amzn-s3-demo-destination-bucket/AS2-inbox/processed/myfile2.messageId.txt`。

如果您在建立 Transfer Family 伺服器時設定記錄角色，您也可以檢查 CloudWatch 日誌是否有 AS2 訊息的狀態。

### 傳送檔案給您的交易合作夥伴
<a name="as2-send-file"></a>

您可以使用 Transfer Family 透過參考連接器 ID 和檔案路徑來傳送 AS2 訊息，如下列 `start-file-transfer` AWS Command Line Interface (AWS CLI) 命令所示：

```
aws transfer start-file-transfer --connector-id c-1234567890abcdef0 \
--send-file-paths "/amzn-s3-demo-source-bucket/myfile1.txt" "/amzn-s3-demo-source-bucket/myfile2.txt"
```

若要取得連接器的詳細資訊，請執行下列命令：

```
aws transfer list-connectors
```

`list-connectors` 命令會傳回連接器IDs、URLs 和 Amazon Resource Name (ARNs)。

若要傳回特定連接器的屬性，請使用您要使用的 ID 執行下列命令：

```
aws transfer describe-connector --connector-id your-connector-id
```

`describe-connector` 命令會傳回連接器的所有屬性，包括其 URL、角色、設定檔、訊息處置通知 (MDNs)、標籤和監控指標。

您可以檢視 JSON 和 MDN 檔案，確認合作夥伴已成功收到檔案。這些檔案是根據中所述的慣例命名[檔案名稱和位置](send-as2-messages.md#file-names-as2)。如果您在建立連接器時設定了記錄角色，您也可以檢查 CloudWatch 日誌是否有 AS2 訊息的狀態。