

文档 AWS SDK 示例 GitHub 存储库中还有更多 [S AWS DK 示例](https://github.com/awsdocs/aws-doc-sdk-examples)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用的代码示 AWS WAFV2 例 AWS SDKs
<a name="wafv2_code_examples"></a>

以下代码示例向您展示了如何 AWS WAFV2 使用 AWS 软件开发套件 (SDK)。

*操作*是大型程序的代码摘录，必须在上下文中运行。您可以通过操作了解如何调用单个服务函数，还可以通过函数相关场景的上下文查看操作。

**更多资源**
+  **[AWS WAFV2 开发者指南](https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html)** —有关的更多信息 AWS WAFV2.
+ **[AWS WAFV2 API 参考](https://docs.aws.amazon.com/waf/latest/APIReference/API_Operations_AWS_WAFV2.html)**-有关所有可用 AWS WAFV2 操作的详细信息。
+ **[AWS 开发者中心](https://aws.amazon.com/developer/code-examples/?awsf.sdk-code-examples-product=product%23)** — 您可以按类别或全文搜索筛选的代码示例。
+ **[AWS SDK 示例](https://github.com/awsdocs/aws-doc-sdk-examples)** — 包含首选语言完整代码的 GitHub 存储库。包括有关设置和运行代码的说明。

**Contents**
+ [基本功能](wafv2_code_examples_basics.md)
  + [操作](wafv2_code_examples_actions.md)
    + [`CreateWebAcl`](wafv2_example_wafv2_CreateWebAcl_section.md)

# 使用的基本示 AWS WAFV2 例 AWS SDKs
<a name="wafv2_code_examples_basics"></a>

以下代码示例说明如何使用 with 的基础 AWS WAFV2 知识 AWS SDKs。

**Contents**
+ [操作](wafv2_code_examples_actions.md)
  + [`CreateWebAcl`](wafv2_example_wafv2_CreateWebAcl_section.md)

# AWS WAFV2 使用的操作 AWS SDKs
<a name="wafv2_code_examples_actions"></a>

以下代码示例演示了如何使用执行单个 AWS WAFV2 操作 AWS SDKs。每个示例都包含一个指向的链接 GitHub，您可以在其中找到有关设置和运行代码的说明。

 以下示例仅包括最常用的操作。有关完整列表，请参阅 [AWS WAFV2 API 参考](https://docs.aws.amazon.com/waf/latest/APIReference/API_Operations_AWS_WAFV2.html)。

**Topics**
+ [`CreateWebAcl`](wafv2_example_wafv2_CreateWebAcl_section.md)

# 将 `CreateWebAcl` 与 CLI 配合使用
<a name="wafv2_example_wafv2_CreateWebAcl_section"></a>

以下代码示例演示如何使用 `CreateWebAcl`。

------
#### [ CLI ]

**AWS CLI**  
**创建 Web ACL**  
以下 `create-web-acl` 命令创建供区域使用的 Web ACL。Web ACL 的规则声明在 JSON 格式的文件中提供。  

```
aws wafv2 create-web-acl \
    --name TestWebAcl \
    --scope REGIONAL \
    --default-action Allow={} \
    --visibility-config SampledRequestsEnabled=true,CloudWatchMetricsEnabled=true,MetricName=TestWebAclMetrics \
    --rules file://waf-rule.json \
    --region us-west-2
```
file://waf-rule.json 的内容：  

```
[
    {
        "Name":"basic-rule",
        "Priority":0,
        "Statement":{
            "AndStatement":{
                "Statements":[
                    {
                        "ByteMatchStatement":{
                            "SearchString":"example.com",
                            "FieldToMatch":{
                                "SingleHeader":{
                                    "Name":"host"
                                }
                            },
                            "TextTransformations":[
                                {
                                    "Priority":0,
                                    "Type":"LOWERCASE"
                                }
                            ],
                            "PositionalConstraint":"EXACTLY"
                        }
                    },
                    {
                        "GeoMatchStatement":{
                            "CountryCodes":[
                                "US",
                                "IN"
                            ]
                        }
                    }
                ]
            }
        },
        "Action":{
            "Allow":{

            }
        },
        "VisibilityConfig":{
            "SampledRequestsEnabled":true,
            "CloudWatchMetricsEnabled":true,
            "MetricName":"basic-rule"
        }
    }
]
```
输出：  

```
{
    "Summary":{
        "ARN":"arn:aws:wafv2:us-west-2:123456789012:regional/webacl/TestWebAcl/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
        "Description":"",
        "Name":"TestWebAcl",
        "LockToken":"2294b3a1-eb60-4aa0-a86f-a3ae04329de9",
        "Id":"a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
    }
}
```
有关更多信息，请参阅 [W *AWS AF、Fi AWS rewall Manager 和 AWS Shield 高级开发者指南*中的管理和使用 Web 访问控制列表 (Web ACL)](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl.html)。  
+  有关 API 的详细信息，请参阅*AWS CLI 命令参考[CreateWebAcl](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/wafv2/create-web-acl.html)*中的。

------
#### [ PowerShell ]

**适用于 PowerShell V4 的工具**  
**示例 1：此命令创建一个名为“waf-test”的新 Web ACL。请注意，根据服务 API 文档，“DefaultAction” 是必填属性。因此，应指定'-\$1All DefaultAction ow'''-DefaultAction \$1 and/or Block'的值。由于'-DefaultAction \$1Allow'和'-DefaultAction \$1Block'不是必需的属性，因此可以将值 '@ \$1\$1 '用作占位符，如上例所示。**  

```
New-WAF2WebACL -Name "waf-test" -Scope REGIONAL -Region eu-west-1 -VisibilityConfig_CloudWatchMetricsEnabled $true -VisibilityConfig_SampledRequestsEnabled $true -VisibilityConfig_MetricName "waf-test" -Description "Test" -DefaultAction_Allow @{}
```
**输出**：  

```
ARN         : arn:aws:wafv2:eu-west-1:139480602983:regional/webacl/waf-test/19460b3f-db14-4b9a-8e23-a417e1eb007f
Description : Test
Id          : 19460b3f-db14-4b9a-8e23-a417e1eb007f
LockToken   : 5a0cd5eb-d911-4341-b313-b429e6d6b6ab
Name        : waf-test
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 4) [CreateWebAcl](https://docs.aws.amazon.com/powershell/v4/reference)中的。

**适用于 PowerShell V5 的工具**  
**示例 1：此命令创建一个名为“waf-test”的新 Web ACL。请注意，根据服务 API 文档，“DefaultAction” 是必填属性。因此，应指定'-\$1All DefaultAction ow'''-DefaultAction \$1 and/or Block'的值。由于'-DefaultAction \$1Allow'和'-DefaultAction \$1Block'不是必需的属性，因此可以将值 '@ \$1\$1 '用作占位符，如上例所示。**  

```
New-WAF2WebACL -Name "waf-test" -Scope REGIONAL -Region eu-west-1 -VisibilityConfig_CloudWatchMetricsEnabled $true -VisibilityConfig_SampledRequestsEnabled $true -VisibilityConfig_MetricName "waf-test" -Description "Test" -DefaultAction_Allow @{}
```
**输出**：  

```
ARN         : arn:aws:wafv2:eu-west-1:139480602983:regional/webacl/waf-test/19460b3f-db14-4b9a-8e23-a417e1eb007f
Description : Test
Id          : 19460b3f-db14-4b9a-8e23-a417e1eb007f
LockToken   : 5a0cd5eb-d911-4341-b313-b429e6d6b6ab
Name        : waf-test
```
+  有关 API 的详细信息，请参阅 *AWS Tools for PowerShell Cmdlet 参考 (V* 5) [CreateWebAcl](https://docs.aws.amazon.com/powershell/v5/reference)中的。

------