CreateLocationHdfs - AWS DataSync

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

CreateLocationHdfs

建立 Hadoop 分散式檔案系統 (HDFS) 的傳輸位置。 AWS DataSync 可以使用此位置做為傳輸資料的來源或目的地。

開始之前,請確定您了解 DataSync 如何存取 HDFS 叢集

請求語法

{ "AgentArns": [ "string" ], "AuthenticationType": "string", "BlockSize": number, "CmkSecretConfig": { "KmsKeyArn": "string", "SecretArn": "string" }, "CustomSecretConfig": { "SecretAccessRoleArn": "string", "SecretArn": "string" }, "KerberosKeytab": blob, "KerberosKrb5Conf": blob, "KerberosPrincipal": "string", "KmsKeyProviderUri": "string", "NameNodes": [ { "Hostname": "string", "Port": number } ], "QopConfiguration": { "DataTransferProtection": "string", "RpcProtection": "string" }, "ReplicationFactor": number, "SimpleUser": "string", "Subdirectory": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }

請求參數

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

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

AgentArns

可連線至 HDFS 叢集之 DataSync 代理程式的 Amazon Resource Name (ARNs)。

類型:字串陣列

陣列成員:項目數下限為 1。最多 8 個項目。

長度限制:長度上限為 128。

模式:^arn:(aws|aws-cn|aws-us-gov|aws-eusc|aws-iso|aws-iso-b):datasync:[a-z\-0-9]+:[0-9]{12}:agent/agent-[0-9a-z]{17}$

必要:是

AuthenticationType

用來判斷使用者身分的身分驗證類型。

類型:字串

有效值:SIMPLE | KERBEROS

必要:是

BlockSize

寫入至 HDFS 叢集的資料區塊大小。區塊大小必須是 512 個位元組的倍數。預設區塊大小為 128 MiB。

類型:整數

有效範圍:最小值為 1048576。最大值為 1073741824。

必要:否

CmkSecretConfig

指定 DataSync 受管秘密的組態資訊,其中包含 DataSync 使用客戶受管存取特定 Hadoop 分散式檔案系統 (HDFS) 儲存位置的 Kerberos 金鑰標籤 AWS KMS key。

當您將此參數包含在CreateLocationHdfs請求中時,您只需提供 KMS 金鑰 ARN。DataSync 會將此 KMS 金鑰與您為 KerberosKeytab指定的 搭配使用,以建立 DataSync 受管秘密來存放位置存取憑證。

請確定 DataSync 具有存取您指定 KMS 金鑰的許可。如需詳細資訊,請參閱使用以自訂加密的服務受管秘密 AWS KMS key

注意

您可以使用 CmkSecretConfig(搭配 KerberosKeytab) 或 CustomSecretConfig(不含 KerberosKeytab) 來提供CreateLocationHdfs請求的登入資料。請勿為相同的請求提供這兩個參數。

類型:CmkSecretConfig 物件

必要:否

CustomSecretConfig

指定客戶受管 Secrets Manager 秘密的組態資訊,其中 HDFS 儲存位置的 Kerberos keytab 存放在 Secrets Manager 的二進位中。此組態包含秘密 ARN,以及提供秘密存取權之 IAM 角色的 ARN。如需詳細資訊,請參閱使用您管理的秘密

注意

您可以使用 CmkSecretConfig(搭配 KerberosKeytab) 或 CustomSecretConfig(不含 KerberosKeytab) 來提供CreateLocationHdfs請求的登入資料。請勿為相同的請求提供這兩個參數。

類型:CustomSecretConfig 物件

必要:否

KerberosKeytab

此為 Kerberos 金鑰資料表 (keytab),其中包含已定義 Kerberos 主體與已加密金鑰之間的映射。您可以透過提供檔案的地址,從檔案載入 keytab。

注意

如果為 AuthenticationType 指定了 KERBEROS,則此參數必要項目。

類型:Base64 編碼的二進位資料物件

長度限制:長度上限為 65536。

必要:否

KerberosKrb5Conf

包含 Kerberos 組態資訊的 krb5.conf 檔案。您可以透過提供krb5.conf檔案的地址來載入檔案。如果您使用的是 AWS CLI,它會為您執行 base64 編碼。否則,請提供 base64 編碼的文字。

注意

如果為 AuthenticationType 指定了 KERBEROS,則此參數必要項目。

類型:Base64 編碼的二進位資料物件

長度限制:長度上限為 131072。

必要:否

KerberosPrincipal

此為 Kerberos 主體,有權存取 HDFS 叢集上的檔案和資料夾。

注意

如果為 AuthenticationType 指定了 KERBEROS,則此參數必要項目。

類型:字串

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

模式:^.+$

必要:否

KmsKeyProviderUri

HDFS 叢集金鑰管理伺服器 (KMS) 的 URI。

類型:字串

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

模式:^kms:\/\/http[s]?@(([a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9\-]*[A-Za-z0-9])(;(([a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9\-]*[A-Za-z0-9]))*:[0-9]{1,5}\/kms$

必要:否

NameNodes

管理 HDFS 命名空間的 NameNode。該 NameNode 會執行開啟、關閉以及重新命名檔案和目錄等操作。該 NameNode 包含將資料區塊映射到 DataNode 的資訊。您只能使用一個 NameNode。

類型:HdfsNameNode 物件陣列

陣列成員:項目數下限為 1。

必要:是

QopConfiguration

保護品質 (QOP) 組態會指定 Hadoop 分散式檔案系統 (HDFS) 叢集上設定的遠端程序呼叫 (RPC) 和資料傳輸保護設定。若沒有指定 QopConfiguration,則 RpcProtectionDataTransferProtection 預設為 PRIVACY。如果設定 RpcProtectionDataTransferProtection,則另一個參數會承繼相同的值。

類型:QopConfiguration 物件

必要:否

ReplicationFactor

寫入至 HDFS 叢集時要將資料複製到其中的 DataNode 數目。預設情況下,資料會複製到三個 DataNode。

類型:整數

有效範圍:最小值為 1。最大值為 512。

必要:否

SimpleUser

用於識別主機作業系統上用戶端的使用者名稱。

注意

如果為 AuthenticationType 指定了 SIMPLE,則此參數必要項目。

類型:字串

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

模式:^[_.A-Za-z0-9][-_.A-Za-z0-9]*$

必要:否

Subdirectory

HDFS 叢集中的子目錄。此子目錄用於從 HDFS 叢集讀取資料或將資料寫入至其中。如未指定子目錄,其預設值為 /

類型:字串

長度限制:長度上限為 4096。

模式:^[a-zA-Z0-9_\-\+\./\(\)\$\p{Zs}]+$

必要:否

Tags

代表您要新增至位置之標籤的鍵/值對。此數值可以是空字串。建議您使用標籤來命名資源。

類型:TagListEntry 物件陣列

陣列成員:項目數下限為 0。項目數上限為 50。

必要:否

回應語法

{ "LocationArn": "string" }

回應元素

如果動作成功,則服務傳回 HTTP 200 回應。

服務會傳回下列 JSON 格式的資料。

LocationArn

您建立之來源 HDFS 叢集位置的 ARN。

類型:字串

長度限制:長度上限為 128。

模式:^arn:(aws|aws-cn|aws-us-gov|aws-eusc|aws-iso|aws-iso-b):datasync:[a-z\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$

錯誤

如需所有動作常見錯誤的資訊,請參閱常見錯誤

InternalException

當服務發生錯誤時,就會擲出此 AWS DataSync 例外狀況。

HTTP 狀態碼:500

InvalidRequestException

當用戶端提交格式不正確的請求時,會擲回此例外狀況。

HTTP 狀態碼:400

另請參閱

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