CreateAgreement - AWS Transfer Family

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

CreateAgreement

契約を作成します。契約は、 AWS Transfer Family サーバーと AS2 プロセスの間の取引相手契約または提携です。この契約は、サーバーと AS2 プロセス間のファイルおよびメッセージの転送の関係を定義します。Transfer Family は、サーバー、ローカルプロファイル、パートナープロファイル、証明書、その他の属性を組み合わせて、契約を定義します。

パートナーは PartnerProfileId で識別され、AS2 プロセスは LocalProfileId で識別されます。

リクエストの構文

{ "AccessRole": "string", "BaseDirectory": "string", "Description": "string", "LocalProfileId": "string", "PartnerProfileId": "string", "ServerId": "string", "Status": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }

リクエストパラメータ

すべてのアクションに共通のパラメータの詳細については、「共通パラメータ」を参照してください。

リクエストは以下の JSON 形式のデータを受け入れます。

AccessRole

コネクターは、AS2 または SFTP プロトコルを使用してファイルを送信するために使用されます。アクセスロールには、使用する AWS Identity and Access Management ロールの Amazon リソースネーム (ARN) を指定します。

AS2 コネクタ用

AS2 では、StartFileTransfer を呼び出してリクエストパラメータ にファイルパスを指定することでファイルを送信できます。SendFilePathsファイルの親ディレクトリ (例えば --send-file-paths /bucket/dir/file.txt の場合、親ディレクトリは /bucket/dir/) を使用して、処理済みの AS2 メッセージファイルを一時的に保存し、パートナーから受け取った MDN を保存して、送信の関連メタデータを含む最終的な JSON ファイルを記述します。そのため、AccessRole は、StartFileTransfer リクエストで使用されるファイルの場所の親ディレクトリに対する読み取り/書き込みアクセスを提供する必要があります。さらに、StartFileTransfer で送信するファイルの親ディレクトリに対する読み取り/書き込みアクセスを提供する必要があります。

AS2 コネクタに Basic 認証を使用している場合、アクセスロールにはシークレットの secretsmanager:GetSecretValue 権限が必要です。Secrets Manager の マネージドキーの代わりにカスタマー AWS マネージドキーを使用してシークレットが暗号化されている場合、ロールにはそのキーに対する アクセスkms:Decrypt許可も必要です。

SFTP コネクタ用

アクセスロールが、StartFileTransfer リクエストで使用されるファイルロケーションの親ディレクトリへの読み取りおよび書き込みアクセスを提供していることを確認します。さらに、ロールが にアクセスsecretsmanager:GetSecretValue許可を付与していることを確認してください AWS Secrets Manager。

型: 文字列

長さの制限: 最小長は 20 です。最大長は 2,048 です。

Pattern: arn:.*role/\S+

必須:はい

BaseDirectory

AS2 プロトコルを使用して転送されるファイルのランディングディレクトリ(フォルダ)。

BaseDirectory の例は /DOC-EXAMPLE-BUCKET/home/mydirectory です。

型: 文字列

長さの制限: 最小長は 0 です。最大長は 1,024 です。

Pattern: (|/.*)

必須:はい

Description

契約を識別するための名前または短い説明。

型: 文字列

長さの制限: 最小長は 1 です。最大長は 200 です。

Pattern: [\p{Graph}]+

必須: いいえ

LocalProfileId

AS2 ローカルプロファイルの一意の識別子です。

型: 文字列

長さの制限: 固定長は 19 です。

Pattern: p-([0-9a-f]{17})

必須:はい

PartnerProfileId

契約で使用されるパートナープロファイルの一意の識別子です。

型: 文字列

長さの制限: 固定長は 19 です。

Pattern: p-([0-9a-f]{17})

必須:はい

ServerId

サーバーインスタンスにシステムで割り当てられた一意の識別子。これは、契約が使用する特定のサーバーです。

型: 文字列

長さの制限: 固定長は 19 です。

Pattern: s-([0-9a-f]{17})

必須:はい

Status

契約のステータス。合意内容は ACTIVE または INACTIVE のいずれかになります。

型: 文字列

有効な値:ACTIVE | INACTIVE

必須:いいえ

Tags

契約のグループ化および検索に使用できるキーと値のペアです。

型: Tag オブジェクトの配列

配列メンバー:最小数は 1 項目です。最大数は 50 項目です。

必須:いいえ

レスポンスの構文

{ "AgreementId": "string" }

レスポンス要素

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

サービスから以下のデータが JSON 形式で返されます。

AgreementId

契約の一意の識別子。この ID は、契約を削除または更新する場合だけでなく、契約 ID を指定する必要があるその他の API 呼び出しでも使用できます。

型: 文字列

長さの制限: 固定長は 19 です。

パターン:a-([0-9a-f]{17})

エラー

すべてのアクションに共通のエラーについては、「共通エラー」を参照してください。

InternalServiceError

この例外は、 AWS Transfer Family サービスでエラーが発生した場合にスローされます。

HTTP ステータスコード:500

InvalidRequestException

この例外は、クライアントが不正な形式のリクエストを送信した場合にスローされます。

HTTP ステータスコード:400

ResourceExistsException

要求されたリソースは存在しないか、コマンドに指定されたリージョン以外のリージョンに存在します。

HTTP ステータスコード:400

ResourceNotFoundException

この例外は、 AWS Transfer Family サービスによってリソースが見つからない場合にスローされます。

HTTP ステータスコード:400

ServiceUnavailableException

AWS Transfer Family サービスが利用できないため、リクエストは失敗しました。

HTTP ステータスコード:500

ThrottlingException

リクエストのスロットリングにより、リクエストが拒否されました。

HTTP ステータスコード:400

次の例では、契約を作成し、契約 ID を返します。

aws transfer create-agreement --server-id s-021345abcdef6789 --local-profile-id p-1234567890abcdef0 --partner-profile-id p-abcdef01234567890 --base-folder /DOC-EXAMPLE-BUCKET/AS2-files --access-role arn:aws:iam::111122223333:role/AS2-role

レスポンス例

API コールは、新しい契約の契約 ID を返します。

{ "AgreementId": "a-11112222333344444" }

その他の参照資料

言語固有の AWS SDKs のいずれかでこの API を使用する方法の詳細については、以下を参照してください。