

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# SFTP コネクタの使用
<a name="transfer-sftp-connectors"></a>

このトピックでは、SFTP コネクタを使用してサポートされているファイルオペレーションを実行する方法について説明します。また、[https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) の AWS Transfer Family コンソールでコネクタの詳細を選択することで、これらのオペレーションを実行するコマンドの例を見つけることもできます。

SFTP コネクタを作成したら、それを使用して、関連付けられているリモート SFTP サーバーで次のファイルオペレーションを実行できます。
+ Amazon S3 からリモート SFTP サーバーにファイルを送信します。
+ リモート SFTP サーバーから Amazon S3 にファイルを取得します。
+ リモート SFTP サーバーのディレクトリからファイルとサブフォルダを一覧表示します。
+ リモート SFTP サーバー上のファイルとディレクトリを削除、名前変更、または移動します。

コネクターの作成については、[SFTP コネクタの作成](configure-sftp-connector.md) を参照してください。

**Topics**
+ [ファイルの転送](transfer-files-and-track.md)
+ [リモートディレクトリの内容を一覧表示する](sftp-connector-list-dir.md)
+ [リモートサーバー上のファイルまたはディレクトリを移動、名前変更、または削除する](move-delete-remote-files.md)

# ファイルの転送
<a name="transfer-files-and-track"></a>

**Topics**
+ [SFTP コネクタを使用してファイルを送受信します。](#send-retrieve-connector-details)

## SFTP コネクタを使用してファイルを送受信します。
<a name="send-retrieve-connector-details"></a>

SFTP コネクタを使用してファイルを送受信するには、 [https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartFileTransfer.html) API オペレーションを使用し、*ファイルの送信* (アウトバウンド転送) か*受信* (インバウンド転送) かに応じて、次のパラメータを指定します。各`StartFileTransfer`リクエストには 10 個の個別のパスを含めることができます。

**注記**  
 デフォルトでは、SFTP コネクタは一度に 1 つのファイルを処理し、ファイルを順番に転送します。コネクタに同じユーザーからの同時セッションをサポートするリモートサーバーとの同時セッションを作成し、最大 5 つのファイルを並行して処理させることで、転送パフォーマンスを加速させるオプションがあります。  
 コネクタの同時接続を有効にするには、コネクタを作成または更新するときに**最大同時接続**数の設定を編集できます。詳細については、「[サービスマネージド出力で SFTP コネクタを作成する](create-sftp-connector-procedure.md)」を参照してください。
+ **アウトバウンド転送** 
  + `send-file-paths` には、パートナーの SFTP サーバーに転送するファイルのソースファイ ルパスが 1～10 個含まれています。
  + `remote-directory-path`は、顧客の SFTP サーバ上でファイルを送信するリモートパスです。
+ **インバウンド転送** 
  + `retrieve-file-paths`には 1 本から 10 本のリモートパスが含まれます。各パスは、パートナーのSFTPサーバーからTransfer Familyサーバーにファイルを転送する場所を指定します。
  + `local-directory-path`は、ファイルが保存されている Amazon S3 の場所（バケットとオプションのプレフィックス）です。

ファイルを送信するには、`send-file-paths`と`remote-directory-path`パラメータを指定します。`send-file-paths`パラメータには最大 10 個のファイルを指定できます。以下のコマンド例では、Amazon S3 ストレージにある `/amzn-s3-demo-source-bucket/file1.txt` と `/amzn-s3-demo-source-bucket/file2.txt` という名前のファイルを、パートナーの SFTP サーバー上の `/tmp` ディレクトリに送信します。この例のコマンドを使うには、`amzn-s3-demo-source-bucket` を自分のバケツに置き換えます。

```
aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-source-bucket/file1.txt /amzn-s3-demo-source-bucket/file2.txt \
    --remote-directory-path /tmp --connector-id c-1111AAAA2222BBBB3 --region us-east-2
```

ファイルを取得するには、 `retrieve-file-paths` および `local-directory-path`パラメータを指定します。次の の例では、パートナーの SFTP サーバー`/my/remote/file1.txt``/my/remote/file2.txt`上の ファイルと を取得し、Amazon S3 の場所 /amzn-s3-demo-bucket/*prefix* に配置します。このコマンド例を実行するには、`user input placeholders` をユーザー自身の情報に置き換えます。

```
aws transfer start-file-transfer --retrieve-file-paths /my/remote/file1.txt  /my/remote/file2.txt \
   --local-directory-path /amzn-s3-demo-bucket/prefix --connector-id c-2222BBBB3333CCCC4 --region us-east-2
```

前の例では、SFTP サーバー上の絶対パスを指定しています。相対パスを使用することもできます。相対パスは、SFTPユーザーのホームディレクトリへの相対パスです。例えば、SFTP ユーザーが`marymajor`で、SFTP サーバー上のホームディレクトリが`/users/marymajor/`の場合、次のコマンドは`/amzn-s3-demo-source-bucket/file1.txt`を`/users/marymajor/test-connectors/file1.txt`に送信します。

```
aws transfer start-file-transfer --send-file-paths /amzn-s3-demo-source-bucket/file1.txt \
   --remote-directory-path test-connectors --connector-id c-2222BBBB3333CCCC4 --region us-east-2
```

# リモートディレクトリの内容を一覧表示する
<a name="sftp-connector-list-dir"></a>

リモート SFTP サーバーからファイルを取得する前に、リモート SFTP サーバー上のディレクトリのコンテンツを取得できます。これを行うには、 [https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartDirectoryListing.html](https://docs.aws.amazon.com/transfer/latest/APIReference/API_StartDirectoryListing.html) API オペレーションを使用します。

次の の例では、コネクタの設定で指定されているリモート SFTP サーバーの `home`フォルダの内容を一覧表示します。結果は Amazon S3 の場所 に配置され`/amzn-s3-demo-bucket/connector-files`、 という名前のファイルに配置されます`c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json`。

```
aws transfer start-directory-listing  \
   --connector-id c-AAAA1111BBBB2222C  \ 
   --output-directory-path /amzn-s3-demo-bucket/example/connector-files  \
   --remote-directory-path /home
```

この AWS CLI コマンドは、リスト ID と結果を含むファイルの名前を返します。

```
{
    "ListingId": "6666abcd-11aa-22bb-cc33-0000aaaa3333",
    "OutputFileName": "c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json"
}
```

**注記**  
出力ファイルの命名規則は です`connector-ID-listing-ID.json`。

JSON ファイルには、次の情報が含まれています。
+ `filePath`: リモートサーバーの SFTP コネクタのリストリクエストのディレクトリに対するリモートファイルの完全なパス。
+ `modifiedTimestamp`: ファイルが最後に変更された時刻、秒単位、協定世界時 (UTC) 形式。このフィールドはオプションです。リモートファイル属性にタイムスタンプが含まれていない場合、ファイルリストから除外されます。
+ `size`: ファイルのサイズ、バイト単位。このフィールドはオプションです。リモートファイル属性にファイルサイズが含まれていない場合、ファイルリストから除外されます。
+ `path`: リモートサーバーの SFTP コネクタのリストリクエストのディレクトリに対するリモートディレクトリの完全なパス。
+ `truncated`: リスト出力にリモートディレクトリに含まれるすべての項目が含まれているかどうかを示すフラグ。`truncated` 出力値が true の場合、オプションの`max-items`入力属性で指定された値を増やして、より多くの項目を一覧表示できます (最大許容リストサイズは 10,000 項目まで）。

以下は、リモートディレクトリに 2 つのファイルと 2 つのサブディレクトリ (パス`c-AAAA1111BBBB2222C-6666abcd-11aa-22bb-cc33-0000aaaa3333.json`) が含まれている出力ファイル () の内容の例です。

```
{
    "files": [
        {
            "filePath": "/home/what.txt",
            "modifiedTimestamp": "2024-01-30T20:34:54Z",
            "size" : 2323
        },
        {
            "filePath": "/home/how.pgp",
            "modifiedTimestamp": "2024-01-30T20:34:54Z",
            "size" : 4691
        }
    ],
    "paths": [
        {
            "path": "/home/magic"
        },
        {
            "path": "/home/aws"
        },
    ],
    "truncated": "false"
}
```

# リモートサーバー上のファイルまたはディレクトリを移動、名前変更、または削除する
<a name="move-delete-remote-files"></a>

**Topics**
+ [リモート SFTP サーバー上のファイルまたはディレクトリを移動または名前を変更する](#move-remote-file)
+ [リモート SFTP サーバー上のファイルまたはディレクトリを削除する](#delete-remote-file)

## リモート SFTP サーバー上のファイルまたはディレクトリを移動または名前を変更する
<a name="move-remote-file"></a>

SFTP コネクタを使用して、リモート SFTP サーバー上のファイルとディレクトリを移動または名前変更できます。コネクタを使用した処理を成功させるには、リモートサーバーがこれらのオペレーションをサポートしている必要があることに注意してください。

一般的なユースケースは次のとおりです。
+ リモートサーバーは、同じファイル名でタイムスタンプが異なる新しいファイルを 1 時間ごとに生成または受信します。メインフォルダを最新の状態に保つには (最新のファイルのみを含むように）、コネクタを使用して古いファイルをアーカイブされたフォルダに移動できます。
+ コネクタを使用してリモートディレクトリ内のすべてのファイルを一覧表示し、すべてのファイルをローカルストレージに転送します。その後、コネクタを使用して、リモートサーバーのアーカイブされたフォルダにファイルを移動できます。

コマンドは単一の送信元と送信先のファイルまたはディレクトリを引数として取るため、処理するファイルまたはディレクトリごとに`StartRemoteMove`呼び出しを使用する必要があります。ただし、コネクタが同じユーザーからの同時セッションをサポートするリモートサーバーとの同時セッションを作成し、最大 5 つのファイルを並行して移動/名前を変更することで、パフォーマンスを向上させることができます。

次の例では、リモート SFTP サーバーのファイルを から `/source/folder/sourceFile` に移動し`/destination/targetFile`、 オペレーションの一意の識別子を返します。

```
aws transfer --connector-id c-AAAA1111BBBB2222C start-remote-move \
   --source-path /source/folder/sourceFile --target-path /destination/targetFile
```

**注記**  
移動/名前変更オペレーションの場合、Transfer Family は標準`SFTP SSH_FXP_RENAME`コマンドを使用して移動/名前変更オペレーションを実行します。

## リモート SFTP サーバー上のファイルまたはディレクトリを削除する
<a name="delete-remote-file"></a>

SFTP コネクタを使用して、リモート SFTP サーバーのファイルまたはディレクトリを削除できます。コネクタを使用した処理を成功させるには、リモートサーバーがこれらのオペレーションをサポートしている必要があることに注意してください。

**注記**  
リモートディレクトリの削除オペレーションは、空のディレクトリでのみサポートされます。

一般的なユースケースは次のとおりです。
+ コネクタを使用してリモート SFTP サーバーからファイルを取得し、Amazon S3 バケットに保存してから暗号化します。最後に、コネクタを使用してリモートサーバー上の暗号化されていないファイルを削除できます。
+ コネクタを使用してリモートディレクトリ内のすべてのファイルを一覧表示し、すべてのファイルをローカルストレージに転送します。その後、コネクタを使用して、転送したすべてのファイルを削除できます。必要に応じてリモートディレクトリを削除することもできます。

コマンドは 1 つのファイルまたはディレクトリを引数として取るため、削除するファイルまたはディレクトリごとに`StartRemoteDelete`呼び出しを使用する必要があります。ただし、コネクタが同じユーザーからの同時セッションをサポートするリモートサーバーとの同時セッションを作成し、最大 5 つのファイル/ディレクトリを並行して削除することで、パフォーマンスを向上させることができます。

次の例では、パス のリモート SFTP サーバーのファイルを削除し`/delete/folder/deleteFile`、 オペレーションの一意の識別子を返します。

```
aws transfer start-remote-delete --connector-id c-AAAA1111BBBB2222C \
   --delete-path /delete/folder/deleteFile
```

**注記**  
削除オペレーションでは、Transfer Family は標準の `SSH_FXP_REMOVE` コマンドを使用してファイルを削除し、ディレクトリ`SSH_FXP_RMDIR`を削除します。