

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

# CreateLocationHdfs
<a name="API_CreateLocationHdfs"></a>

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

開始之前，請確定您了解 DataSync 如何[存取 HDFS 叢集](https://docs.aws.amazon.com/datasync/latest/userguide/create-hdfs-location.html#accessing-hdfs)。

## 請求語法
<a name="API_CreateLocationHdfs_RequestSyntax"></a>

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

## 請求參數
<a name="API_CreateLocationHdfs_RequestParameters"></a>

如需所有動作的一般參數資訊，請參閱《[Common Parameters](CommonParameters.md)》。

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

 ** [AgentArns](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-AgentArns"></a>
可連線至 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](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-AuthenticationType"></a>
用來判斷使用者身分的身分驗證類型。  
類型：字串  
有效值:`SIMPLE | KERBEROS`   
必要：是

 ** [BlockSize](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-BlockSize"></a>
寫入至 HDFS 叢集的資料區塊大小。區塊大小必須是 512 個位元組的倍數。預設區塊大小為 128 MiB。  
類型：整數  
有效範圍：最小值為 1048576。最大值為 1073741824。  
必要：否

 ** [CmkSecretConfig](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-CmkSecretConfig"></a>
指定 DataSync 受管秘密的組態資訊，其中包含 DataSync 使用客戶受管存取特定 Hadoop 分散式檔案系統 (HDFS) 儲存位置的 Kerberos 金鑰標籤 AWS KMS key。  
當您將此參數包含在`CreateLocationHdfs`請求中時，您只需提供 KMS 金鑰 ARN。DataSync 會將此 KMS 金鑰與您為 `KerberosKeytab`指定的 搭配使用，以建立 DataSync 受管秘密來存放位置存取憑證。  
請確定 DataSync 具有存取您指定 KMS 金鑰的許可。如需詳細資訊，請參閱[使用以自訂加密的服務受管秘密 AWS KMS key](https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html#service-secret-custom-key)。  
您可以使用 `CmkSecretConfig`（搭配 `KerberosKeytab`) 或 `CustomSecretConfig`（不含 `KerberosKeytab`) 來提供`CreateLocationHdfs`請求的登入資料。請勿為相同的請求提供這兩個參數。
類型：[CmkSecretConfig](API_CmkSecretConfig.md) 物件  
必要：否

 ** [CustomSecretConfig](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-CustomSecretConfig"></a>
指定客戶受管 Secrets Manager 秘密的組態資訊，其中 HDFS 儲存位置的 Kerberos keytab 存放在 Secrets Manager 的二進位中。此組態包含秘密 ARN，以及提供秘密存取權之 IAM 角色的 ARN。如需詳細資訊，請參閱[使用您管理的秘密](https://docs.aws.amazon.com/datasync/latest/userguide/location-credentials.html#custom-secret-custom-key)。  
您可以使用 `CmkSecretConfig`（搭配 `KerberosKeytab`) 或 `CustomSecretConfig`（不含 `KerberosKeytab`) 來提供`CreateLocationHdfs`請求的登入資料。請勿為相同的請求提供這兩個參數。
類型：[CustomSecretConfig](API_CustomSecretConfig.md) 物件  
必要：否

 ** [KerberosKeytab](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-KerberosKeytab"></a>
此為 Kerberos 金鑰資料表 (keytab)，其中包含已定義 Kerberos 主體與已加密金鑰之間的映射。您可以透過提供檔案的地址，從檔案載入 keytab。  
如果為 `AuthenticationType` 指定了 `KERBEROS`，則此參數必要項目。
類型：Base64 編碼的二進位資料物件  
長度限制：長度上限為 65536。  
必要：否

 ** [KerberosKrb5Conf](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-KerberosKrb5Conf"></a>
包含 Kerberos 組態資訊的 `krb5.conf` 檔案。您可以透過提供`krb5.conf`檔案的地址來載入檔案。如果您使用的是 AWS CLI，它會為您執行 base64 編碼。否則，請提供 base64 編碼的文字。  
如果為 `AuthenticationType` 指定了 `KERBEROS`，則此參數必要項目。
類型：Base64 編碼的二進位資料物件  
長度限制：長度上限為 131072。  
必要：否

 ** [KerberosPrincipal](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-KerberosPrincipal"></a>
此為 Kerberos 主體，有權存取 HDFS 叢集上的檔案和資料夾。  
如果為 `AuthenticationType` 指定了 `KERBEROS`，則此參數必要項目。
類型：字串  
長度限制：長度下限為 1。長度上限為 256。  
模式：`^.+$`  
必要：否

 ** [KmsKeyProviderUri](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-KmsKeyProviderUri"></a>
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](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-NameNodes"></a>
管理 HDFS 命名空間的 NameNode。該 NameNode 會執行開啟、關閉以及重新命名檔案和目錄等操作。該 NameNode 包含將資料區塊映射到 DataNode 的資訊。您只能使用一個 NameNode。  
類型：[HdfsNameNode](API_HdfsNameNode.md) 物件陣列  
陣列成員：項目數下限為 1。  
必要：是

 ** [QopConfiguration](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-QopConfiguration"></a>
保護品質 (QOP) 組態會指定 Hadoop 分散式檔案系統 (HDFS) 叢集上設定的遠端程序呼叫 (RPC) 和資料傳輸保護設定。若沒有指定 `QopConfiguration`，則 `RpcProtection` 和 `DataTransferProtection` 預設為 `PRIVACY`。如果設定 `RpcProtection` 或 `DataTransferProtection`，則另一個參數會承繼相同的值。  
類型：[QopConfiguration](API_QopConfiguration.md) 物件  
必要：否

 ** [ReplicationFactor](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-ReplicationFactor"></a>
寫入至 HDFS 叢集時要將資料複製到其中的 DataNode 數目。預設情況下，資料會複製到三個 DataNode。  
類型：整數  
有效範圍：最小值為 1。最大值為 512。  
必要：否

 ** [SimpleUser](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-SimpleUser"></a>
用於識別主機作業系統上用戶端的使用者名稱。  
如果為 `AuthenticationType` 指定了 `SIMPLE`，則此參數必要項目。
類型：字串  
長度限制：長度下限為 1。長度上限為 256。  
模式：`^[_.A-Za-z0-9][-_.A-Za-z0-9]*$`  
必要：否

 ** [Subdirectory](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-Subdirectory"></a>
HDFS 叢集中的子目錄。此子目錄用於從 HDFS 叢集讀取資料或將資料寫入至其中。如未指定子目錄，其預設值為 `/`。  
類型：字串  
長度限制：長度上限為 4096。  
模式：`^[a-zA-Z0-9_\-\+\./\(\)\$\p{Zs}]+$`  
必要：否

 ** [Tags](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-Tags"></a>
代表您要新增至位置之標籤的鍵/值對。此數值可以是空字串。建議您使用標籤來命名資源。  
類型：[TagListEntry](API_TagListEntry.md) 物件陣列  
陣列成員：項目數下限為 0。項目數上限為 50。  
必要：否

## 回應語法
<a name="API_CreateLocationHdfs_ResponseSyntax"></a>

```
{
   "LocationArn": "string"
}
```

## 回應元素
<a name="API_CreateLocationHdfs_ResponseElements"></a>

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

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

 ** [LocationArn](#API_CreateLocationHdfs_ResponseSyntax) **   <a name="DataSync-CreateLocationHdfs-response-LocationArn"></a>
您建立之來源 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}$`

## 錯誤
<a name="API_CreateLocationHdfs_Errors"></a>

如需所有動作常見錯誤的資訊，請參閱[常見錯誤](CommonErrors.md)。

 ** InternalException **   
當服務發生錯誤時，就會擲出此 AWS DataSync 例外狀況。  
HTTP 狀態碼：500

 ** InvalidRequestException **   
當用戶端提交格式不正確的請求時，會擲回此例外狀況。  
HTTP 狀態碼：400

## 另請參閱
<a name="API_CreateLocationHdfs_SeeAlso"></a>

如需在其中一種語言特定 AWS SDKs中使用此 API 的詳細資訊，請參閱下列內容：
+  [AWS 命令列界面 V2](https://docs.aws.amazon.com/goto/cli2/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 適用於 .NET V4 的 SDK](https://docs.aws.amazon.com/goto/DotNetSDKV4/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 適用於 C\$1\$1 的 SDK](https://docs.aws.amazon.com/goto/SdkForCpp/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 適用於 Go 的 SDK v2](https://docs.aws.amazon.com/goto/SdkForGoV2/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 適用於 Java V2 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaV2/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 適用於 JavaScript V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 適用於 Kotlin 的 SDK](https://docs.aws.amazon.com/goto/SdkForKotlin/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 適用於 PHP V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForPHPV3/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 適用於 Python 的 SDK](https://docs.aws.amazon.com/goto/boto3/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 適用於 Ruby V3 的 SDK](https://docs.aws.amazon.com/goto/SdkForRubyV3/datasync-2018-11-09/CreateLocationHdfs) 