本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
每個別名都有唯一的 ARN。別名只能指向函數版本,而非另一個別名。您可以更新別名以指向新版本的函數。
諸如 Amazon Simple Storage Service (Amazon S3) 等事件來源會叫用您的 Lambda 函數。當事件發生時,這些事件來源會維護一個映射,以識別發生事件時要叫用的函數。如果您在映射組態中指定了 Lambda 函數別名,則不需要在函數版本變更時更新映射。如需詳細資訊,請參閱Lambda 如何處理來自串流和佇列式事件來源的記錄。
在資源政策中,您可以授予事件來源使用 Lambda 函數的許可。如果您在政策中指定了別名 ARN,則不需要在函數版本變更時更新政策。
資源政策
您可以使用以資源為基礎的政策,將服務、資源或帳號存取權授予您的函數。該許可的範圍取決於您是將其套用至別名、版本或整個函數。例如,如果您使用別名名稱 (例如 helloworld:PROD
),許可可讓您使用別名 ARN (helloworld:PROD
) 來叫用 helloworld
函數。
如果您嘗試在沒有別名或特定版本的情況下叫用該函數,則會出現許可錯誤。即使您嘗試直接叫用與別名相關聯的函數版本,仍會發生此許可錯誤。
例如,當 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
如需在政策中使用資源名稱的詳細資訊,請參閱微調政策的資源和條件區段。