AWS Tools for PowerShell 版本 5(V5)已经发布!
要开始使用新版本的工具,请参阅《AWS Tools for PowerShell 用户指南(V5)》,特别是关于迁移到 V5 的主题。
使用 Tools for PowerShell V4 的 CloudFront 示例
以下代码示例演示如何通过将 AWS Tools for PowerShell V4 与 CloudFront 结合使用,来执行操作和实现常见场景。
操作是大型程序的代码摘录,必须在上下文中运行。您可以通过操作了解如何调用单个服务函数,还可以通过函数相关场景的上下文查看操作。
每个示例都包含一个指向完整源代码的链接,您可以从中找到有关如何在上下文中设置和运行代码的说明。
主题
操作
以下代码示例演示了如何使用 Get-CFCloudFrontOriginAccessIdentity。
- Tools for PowerShell V4
-
示例 1:此示例返回由 -Id 参数指定的特定 Amazon CloudFront 源访问身份。尽管不需要 -Id 参数,但如果您不指定该参数,则不会返回任何结果。
Get-CFCloudFrontOriginAccessIdentity -Id E3XXXXXXXXXXRT输出:
CloudFrontOriginAccessIdentityConfig Id S3CanonicalUserId ------------------------------------ -- ----------------- Amazon.CloudFront.Model.CloudFrontOr... E3XXXXXXXXXXRT 4b6e...-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V4)》中的 GetCloudFrontOriginAccessIdentity。
-
以下代码示例演示了如何使用 Get-CFCloudFrontOriginAccessIdentityConfig。
- Tools for PowerShell V4
-
示例 1:此示例返回有关由 -Id 参数指定的单个 Amazon CloudFront 源访问身份的配置信息。如果未指定 -Id 参数,则会出现错误。
Get-CFCloudFrontOriginAccessIdentityConfig -Id E3XXXXXXXXXXRT输出:
CallerReference Comment --------------- ------- mycallerreference: 2/1/2011 1:16:32 PM Caller reference: 2/1/2011 1:16:32 PM-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V4)》中的 GetCloudFrontOriginAccessIdentityConfig。
-
以下代码示例演示了如何使用 Get-CFCloudFrontOriginAccessIdentityList。
- Tools for PowerShell V4
-
示例 1:此示例返回 Amazon CloudFront 源访问身份的列表。由于 -maxItem 参数指定的值为 2,因此结果包含两个身份。
Get-CFCloudFrontOriginAccessIdentityList -MaxItem 2输出:
IsTruncated : True Items : {E326XXXXXXXXXT, E1YWXXXXXXX9B} Marker : MaxItems : 2 NextMarker : E1YXXXXXXXXX9B Quantity : 2-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V4)》中的 ListCloudFrontOriginAccessIdentities。
-
以下代码示例演示了如何使用 Get-CFDistribution。
- Tools for PowerShell V4
-
示例 1:检索有关特定分配的信息。
Get-CFDistribution -Id EXAMPLE0000ID-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V4)》中的 GetDistribution。
-
以下代码示例演示了如何使用 Get-CFDistributionConfig。
- Tools for PowerShell V4
-
示例 1:检索有关特定分配的配置。
Get-CFDistributionConfig -Id EXAMPLE0000ID-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V4)》中的 GetDistributionConfig。
-
以下代码示例演示了如何使用 Get-CFDistributionList。
- Tools for PowerShell V4
-
示例 1:返回分配。
Get-CFDistributionList-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V4)》中的 ListDistributions。
-
以下代码示例演示了如何使用 New-CFDistribution。
- Tools for PowerShell V4
-
示例 1:创建配置了日志记录和缓存的基本 CloudFront 分配。
$origin = New-Object Amazon.CloudFront.Model.Origin $origin.DomainName = "amzn-s3-demo-bucket.s3.amazonaws.com" $origin.Id = "UniqueOrigin1" $origin.S3OriginConfig = New-Object Amazon.CloudFront.Model.S3OriginConfig $origin.S3OriginConfig.OriginAccessIdentity = "" New-CFDistribution ` -DistributionConfig_Enabled $true ` -DistributionConfig_Comment "Test distribution" ` -Origins_Item $origin ` -Origins_Quantity 1 ` -Logging_Enabled $true ` -Logging_IncludeCookie $true ` -Logging_Bucket amzn-s3-demo-logging-bucket.s3.amazonaws.com ` -Logging_Prefix "help/" ` -DistributionConfig_CallerReference Client1 ` -DistributionConfig_DefaultRootObject index.html ` -DefaultCacheBehavior_TargetOriginId $origin.Id ` -ForwardedValues_QueryString $true ` -Cookies_Forward all ` -WhitelistedNames_Quantity 0 ` -TrustedSigners_Enabled $false ` -TrustedSigners_Quantity 0 ` -DefaultCacheBehavior_ViewerProtocolPolicy allow-all ` -DefaultCacheBehavior_MinTTL 1000 ` -DistributionConfig_PriceClass "PriceClass_All" ` -CacheBehaviors_Quantity 0 ` -Aliases_Quantity 0-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V4)》中的 CreateDistribution。
-
以下代码示例演示了如何使用 New-CFInvalidation。
- Tools for PowerShell V4
-
示例 1:此示例在 ID 为 EXAMPLENSTXAXE 的分配上创建一个新的失效。CallerReference 是用户选择的唯一 ID;在本例中,使用代表 2019 年 5 月 15 日上午 9:00 的时间戳。$Paths 变量存储了用户不希望将其作为分配缓存一部分的图像和媒体文件的三个路径。-Paths_Quantity 参数值是在 -Paths_Item 参数中指定的路径总数。
$Paths = "/images/*.gif", "/images/image1.jpg", "/videos/*.mp4" New-CFInvalidation -DistributionId "EXAMPLENSTXAXE" -InvalidationBatch_CallerReference 20190515090000 -Paths_Item $Paths -Paths_Quantity 3输出:
Invalidation Location ------------ -------- Amazon.CloudFront.Model.Invalidation https://cloudfront.amazonaws.com/2018-11-05/distribution/EXAMPLENSTXAXE/invalidation/EXAMPLE8NOK9H-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet Reference (V4)》中的 CreateInvalidation。
-
以下代码示例演示了如何使用 New-CFSignedCookie。
- Tools for PowerShell V4
-
示例 1:使用标准策略创建指向指定资源的签名 Cookie。该 Cookie 的有效期为一年。
$params = @{ "ResourceUri"="http://xyz.cloudfront.net/image1.jpeg" "KeyPairId"="AKIAIOSFODNN7EXAMPLE" "PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem" "ExpiresOn"=(Get-Date).AddYears(1) } New-CFSignedCookie @params输出:
Expires ------- [CloudFront-Expires, 1472227284]示例 2:使用自定义策略创建指向指定资源的签名 Cookie。该 Cookie 将在 24 小时内生效,并将在一周后过期。
$start = (Get-Date).AddHours(24) $params = @{ "ResourceUri"="http://xyz.cloudfront.net/content/*.jpeg" "KeyPairId"="AKIAIOSFODNN7EXAMPLE" "PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem" "ExpiresOn"=$start.AddDays(7) "ActiveFrom"=$start } New-CFSignedCookie @params输出:
Policy ------ [CloudFront-Policy, eyJTd...wIjo...示例 3:使用自定义策略创建指向指定资源的签名 Cookie。该 Cookie 将在 24 小时内生效,并将在一周后过期。对资源的访问仅限于指定的 IP 范围。
$start = (Get-Date).AddHours(24) $params = @{ "ResourceUri"="http://xyz.cloudfront.net/content/*.jpeg" "KeyPairId"="AKIAIOSFODNN7EXAMPLE" "PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem" "ExpiresOn"=$start.AddDays(7) "ActiveFrom"=$start "IpRange"="192.0.2.0/24" } New-CFSignedCookie @params输出:
Policy ------ [CloudFront-Policy, eyJTd...wIjo...-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 New-CFSignedCookie。
-
以下代码示例演示了如何使用 New-CFSignedUrl。
- Tools for PowerShell V4
-
示例 1:使用标准策略创建指向指定资源的签名 url。url 的有效期为 1 小时。包含签名 url 的 System.Uri 对象发送到管道。
$params = @{ "ResourceUri"="https://cdn.example.com/index.html" "KeyPairId"="AKIAIOSFODNN7EXAMPLE" "PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem" "ExpiresOn"=(Get-Date).AddHours(1) } New-CFSignedUrl @params示例 2:使用自定义策略创建指向指定资源的签名 url。该 url 将在 24 小时内开始生效,并将在一周后过期。
$start = (Get-Date).AddHours(24) $params = @{ "ResourceUri"="https://cdn.example.com/index.html" "KeyPairId"="AKIAIOSFODNN7EXAMPLE" "PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem" "ExpiresOn"=(Get-Date).AddDays(7) "ActiveFrom"=$start } New-CFSignedUrl @params示例 3:使用自定义策略创建指向指定资源的签名 URL。该 url 将在 24 小时内开始生效,并将在一周后过期。对资源的访问仅限于指定的 IP 范围。
$start = (Get-Date).AddHours(24) $params = @{ "ResourceUri"="https://cdn.example.com/index.html" "KeyPairId"="AKIAIOSFODNN7EXAMPLE" "PrivateKeyFile"="C:\pk-AKIAIOSFODNN7EXAMPLE.pem" "ExpiresOn"=(Get-Date).AddDays(7) "ActiveFrom"=$start "IpRange"="192.0.2.0/24" } New-CFSignedUrl @params-
有关 API 详细信息,请参阅《AWS Tools for PowerShell Cmdlet 参考(V4)》中的 New-CFSignedUrl。
-