

 从补丁 198 开始，Amazon Redshift 将不再支持创建新的 Python UDF。现有的 Python UDF 将继续正常运行至 2026 年 6 月 30 日。有关更多信息，请参阅[博客文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# PG\$1GET\$1GRANTEE\$1BY\$1IAM\$1ROLE
<a name="PG_GET_GRANTEE_BY_IAMROLE"></a>

返回被授予指定 IAM 角色的所有用户和组。

## 语法
<a name="PG_GET_GRANTEE_BY_IAMROLE-synopsis"></a>

```
pg_get_grantee_by_iam_role('iam_role_arn')
```

## 参数
<a name="PG_GET_GRANTEE_BY_IAMROLE-arguments"></a>

 *iam\$1role\$1arn*   
用于返回已被授予此角色的用户和组的 IAM 角色。

## 返回类型
<a name="PG_GET_GRANTEE_BY_IAMROLE-return-type"></a>

VARCHAR 

## 使用说明
<a name="PG_GET_GRANTEE_BY_IAMROLE-usage-notes"></a>

PG\$1GET\$1GRANTEE\$1BY\$1IAM\$1ROLE 函数为每个用户或组返回一行。每行都包含被授权者名称、被授权者类型和授予的权限。被授权者类型的可能值如下：对于公有为 `p`，对于用户为 `u`，对于组为 `g`。

您必须是超级用户才能使用函数。

## 示例
<a name="PG_GET_GRANTEE_BY_IAMROLE-example"></a>

以下示例指示 IAM 角色 `Redshift-S3-Write` 被授予给 `group1` 和 `reg_user1`。`group_1` 中的用户只能为 COPY 操作指定角色，用户 `reg_user1` 可以指定仅用于执行 UNLOAD 操作的角色。

```
select pg_get_grantee_by_iam_role('arn:aws:iam::123456789012:role/Redshift-S3-Write');
```

```
  pg_get_grantee_by_iam_role
-----------------------------
 (group_1,g,COPY)
 (reg_user1,u,UNLOAD)
```

下面的 PG\$1GET\$1GRANTEE\$1BY\$1IAM\$1ROLE 函数示例将结果格式化为表格。

```
select grantee, grantee_type, cmd_type FROM pg_get_grantee_by_iam_role('arn:aws:iam::123456789012:role/Redshift-S3-Write') res_grantee(grantee text, grantee_type text, cmd_type text) ORDER BY 1,2,3;
```

```
  grantee  | grantee_type | cmd_type
-----------+--------------+----------
 group_1   | g            | COPY
 reg_user1 | u            | UNLOAD
```