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" } ] }

請求參數

如需所有動作的一般參數資訊,請參閱《Common Parameters》。

請求接受下列JSON格式的資料。

AccessRole

連接器用於使用 AS2或 SFTP通訊協定傳送檔案。針對存取角色,提供要使用 AWS Identity and Access Management 的角色的 Amazon Resource Name (ARN)。

對於AS2連接器

使用 AS2,您可以呼叫StartFileTransfer並指定請求參數 中的檔案路徑來傳送檔案SendFilePaths。我們使用檔案的父目錄 (例如--send-file-paths /bucket/dir/file.txt,對於 ,父目錄為 /bucket/dir/) 暫時存放已處理AS2的訊息檔案、MDN在我們從合作夥伴收到時存放 ,以及撰寫包含傳輸相關中繼資料的最終JSON檔案。因此,AccessRole 需要針對 StartFileTransfer 請求中使用之檔案位置的父目錄提供讀寫權限。此外,還需要針對欲透過 StartFileTransfer 傳送之檔案的父目錄提供讀寫權限。

如果您為AS2連接器使用基本身分驗證,存取角色需要秘密的secretsmanager:GetSecretValue許可。如果秘密是使用客戶受管金鑰而非 Secrets Manager 中的 AWS 受管金鑰加密,則角色也需要該金鑰的kms:Decrypt許可。

對於SFTP連接器

請確定存取角色提供對StartFileTransfer請求中所用檔案位置之父目錄的讀取和寫入存取權。此外,請確定角色提供 secretsmanager:GetSecretValue許可 AWS Secrets Manager。

類型:字串

長度限制︰長度下限為 20。長度上限為 2048。

模式:arn:.*role/\S+

必要:是

BaseDirectory

使用AS2通訊協定傳輸之檔案的登陸目錄 (資料夾)。

BaseDirectory 範例為 /DOC-EXAMPLE-BUCKET/home/mydirectory

類型:字串

長度限制:長度下限為 0。長度上限為 1024。

模式:(|/.*)

必要:是

Description

用於識別協議的名稱或簡短描述。

類型:字串

長度限制:長度下限為 1。長度上限為 200。

模式:[\p{Graph}]+

必要:否

LocalProfileId

AS2 本機設定檔的唯一識別符。

類型:字串

長度限制條件:固定長度為 19。

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

必要:是

PartnerProfileId

協議中使用之合作夥伴設定檔的唯一識別碼。

類型:字串

長度限制條件:固定長度為 19。

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

必要:是

ServerId

伺服器執行個體的系統指派唯一識別碼。這是協議使用的特定伺服器。

類型:字串

長度限制條件:固定長度為 19。

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

必要:是

Status

協議的狀態。協議可以是 ACTIVEINACTIVE

類型:字串

有效值: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" }

另請參閱

如需在其中一種語言特定的 API中使用此功能的詳細資訊 AWS SDKs,請參閱下列內容: