

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

# 使用 Amazon S3 轉接器將檔案傳輸到 Snowball Edge 或從中遷移資料
<a name="using-adapter"></a>

以下是 Amazon S3 轉接器的概觀，您可以使用它，以程式設計方式使用 Amazon S3 REST API 動作在 AWS Snowball 邊緣 裝置上已存在的 Amazon S3 儲存貯體之間傳輸資料。此 Amazon S3 REST API 支援僅限於動作子集。您可以使用此動作子集搭配其中一個 AWS SDKs，以程式設計方式傳輸資料。您也可以使用 Amazon S3 支援的 AWS Command Line Interface (AWS CLI) 命令子集，以程式設計方式傳輸資料。

如果您的解決方案使用 1.11.0 適用於 Java 的 AWS SDK 版或更新版本，您必須使用下列 `S3ClientOptions`：
+ `disableChunkedEncoding()` – 表示界面不支援區塊編碼。
+ `setPathStyleAccess(true)` – 設定界面以對所有請求使用路徑型存取。

如需詳細資訊，請參閱適用於 *Java 的 Amazon AppStream 開發套件*中的[類別 S3ClientOptions.Builder](https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/s3/S3ClientOptions.Builder.html)。

**重要**  
我們建議您一次只使用一種方法來讀取和寫入資料至 AWS Snowball 邊緣 裝置上的本機儲存貯體。同時使用相同儲存貯體上的 NFS 介面和 Amazon S3 轉接器，可能會導致讀取/寫入衝突。  
[AWS Snowball 邊緣 配額](limits.md) 詳細說明限制。  
若要讓 AWS 服務在 Snowball Edge 上正常運作，您必須允許服務的連接埠。如需詳細資訊，請參閱[Snowball Edge 上 AWS 服務的連接埠需求](port-requirements.md)。

**Topics**
+ [下載並安裝 1.16.14 AWS CLI 版以搭配 Amazon S3 轉接器使用](#aws-cli-version)
+ [在 Snowball Edge 裝置上使用 AWS CLI 和 API 操作](#using-adapter-cli-specify-region)
+ [在 Snowball Edge 上取得和使用本機 Amazon S3 登入資料](#adapter-credentials)
+ [Snowball Edge 上的 Amazon S3 轉接器不支援的 Amazon S3 功能](#snowball-edge-s3-unsupported-features)
+ [批次處理小型檔案，以改善 Snowball Edge 的資料傳輸效能](batching-small-files.md)
+ [支援在 Snowball Edge 之間傳輸資料的 AWS CLI 命令](using-adapter-cli.md)
+ [Snowball Edge 上支援用於資料傳輸的 Amazon S3 REST API 動作](using-adapter-supported-api.md)

## 下載並安裝 1.16.14 AWS CLI 版以搭配 Amazon S3 轉接器使用
<a name="aws-cli-version"></a>

目前，Snowball Edge 裝置僅支援 AWS CLI 與 Amazon S3 轉接器搭配使用的 1.16.14 版和更早版本。較新版本的 AWS CLI 與 Amazon S3 轉接器不相容，因為它們不支援 S3 轉接器的所有功能。

**注意**  
如果您在 Snowball Edge 上使用 Amazon S3 相容儲存，您可以使用最新版本的 AWS CLI。若要下載並使用最新版本，請參閱 [AWS Command Line Interface 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)。

### 在 Linux 作業系統 AWS CLI 上安裝
<a name="install-cli-linux"></a>

執行此鏈結命令：

```
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.14.zip" -o "awscli-bundle.zip";unzip awscli-bundle.zip;sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws;/usr/local/bin/aws --version;
```

### 在 Windows 作業系統 AWS CLI 上安裝
<a name="install-cli-windows"></a>

下載並執行作業系統的安裝程式檔案：
+ [與 Python 2 綁定的 32 位元安裝程式](https://s3.amazonaws.com/aws-cli/AWSCLI32-1.16.14.msi)
+ [與 Python 3 綁定的 32 位元安裝程式](https://s3.amazonaws.com/aws-cli/AWSCLI32PY3-1.16.14.msi)
+ [與 Python 2 綁定的 64 位元安裝程式](https://s3.amazonaws.com/aws-cli/AWSCLI64-1.16.14.msi)
+ [與 Python 3 綁定的 64 位元安裝程式](https://s3.amazonaws.com/aws-cli/AWSCLI64PY3-1.16.14.msi)
+ [包含 32 位元和 64 位元安裝程式的安裝檔案，會自動安裝正確的版本](https://s3.amazonaws.com/aws-cli/AWSCLISetup-1.16.14.exe)

## 在 Snowball Edge 裝置上使用 AWS CLI 和 API 操作
<a name="using-adapter-cli-specify-region"></a>

使用 AWS CLI 或 API 操作在 Snowball Edge 上發出 IAM、Amazon S3 和 Amazon EC2 命令時，您必須將區域指定為「」`snow`。 您可以使用 `AWS configure` 或在命令本身內執行此操作，如下列範例所示。

```
aws configure --profile abc
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: 1234567
Default region name [None]: snow
Default output format [None]: json
```

或

```
aws s3 ls  --endpoint http://192.0.2.0:8080 --region snow --profile snowballEdge
```

### 的 Amazon S3 API 介面授權 AWS Snowball 邊緣
<a name="auth-adapter"></a>

當您使用 Amazon S3 轉接器時，預設會使用 AWS Signature 第 4 版演算法簽署每個互動。此授權僅用於驗證從其來源流向界面的資料。所有加密和解密都會在裝置上執行。未加密的資料一律不會存放在裝置上。

使用界面時，請記住下列事項：
+ 若要取得本機 Amazon S3 登入資料以簽署您對 AWS Snowball 邊緣 裝置的請求，請執行 `snowballEdge list-access-keys`和 `snowballEdge get-secret-access-keys` Snowball Edge 用戶端命令。如需詳細資訊，請參閱[設定和使用 Snowball Edge 用戶端](using-client-commands.md)。這些本機 Amazon S3 登入資料包含一組金鑰：存取金鑰和私密金鑰。這些金鑰僅對與任務相關聯的裝置有效。它們無法在 中使用， AWS 雲端 因為它們沒有 AWS Identity and Access Management (IAM) 對等項。
+ 您使用的 AWS 登入資料不會變更加密金鑰。使用 Signature 第 4 版演算法簽署僅用於驗證從其來源傳輸到界面的資料。因此，此簽署永遠不會考慮用來加密 Snowball 上資料的加密金鑰。

## 在 Snowball Edge 上取得和使用本機 Amazon S3 登入資料
<a name="adapter-credentials"></a>

每次與 Snowball Edge 的互動都會使用 AWS Signature 第 4 版演算法進行簽署。如需演算法的詳細資訊，請參閱《》中的[簽章第 4 版簽署程序](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)*AWS 一般參考*。

您可以執行 `snowballEdge list-access-keys`和 Snowball Edge 用戶端資訊，取得本機 Amazon S3 登入資料來簽署對 `snowballEdge get-secret-access-key` Snowball Edge 用戶端 Edge 裝置的請求，請參閱 [取得 Snowball Edge 的登入資料](using-client-commands.md#client-credentials)。這些本機 Amazon S3 登入資料包含一組金鑰：存取金鑰 ID 和私密金鑰。這些登入資料僅適用於與您的任務相關聯的裝置。它們無法在 中使用， AWS 雲端 因為它們沒有 IAM 對應。

您可以將這些登入資料新增至伺服器上的 AWS 登入資料檔案。預設登入資料設定檔通常位於 `~/.aws/credentials`，但位置可能會根據每個平台而有所不同。此檔案由許多 AWS SDKs和 共用 AWS CLI。您可以使用設定檔名稱儲存本機登入資料，如以下範例所示。

```
[snowballEdge]
aws_access_key_id = AKIAIOSFODNN7EXAMPLE
aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
```

### 設定 AWS CLI 在 Snowball Edge 上使用 S3 轉接器做為端點
<a name="using-adapter-cli-endpoint"></a>

當您使用 AWS CLI 向 AWS Snowball 邊緣 裝置發出命令時，您可以指定端點是 Amazon S3 轉接器。您可以選擇使用 HTTPS 端點或不安全的 HTTP 端點，如下所示。

**HTTPS 安全端點**

```
aws s3 ls --endpoint https://192.0.2.0:8443 --ca-bundle path/to/certificate --profile snowballEdge
```

**HTTP 不安全端點 **

```
aws s3 ls --endpoint http://192.0.2.0:8080 --profile snowballEdge
```

如果您使用 的 HTTPS 端點`8443`，您的資料會從伺服器安全地傳輸到 Snowball Edge。此加密是透過 Snowball Edge 在取得新 IP 地址時產生的憑證來確保。有了憑證之後，就可以將其儲存到本機 `ca-bundle.pem` 檔案。然後，您可以將 AWS CLI 設定檔設定為包含憑證的路徑，如下所述。

**將您的憑證與介面端點建立關聯**

1. 將 Snowball Edge 連接到電源和網路，然後將其開啟。

1. 在裝置完成啟動之後，請記下其在本機網路上的 IP 地址。

1. 從您網路上的終端機，確定您可以 ping Snowball Edge。

1. 在您的終端機中執行 `snowballEdge get-certificate` 命令。如需此命令的詳細資訊，請參閱[在 Snowball Edge 上管理公有金鑰憑證](snowball-edge-certificates-cli.md)。

1. 將 `snowballEdge get-certificate` 命令的輸出儲存至檔案，例如 `ca-bundle.pem`。

1. 從您的終端機中執行下列命令。

   ```
   aws configure set profile.snowballEdge.ca_bundle /path/to/ca-bundle.pem
   ```

完成程序之後，您可以搭配這些本機登入資料、您的憑證，以及您指定的端點來執行 CLI 命令，如以下範例所示。

```
aws s3 ls --endpoint https://192.0.2.0:8443 --profile snowballEdge
```

## Snowball Edge 上的 Amazon S3 轉接器不支援的 Amazon S3 功能
<a name="snowball-edge-s3-unsupported-features"></a>

使用 Amazon S3 轉接器，您可以透過程式設計方式使用 Amazon S3 API 動作在 Snowball Edge 之間傳輸資料。不過，使用 Amazon S3 轉接器時，並非所有 Amazon S3 傳輸功能和 API 動作都支援與 Snowball Edge 裝置搭配使用。例如，以下功能和動作不支援與 Snowball Edge 搭配使用：
+ [TransferManager](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/examples-s3-transfermanager.html) – 此公用程式會使用適用於 Java 的 SDK，將檔案從本機環境傳輸到 Amazon S3。請考慮改為將支援的 API 動作或 AWS CLI 命令與界面搭配使用。
+ [GET 儲存貯體 （列出物件） 第 2 版](https://docs.aws.amazon.com/AmazonS3/latest/API/v2-RESTBucketGET.html) – 此 GET 動作實作會傳回儲存貯體中部分或全部 （最多 1，000 個） 的物件。請考慮使用 [GET Bucket (列出物件) 第 1 版](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html)動作或 [ls](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html) AWS CLI 命令。
+ [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html) – 不支援具有物件端點的 ListBuckets。下列命令不適用於 Snowball Edge 上的 Amazon S3 相容儲存：

  ```
  aws s3 ls --endpoint https://192.0.2.0 --profile profile                    
  ```

# 批次處理小型檔案，以改善 Snowball Edge 的資料傳輸效能
<a name="batching-small-files"></a>

每個複製操作由於加密而有一些額外負荷。若要加速將小型檔案傳輸至 AWS Snowball 邊緣 裝置的程序，您可以在單一封存中將其批次處理在一起。當您將檔案批次在一起時，如果它們以其中一個支援的封存格式批次處理，則可以在它們匯入 Amazon S3 時自動擷取它們。

通常，應該會將小於或等於 1 MB 的檔案納入批次中。沒有強制限制您可以在批次中具有的檔案數目，但建議您將批次限制為大約 10,000 個檔案。批次中有超過 100，000 個檔案會影響這些檔案在您傳回裝置後匯入 Amazon S3 的速度。我們建議每個批次的總大小不要超過 100 GB。

批次處理檔案是一種您可以管理的手動程序。批次處理檔案後，請使用 命令搭配 `--metadata snowball-auto-extract=true`選項， AWS CLI `cp`將檔案傳輸至 Snowball Edge 裝置。指定 會在資料匯入 Amazon S3 時`snowball-auto-extract=true`自動擷取封存檔案的內容，只要批次檔案的大小不超過 100 GB。

**注意**  
匯入 Amazon S3 時，不會擷取任何大於 100 GB 的批次。

**批次處理小型檔案**

1. 決定您想要以哪種格式批次處理小型檔案。自動解壓縮功能支援 `TAR`、`ZIP` 和 `tar.gz` 格式。

1. 識別您想要同時批次處理的小型檔案，包括其大小和您要同時批次處理的檔案數目。

1. 在命令列將檔案批次處理，如下列範例所示。
   + 對於 Linux，您可以在用來將檔案傳輸至裝置的相同命令列中批次處理檔案。

     ```
     tar -cf - /Logs/April | aws s3 cp - s3://amzn-s3-demo-bucket/batch01.tar --metadata snowball-auto-extract=true --endpoint http://192.0.2.0:8080
     ```
**注意**  
或者，可以使用您選擇的封存公用程式，以批次方式將檔案存入一或多個大型封存檔中。不過，在您將封存轉移至 Snowball Edge 之前，此方法需要額外的本機儲存來儲存封存。
   + 對於 Windows，當所有檔案都位於執行命令的相同目錄中時，請使用下列範例命令來批次處理檔案：

     ```
     7z a -tzip -so "test" | aws s3 cp - s3://amzn-s3-demo-bucket/batch01.zip --metadata snowball-auto-extract=true --endpoint http://192.0.2.0:8080
     ```

     若要從執行命令的不同目錄批次處理檔案，請使用下列範例命令：

     ```
     7z a -tzip -so "test" "c:\temp" | aws s3 cp - s3://amzn-s3-demo-bucket/batch01.zip --metadata snowball-auto-extract=true --endpoint http://10.x.x.x:8080
     ```
**注意**  
對於 Microsoft Windows 2016，tar 無法使用，但您可以從 *Tar for Windows* 網站下載它。  
您可以從 7ZIP 網站下載 7 ZIP。

1. 重複此步驟，直到您已封存所有使用 Snowball Edge 傳輸至 Amazon S3 的小型檔案為止。

1. 將封存的檔案傳輸至 Snowball。如果您想要自動擷取資料，並且使用先前在步驟 1 中提到的其中一種支援的封存格式，請使用 AWS CLI `cp`命令搭配 `--metadata snowball-auto-extract=true`選項。
**注意**  
如果有非封存檔案，請勿使用此命令。

建立封存檔案時，擷取會維護目前的資料結構。這表示如果您建立包含檔案和資料夾的封存檔案，Snowball Edge 將在擷取至 Amazon S3 程序期間重新建立此檔案。

封存檔案會解壓縮在存放於 的相同目錄中，並相應地建置資料夾結構。請記住，複製封存檔案時，請務必設定旗標 `--metadata snowball-auto-extract=true`。否則，Snowball Edge 不會在資料匯入 Amazon S3 時擷取資料。

如果您有 /Logs/April/ 的資料夾結構，其中包含檔案 `a.txt`、 `b.txt`和 ，請使用步驟 3 中的範例`c.txt`。如果此封存檔案放置在 /amzn-s3-demo-bucket/ 的根目錄中，則擷取後資料看起來會如下所示：

```
/amzn-s3-demo-bucket/Logs/April/a.txt
/amzn-s3-demo-bucket/Logs/April/b.txt
/amzn-s3-demo-bucket/Logs/April/c.txt
```



如果封存檔案已放入 /amzn-s3-demo-bucket/Test/，則擷取會如下所示：

```
/amzn-s3-demo-bucket/Test/Logs/April/a.txt
/amzn-s3-demo-bucket/Test/Logs/April/b.txt
/amzn-s3-demo-bucket/Test/Logs/April/c.txt
```

# 支援在 Snowball Edge 之間傳輸資料的 AWS CLI 命令
<a name="using-adapter-cli"></a>

您可以在下面找到有關如何在 Snowball Edge 上指定 Amazon S3 轉接器或 Amazon S3 相容儲存體做為 applicable AWS Command Line Interface (AWS CLI) 命令端點的資訊。您也可以找到支援使用轉接器或 Snowball Edge 上的 Amazon S3 相容儲存體將資料傳輸至 AWS Snowball 邊緣 裝置的 Amazon S3 AWS CLI 命令清單。

**注意**  
如需有關安裝和設定 的資訊 AWS CLI，包括指定您要 AWS CLI 呼叫的區域，請參閱 [AWS Command Line Interface 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/)。

目前，使用 Amazon S3 轉接器 AWS CLI 時，Snowball Edge 裝置僅支援 1.16.14 版和更早版本的 。請參閱 [尋找 Snowball Edge 用戶端版本](using-adapter.md#aws-cli-version)。如果您在 Snowball Edge 上使用 Amazon S3 相容儲存，您可以使用最新版本的 AWS CLI。若要下載並使用最新版本，請參閱 [AWS Command Line Interface 使用者指南](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)。

**注意**  
安裝 AWS CLI 1.16.14 版之前，請確定您已安裝 Python 2.6.5 以上版本或 3.4 以上版本。

## 支援使用 Amazon S3 和 Snowball Edge 進行資料傳輸的 AWS CLI 命令
<a name="using-adapter-cli-commands"></a>

以下是 AWS Snowball 邊緣 裝置支援的 Amazon S3 AWS CLI 命令和選項子集的描述。如果未列出命令或選項，則不支援。您可以連同命令宣告某些不受支援的選項，例如 `--sse` 或 `--storage-class`。不過，這些選項會被忽略，而且不會影響資料的匯入方式。
+ [cp](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) – 將檔案或物件複製到 AWS Snowball 邊緣 裝置或從裝置複製。以下是此命令的選項：
  + `--dryrun` （布林值） – 將使用指定命令執行的操作會在不執行的情況下顯示。
  + `--quiet` （布林值） – 不會顯示指定命令執行的操作。
  + `--include` （字串） – 請勿在命令中排除符合指定模式的檔案或物件。如需詳細資訊，請參閱《 *AWS CLI 命令參考*》中的[使用排除和包含篩選條件](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html#use-of-exclude-and-include-filters)。
  + `--exclude` （字串） – 從符合指定模式的命令中排除所有檔案或物件。
  + `--follow-symlinks | --no-follow-symlinks` （布林值） – 只有在從本機檔案系統上傳至 Amazon S3 時，才會遵循符號連結 （符號連結）。Amazon S3 不支援符號連結，因此連結目標的內容會以連結的名稱上傳。當未指定任何選項時，預設是遵循符號。
  + `--only-show-errors` （布林值） – 只會顯示錯誤和警告。會抑制所有其他輸出。
  + `--recursive` （布林值） – 命令會在指定目錄或字首下的所有檔案或物件上執行。
  + `--page-size` （整數） – 每次回應清單操作時要傳回的結果數量。預設值為 1000 (允許的最大值)。如果操作逾時，則使用較低的值可能有用。
  + `--metadata` （映射） – 要與 Amazon S3 中的物件一起存放的中繼資料映射。會將此對應套用到屬於此請求的每一個物件。執行同步時，此功能表示尚未變更的檔案不會收到新的中繼資料。在兩個 Amazon S3 位置之間複製時，除非另有指定，`REPLACE`否則`metadata-directive`引數預設為 。
+ [ls](https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html) – 列出 AWS Snowball 邊緣 裝置上的物件。以下是此命令的選項：
  + `--human-readable` （布林值） – 檔案大小會以人類可讀的格式顯示。
  + `--summarize` （布林值） – 摘要資訊隨即顯示。此資訊為物件數目及其大小總計。
  + `--recursive` （布林值） – 命令會在指定目錄或字首下的所有檔案或物件上執行。
  + `--page-size` （整數） – 每次回應清單操作時要傳回的結果數量。預設值為 1000 (允許的最大值)。如果操作逾時，則使用較低的值可能有用。
+ [rm](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html) – 刪除 AWS Snowball 邊緣 裝置上的物件。以下是此命令的選項：
  + `--dryrun` （布林值） – 將使用指定命令執行的操作會在不執行的情況下顯示。
  + `--include` （字串） – 請勿在命令中排除符合指定模式的檔案或物件。如需詳細資訊，請參閱《 *AWS CLI 命令參考*》中的[使用排除和包含篩選條件](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html#use-of-exclude-and-include-filters)。
  + `--exclude` （字串） – 從符合指定模式的命令中排除所有檔案或物件。
  + `--recursive` （布林值） – 命令會在指定目錄或字首下的所有檔案或物件上執行。
  + `--page-size` （整數） – 每次回應清單操作時要傳回的結果數量。預設值為 1000 (允許的最大值)。如果操作逾時，則使用較低的值可能有用。
  + `--only-show-errors` （布林值） – 只會顯示錯誤和警告。會抑制所有其他輸出。
  + `--quiet` （布林值） – 不會顯示指定命令執行的操作。
+ [sync](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) – 同步目錄和字首。此命令會將新的和更新的檔案從來源目錄複製到目的地。此命令只會在包含一或多個檔案時，在目的地中建立目錄。
**重要**  
不支援在同一個 Snowball Edge 上從一個目錄同步到另一個目錄。  
不支援從一個 AWS Snowball 邊緣 裝置同步到另一個 AWS Snowball 邊緣 裝置。  
您只能使用此選項來同步內部部署資料儲存和 Snowball Edge 之間的內容。
  + `--dryrun` （布林值） – 將使用指定命令執行的操作會在不執行的情況下顯示。
  + `--quiet` （布林值） – 不會顯示指定命令執行的操作。
  + `--include` （字串） – 請勿在命令中排除符合指定模式的檔案或物件。如需詳細資訊，請參閱《 *AWS CLI 命令參考*》中的[使用排除和包含篩選條件](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html#use-of-exclude-and-include-filters)。
  + `--exclude` （字串） – 從符合指定模式的命令中排除所有檔案或物件。
  + `--follow-symlinks` 或 `--no-follow-symlinks`（布林值） – 只有在從本機檔案系統上傳至 Amazon S3 時，才會遵循符號連結 （符號連結）。Amazon S3 不支援符號連結，因此連結目標的內容會以連結的名稱上傳。當未指定任何選項時，預設是遵循符號。
  + `--only-show-errors` （布林值） – 只會顯示錯誤和警告。會抑制所有其他輸出。
  + `--no-progress` （布林值） – 不會顯示檔案傳輸進度。只在未提供 `--quiet` 和 `--only-show-errors` 選項時，才會套用此選項。
  + `--page-size` （整數） – 每次回應清單操作時要傳回的結果數量。預設值為 1000 (允許的最大值)。如果操作逾時，則使用較低的值可能有用。
  + `--metadata` （映射） – 要與 Amazon S3 中的物件一起存放的中繼資料映射。會將此對應套用到屬於此請求的每一個物件。執行同步時，此功能表示尚未變更的檔案不會收到新的中繼資料。在兩個 Amazon S3 位置之間複製時，除非另有指定，`REPLACE`否則`metadata-directive`引數預設為 。
**重要**  
不支援在同一個 Snowball Edge 上從一個目錄同步到另一個目錄。  
不支援從一個 AWS Snowball 邊緣 裝置同步到另一個 AWS Snowball 邊緣 裝置。  
您只能使用此選項來同步內部部署資料儲存和 Snowball Edge 之間的內容。
  + `--size-only` （布林值） – 使用此選項時，每個金鑰的大小是唯一用來決定是否從來源同步到目的地的條件。
  + `--exact-timestamps` （布林值） – 從 Amazon S3 同步到本機儲存體時，只有在時間戳記完全相符時，才會忽略相同大小的項目。預設行為是忽略相同大小的項目，除非本機版本比 Amazon S3 版本更新。
  + `--delete` （布林值） – 同步期間會刪除目的地中存在但未存在於來源中的檔案。

您可以使用其名稱中有空格的檔案或資料夾，例如 `my photo.jpg` 或 `My Documents`。不過，請確定您在 AWS CLI 命令中正確處理空格。如需詳細資訊，請參閱*AWS Command Line Interface 《 使用者指南*》中的[指定 CLI 的 AWS 參數值](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html)。

# Snowball Edge 上支援用於資料傳輸的 Amazon S3 REST API 動作
<a name="using-adapter-supported-api"></a>

您可以在下面找到支援使用 Amazon S3 轉接器的 Amazon S3 REST API 動作清單。此清單包含 API 動作如何與 Amazon S3 搭配使用的相關資訊連結。此清單也涵蓋 Amazon S3 API 動作與 AWS Snowball 邊緣 裝置對等動作之間行為的任何差異。從 AWS Snowball 邊緣 裝置傳回的所有回應都會宣告`Server`為 `AWSSnowball`，如下列範例所示。

```
HTTP/1.1 201 OK
x-amz-id-2: JuKZqmXuiwFeDQxhD7M8KtsKobSzWA1QEjLbTMTagkKdBX2z7Il/jGhDeJ3j6s80
x-amz-request-id: 32FE2CEB32F5EE25
Date: Fri, 08 2016 21:34:56 GMT
Server: AWSSnowball
```

Amazon S3 REST API 呼叫需要 SigV4 簽署。如果您使用 AWS CLI 或 AWS SDK 進行這些 API 呼叫，則會為您處理 SigV4 簽署。否則，您需要實作自己的 SigV4 簽署解決方案。如需詳細資訊，請參閱《Amazon Simple Storage Service 使用者指南》中的[驗證請求 (AWS 簽章版本 4)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/sig-v4-authenticating-requests.html)。
+ [GET 儲存貯體 （列出物件） 第 1 版](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGET.html) – 支援。不過，在此 GET 操作的實作中，不支援下列項目：
  + 分頁
  + 標記
  + 分隔符號
  + 傳回清單時，不會排序清單

  只支援第 1 版。不支援 GET Bucket (列出物件) 第 2 版。
+ [GET Service](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTServiceGET.html) 
+ [HEAD Bucket](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketHEAD.html) 
+ [HEAD 物件](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html) 
+ [GET 物件](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectGET.html) – 是 Snow 裝置 S3 儲存貯體中物件的 DOWNLOAD。
+ [PUT 物件](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html) – 使用 將物件上傳至 AWS Snowball 邊緣 裝置時`PUT Object`，會產生 ETag。

  ETag 是物件的雜湊。ETag 只會反映物件內容的變更，而非其中繼資料的變更。ETag 可能是 (也可能不是) 物件資料的 MD5 摘要。如需 ETags 的詳細資訊，請參閱《Amazon Simple Storage Service API 參考》中的[常見回應標頭](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html)。 **
+ [DELETE 物件](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html) 
+ [啟動分段上傳](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadInitiate.html) – 在此實作中，對 AWS Snowball 邊緣 裝置上已有的物件啟動分段上傳請求會先刪除該物件。然後，它會將其分段複製到 AWS Snowball 邊緣 裝置。
+ [列出分段上傳](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadListMPUpload.html) 
+ [上傳片段](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadUploadPart.html) 
+ [完成分段上傳](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadComplete.html) 
+ [中止分段上傳](https://docs.aws.amazon.com/AmazonS3/latest/API/mpUploadAbort.html) 

**注意**  
不支援此處未列出的任何 Amazon S3 轉接器 REST API 動作。將任何不支援的 REST API 動作與 Snowball Edge 搭配使用時，會傳回錯誤訊息，指出不支援該動作。