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

请求参数

有关所有操作的通用参数的信息,请参阅常用参数

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

AgentArns

可以连接到您的 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

用于确定用户身份的身份验证的类型。

类型:字符串

有效值:SIMPLE | KERBEROS

是否必需:是

BlockSize

要写入 HDFS 集群的数据块大小。块大小必须是 512 字节的倍数。默认块大小为 128 兆字节(MiB)。

类型:整数

有效范围:最小值为 1048576。最大值为 1073741824。

必需:否

CmkSecretConfig

指定由客户 DataSync管理的密钥的配置信息,其中包括用于访问特定 Hadoop 分布式文件系统 (HDFS) 存储位置的 Kerberos 密钥表。 DataSync 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 密钥表以二进制形式存储在 Secrets Manager 中。此配置包括密钥 ARN,以及提供密钥访问权限的 IAM 角色的 ARN。有关更多信息,请参阅使用您管理的密钥

注意

可使用 CmkSecretConfig(带有 KerberosKeytab)或 CustomSecretConfig(不带 KerberosKeytab)为 CreateLocationHdfs 请求提供凭证。不要为同一个请求提供这两个参数。

类型:CustomSecretConfig 对象

必需:否

KerberosKeytab

Kerberos 密钥表(keytab),其中包含定义的 Kerberos 主体和加密密钥之间的映射。您可以通过提供文件的地址从该文件加载密钥表。

注意

如果为 AuthenticationType 指定了 KERBEROS,则此参数为必填项。

类型:Base64 编码的二进制数据对象

长度约束:最大长度为 65536。

必需:否

KerberosKrb5Conf

包含 Kerberos 配置信息的 krb5.conf 文件。您可以通过提供文件的地址来加载 krb5.conf 文件。如果您使用的是 AWS CLI,它将为您执行 base64 编码。否则,应提供 base64 编码文本。

注意

如果为 AuthenticationType 指定了 KERBEROS,则此参数为必填项。

类型:Base64 编码的二进制数据对象

长度约束:最大长度为 131072。

必需:否

KerberosPrincipal

有权访问 HDFS 集群上的文件和文件夹的 Kerberos 主体。

注意

如果为 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 包含用于将数据块映射到的信息 DataNodes。您只能使用一个 NameNode。

类型:HdfsNameNode 对象数组

数组成员:最少 1 个物品。

是否必需:是

QopConfiguration

保护质量(QOP)配置指定在 Hadoop Distributed File System(HDFS)集群上配置的远程程序调用(RPC)和数据传输保护设置。如果未指定 QopConfiguration,则 RpcProtectionDataTransferProtection 默认值为 PRIVACY。如果设置 RpcProtectionDataTransferProtection,则其他参数采用相同的值。

类型:QopConfiguration 对象

必需:否

ReplicationFactor

写入 HDFS 集群时要将数据复制到的数量。 DataNodes 默认情况下,数据将复制到三个 DataNodes。

类型:整数

有效范围:最小值为 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

另请参阅

有关以特定语言之一使用此 API 的更多信息 AWS SDKs,请参阅以下内容: