

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 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>

有关所有操作的通用参数的信息，请参阅[常用参数](CommonParameters.md)。

请求接受采用 JSON 格式的以下数据。

 ** [AgentArns](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-AgentArns"></a>
可以连接到您的 HDFS 集群的 DataSync 代理的 Amazon 资源名称 (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管理的密钥的配置信息，其中包括用于访问特定 Hadoop 分布式文件系统 (HDFS) 存储位置的 Kerberos 密钥表。 DataSync 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 密钥表以二进制形式存储在 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 主体和加密密钥之间的映射。您可以通过提供文件的地址从该文件加载密钥表。  
如果为 `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>
有权访问 HDFS 集群上的文件和文件夹的 Kerberos 主体。  
如果为 `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 包含用于将数据块映射到的信息 DataNodes。您只能使用一个 NameNode。  
类型：[HdfsNameNode](API_HdfsNameNode.md) 对象数组  
数组成员：最少 1 个物品。  
是否必需：是

 ** [QopConfiguration](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-QopConfiguration"></a>
保护质量（QOP）配置指定在 Hadoop Distributed File System（HDFS）集群上配置的远程程序调用（RPC）和数据传输保护设置。如果未指定 `QopConfiguration`，则 `RpcProtection` 和 `DataTransferProtection` 默认值为 `PRIVACY`。如果设置 `RpcProtection` 或 `DataTransferProtection`，则其他参数采用相同的值。  
类型：[QopConfiguration](API_QopConfiguration.md) 对象  
必需：否

 ** [ReplicationFactor](#API_CreateLocationHdfs_RequestSyntax) **   <a name="DataSync-CreateLocationHdfs-request-ReplicationFactor"></a>
写入 HDFS 集群时要将数据复制到的数量。 DataNodes 默认情况下，数据将复制到三个 DataNodes。  
类型：整数  
有效范围：最小值为 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>

有关以特定语言之一使用此 API 的更多信息 AWS SDKs，请参阅以下内容：
+  [AWS 命令行界面 V2](https://docs.aws.amazon.com/goto/cli2/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 适用于.NET 的 SDK V4](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 v2 的 SDK](https://docs.aws.amazon.com/goto/SdkForGoV2/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS 适用于 Java 的 SDK V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS JavaScript V3 版软件开发工具包](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 的 SDK V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/datasync-2018-11-09/CreateLocationHdfs) 
+  [AWS Python 软件开发工具包](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) 