Encrypt
转换会使用 AWS Key Management Service 密钥对源列进行加密。Encrypt
转换每个单元格最多可以加密 128 MiB。它将在解密时尝试保留格式。要保留数据类型,数据类型元数据必须序列化为小于 1 KB。否则,您必须将 preserve_data_type
参数设置为 false。数据类型元数据将以纯文本形式存储在加密环境中。
示例
from pyspark.context import SparkContext
from pyspark.sql import SparkSession
from awsgluedi.transforms import *
kms = "${KMS}"
sc = SparkContext()
spark = SparkSession(sc)
input_df = spark.createDataFrame(
[
(1, "1234560000"),
(2, "1234560001"),
(3, "1234560002"),
(4, "1234560003"),
(5, "1234560004"),
(6, "1234560005"),
(7, "1234560006"),
(8, "1234560007"),
(9, "1234560008"),
(10, "1234560009"),
],
["id", "phone"],
)
try:
df_encrypt = pii.Encrypt.apply(
data_frame=input_df,
spark_context=sc,
source_columns=["phone"],
kms_key_arn=kms
)
except:
print("Unexpected Error happened ")
raise
输出
输出是 PySpark DataFrame,其中包含原始“id”列,以及一个包含“phone”列加密值的附加列。
```
+---+------------+-------------------------+
| id| phone | phone_encrypted |
+---+------------+-------------------------+
| 1| 1234560000| EncryptedData1234...abc |
| 2| 1234560001| EncryptedData5678...def |
| 3| 1234560002| EncryptedData9012...ghi |
| 4| 1234560003| EncryptedData3456...jkl |
| 5| 1234560004| EncryptedData7890...mno |
| 6| 1234560005| EncryptedData1234...pqr |
| 7| 1234560006| EncryptedData5678...stu |
| 8| 1234560007| EncryptedData9012...vwx |
| 9| 1234560008| EncryptedData3456...yz0 |
| 10| 1234560009| EncryptedData7890...123 |
+---+------------+-------------------------+
```
Encrypt
转换会将“source_columns”设为“["phone"]”,将“kms_key_arn”设为“${KMS}”环境变量的值。该转换使用指定的 KMS 密钥对“phone”列中的值进行加密。生成的“df_encrypt”DataFrame 包含原始“id”列、原始的“phone”列以及一个名为“phone_encrypted”的附加列,其中包含“phone”列加密值。
方法
__call__(spark_context, data_frame, source_columns, kms_key_arn, entity_type_filter=None, preserve_data_type=None)
Encrypt
转换会使用 AWS Key Management Service 密钥对源列进行加密。
-
source_columns
– 现有列的数组。 -
kms_key_arn
– 用于加密源列的 AWS Key Management Service 密钥的密钥 ARN。 -
entity_type_filter
– 可选的实体类型数组。可仅用于加密自由文本列中检测到的 PII。 -
preserve_data_type
– 可选布尔值。默认值为 true。如果为 false,则不会存储数据类型。
apply(cls, *args, **kwargs)
继承自 GlueTransform
apply。
name(cls)
继承自 GlueTransform
name。
describeArgs(cls)
继承自 GlueTransform
describeArgs。
describeReturn(cls)
继承自 GlueTransform
describeReturn。
describeTransform(cls)
继承自 GlueTransform
describeTransform。
describeErrors(cls)
继承自 GlueTransform
describeErrors。
describe(cls)
继承自 GlueTransform
describe。