

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

# 在事件來源和許可政策中使用 Lambda 別名
<a name="using-aliases"></a>

每個別名都有唯一的 ARN。別名只能指向函數版本，而非另一個別名。您可以更新別名以指向新版本的函數。

諸如 Amazon Simple Storage Service (Amazon S3) 等事件來源會叫用您的 Lambda 函數。當事件發生時，這些事件來源會維護一個映射，以識別發生事件時要叫用的函數。如果您在映射組態中指定了 Lambda 函數別名，則不需要在函數版本變更時更新映射。如需詳細資訊，請參閱[Lambda 如何處理來自串流和佇列式事件來源的記錄](invocation-eventsourcemapping.md)。

在資源政策中，您可以授予事件來源使用 Lambda 函數的許可。如果您在政策中指定了別名 ARN，則不需要在函數版本變更時更新政策。

## 資源政策
<a name="versioning-permissions-alias"></a>

您可以使用[以資源為基礎的政策](access-control-resource-based.md)，將服務、資源或帳號存取權授予您的函數。該許可的範圍取決於您是將其套用至別名、版本或整個函數。例如，如果您使用別名名稱 （例如 `helloworld:PROD`)，您可以使用別名 ARN () 叫用 `helloworld`函數`helloworld:PROD`。

如果您嘗試在沒有別名或特定版本的情況下叫用該函數，則會出現許可錯誤。即使您嘗試直接叫用與別名相關聯的函數版本，仍會發生此許可錯誤。

例如，當 Amazon S3 代表 時，下列 AWS CLI 命令會授予 Amazon S3 叫用`helloworld`函數 PROD 別名的許可`amzn-s3-demo-bucket`。

```
aws lambda add-permission \
  --function-name helloworld \
  --qualifier PROD \
  --statement-id 1 \
  --principal s3.amazonaws.com \
  --action lambda:InvokeFunction \
  --source-arn arn:aws:s3:::amzn-s3-demo-bucket \
  --source-account 123456789012
```

如需在政策中使用資源名稱的詳細資訊，請參閱[微調政策的資源和條件區段](lambda-api-permissions-ref.md)。