

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 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/)。

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

# ALTER EXTERNAL SCHEMA
<a name="r_ALTER_EXTERNAL_SCHEMA"></a>

更改目前資料庫中的現有外部結構描述。只有結構描述擁有者、超級使用者或對結構描述具有 ALTER 權限的使用者，才能進行更改。只能更改從 DATA CATALOG、KAFKA 或 MSK 建立的外部結構描述。

此結構描述的擁有者是 CREATE EXTERNAL SCHEMA 命令的發行者。若要轉移外部結構描述的所有權，請使用 ALTER SCHEMA 來變更擁有者。若要將結構描述的存取權授予其他使用者或使用者群組，請使用 GRANT 命令。

您無法使用 GRANT 或 REVOKE 命令處理外部資料表的許可。這時請改為在外部結構描述授予和撤銷許可。

如需詳細資訊，請參閱下列內容：
+ [ALTER SCHEMA](r_ALTER_SCHEMA.md)
+ [GRANT](r_GRANT.md)
+ [REVOKE](r_REVOKE.md)
+ [CREATE EXTERNAL SCHEMA](r_CREATE_EXTERNAL_SCHEMA.md)
+ [針對現有外部結構描述啟用 mTLS 身分驗證](materialized-view-streaming-ingestion-mtls.md#materialized-view-streaming-ingestion-mtls-alter)

若要檢視外部結構描述的詳細資訊，請查詢 SVV\$1EXTERNAL\$1SCHEMAS 系統檢視。如需詳細資訊，請參閱[SVV\$1EXTERNAL\$1SCHEMAS](r_SVV_EXTERNAL_SCHEMAS.md)。

## 語法
<a name="r_ALTER_EXTERNAL_SCHEMA-synopsis"></a>

```
ALTER EXTERNAL SCHEMA schema_name
[ IAM_ROLE [ default | 'SESSION' | 'arn:aws:iam::<account-id>:role/<role-name>' ] ]
[ AUTHENTICATION [ none | iam | mtls] ]
[ AUTHENTICATION_ARN 'acm-certificate-arn' | SECRET_ARN 'asm-secret-arn' ]
[ URI 'Kafka bootstrap URL' ]
```

如果您有用於串流擷取的現有外部結構描述，而且想要實作雙向 TLS 進行身分驗證，您可以執行下列命令，以指定 mTLS 身分驗證和 ACM 中的 ACM 憑證 ARN。

```
ALTER EXTERNAL SCHEMA schema_name 
AUTHENTICATION mtls
AUTHENTICATION_ARN 'arn:aws:acm:us-east-1:444455556666:certificate/certificate_ID';
```

或者，您可以修改 mTLS 身分驗證，並參考 Secrets Manager 中的機密 ARN。

```
ALTER EXTERNAL SCHEMA schema_name 
AUTHENTICATION mtls
SECRET_ARN 'arn:aws:secretsmanager:us-east-1:012345678910:secret:myMTLSSecret';
```

下列範例示範如何修改 ALTER EXTERNAL SCHEMA 的 URI：

```
ALTER EXTERNAL SCHEMA schema_name  
URI 'lkc-ghidef-67890.centralus.azure.glb.confluent.cloud:9092';
```

下列範例示範如何修改 ALTER EXTERNAL SCHEMA 的 IAM 角色：

```
ALTER EXTERNAL SCHEMA schema_name  
IAM_ROLE 'arn:aws:iam::012345678901:role/testrole';
```

## Parameters
<a name="r_ALTER_EXTERNAL_SCHEMA-parameters"></a>

 IAM\$1ROLE【 預設 \$1 'SESSION' \$1 'arn：aws：iam：：<AWS account-id>：role/<role-name>' 】   
使用 `default` 關鍵字讓 Amazon Redshift 使用預設的 IAM 角色。  
如果您使用聯合身分連線到 Amazon Redshift 叢集，並從使用此命令建立的外部結構描述存取資料表，請使用 `'SESSION'`。  
如需詳細資訊，請參閱 [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)。

AUTHENTICATION  
為串流擷取定義的驗證類型。具有身分驗證類型的串流擷取能夠與 Apache Kafka、Confluent Cloud 和 Amazon Managed Streaming for Apache Kafka 搭配運作。如需詳細資訊，請參閱 [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)。

AUTHENTICATION\$1ARN  
Amazon Redshift 使用 Apache Kafka、Confluent Cloud 或 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 進行 mtls 身分驗證的 AWS Certificate Manager 憑證 ARN。當您選擇發出憑證時，ACM 主控台中就會提供 ARN。

SECRET\$1ARN  
使用 建立之支援秘密的 Amazon Resource Name (ARN) AWS Secrets Manager。如需如何建立和擷取機密的 ARN 的相關資訊，請參閱《AWS Secrets Manager 使用者指南》**中的[使用 AWS Secrets Manager管理機密](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html)，以及[在 Amazon Redshift 中擷取機密的 Amazon Resource Name (ARN)](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-secrets-manager-integration-retrieving-secret.html)。

URI  
Apache Kafka、Confluent Cloud 或 Amazon Managed Streaming for Apache Kafka (Amazon MSK) 叢集的啟動程序 URL。端點必須可從 Amazon Redshift 叢集連接 (可路由)。如需詳細資訊，請參閱 [CREATE EXTERNAL SCHEMA](https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)。