

这是新的《CloudFormation 模板参考指南》**。请更新您的书签和链接。有关开始使用 CloudFormation 的帮助，请参阅《AWS CloudFormation 用户指南》[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)。

# `Fn::Join`
<a name="intrinsic-function-reference-join"></a>

内部函数 `Fn::Join` 将一组值附加到单值中，中间用特定分隔符隔开。如果分隔符为空字符串，则该组值不通过分隔符被连接在一起。

## 声明
<a name="w2aac24c48b5"></a>

### JSON
<a name="intrinsic-function-reference-join-syntax.json"></a>

```
{ "Fn::Join" : [ "delimiter", [ comma-delimited list of values ] ] }
```

### YAML
<a name="intrinsic-function-reference-join-syntax.yaml"></a>

完整函数名称的语法：

```
Fn::Join: [ delimiter, [ comma-delimited list of values ] ]
```

短格式的语法：

```
!Join [ delimiter, [ comma-delimited list of values ] ]
```

## 参数
<a name="intrinsic-function-reference-join-parameters"></a>

分隔符  
您希望发生在片断之间的值。分隔符只会发生在片断之间。它不会终止终值。

ListOfValues  
您想组合的值之列表。

## 返回值
<a name="intrinsic-function-reference-join-returnvalues"></a>

组合的字符串。

## 示例
<a name="intrinsic-function-reference-join-examples"></a>

### 加入简单字符串数组
<a name="intrinsic-function-reference-join-example1"></a>

以下示例返回：`"a:b:c"`。

#### JSON
<a name="intrinsic-function-reference-join-example1.json"></a>

```
"Fn::Join" : [ ":", [ "a", "b", "c" ] ]
```

#### YAML
<a name="intrinsic-function-reference-join-example1.yaml"></a>

```
!Join [ ":", [ a, b, c ] ]
```

### 使用带参数的 Ref 函数加入
<a name="intrinsic-function-reference-join-example2"></a>

以下示例使用 `Fn::Join` 构造一个字符串值。它将 `Ref` 函数与 `AWS::Partition` 参数和 `AWS::AccountId` 伪参数一起使用。

#### JSON
<a name="intrinsic-function-reference-join-example2.json"></a>

```
{
  "Fn::Join": [
    "", [
      "arn:",
      {
        "Ref": "AWS::Partition"
      },
      ":s3:::elasticbeanstalk-*-",
      {
        "Ref": "AWS::AccountId"
      }
    ]
  ]
}
```

#### YAML
<a name="intrinsic-function-reference-join-example2.yaml"></a>

```
!Join
  - ''
  - - 'arn:'
    - !Ref AWS::Partition
    - ':s3:::elasticbeanstalk-*-'
    - !Ref AWS::AccountId
```

**注意**  
另请参阅 [`Fn::Sub`](intrinsic-function-reference-sub.md) 函数以了解类似的功能。

## 支持的函数
<a name="intrinsic-function-reference-join-supportedfunctions"></a>

对于 `Fn::Join` 分隔符，不能使用任何函数。您必须指定字符串值。

对于值的 `Fn::Join` 列表，您可使用以下函数：
+ `Fn::Base64`
+ `Fn::FindInMap`
+ `Fn::GetAtt`
+ `Fn::GetAZs`
+ `Fn::If`
+ `Fn::ImportValue`
+ `Fn::Join`
+ `Fn::Split`
+ `Fn::Select`
+ `Fn::Sub`
+ `Ref`