Azure Resource Manager テンプレートの文字列関数String functions for Azure Resource Manager templates

リソース マネージャーには、文字列を操作する次の関数が用意されています。Resource Manager provides the following functions for working with strings:

base64base64

base64(inputString)

入力文字列の base64 表現を返します。Returns the base64 representation of the input string.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
inputStringinputString はいYes stringstring Base 64 形式として返す値。The value to return as a base64 representation.

戻り値Return value

base64 形式を含む文字列。A string containing the base64 representation.

Examples

次のテンプレート例では、base64 関数を使用する方法を示します。The following example template shows how to use the base64 function.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "stringData": {
            "type": "string",
            "defaultValue": "one, two, three"
        },
        "jsonFormattedData": {
            "type": "string",
            "defaultValue": "{'one': 'a', 'two': 'b'}"
        }
    },
    "variables": {
        "base64String": "[base64(parameters('stringData'))]",
        "base64Object": "[base64(parameters('jsonFormattedData'))]"
    },
    "resources": [
    ],
    "outputs": {
        "base64Output": {
            "type": "string",
            "value": "[variables('base64String')]"
        },
        "toStringOutput": {
            "type": "string",
            "value": "[base64ToString(variables('base64String'))]"
        },
        "toJsonOutput": {
            "type": "object",
            "value": "[base64ToJson(variables('base64Object'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
base64Outputbase64Output stringString b25lLCB0d28sIHRocmVlb25lLCB0d28sIHRocmVl
toStringOutputtoStringOutput stringString one, two, threeone, two, three
toJsonOutputtoJsonOutput ObjectObject {"one": "a", "two": "b"}{"one": "a", "two": "b"}

base64ToJsonbase64ToJson

base64tojson

base64 形式を JSON オブジェクトに変換します。Converts a base64 representation to a JSON object.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
base64Valuebase64Value はいYes stringstring JSON オブジェクトに変換する base64 形式。The base64 representation to convert to a JSON object.

戻り値Return value

JSON オブジェクト。A JSON object.

Examples

次のテンプレート例では、base64ToJson 関数を使用して base64 値を変換します。The following example template uses the base64ToJson function to convert a base64 value:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "stringData": {
            "type": "string",
            "defaultValue": "one, two, three"
        },
        "jsonFormattedData": {
            "type": "string",
            "defaultValue": "{'one': 'a', 'two': 'b'}"
        }
    },
    "variables": {
        "base64String": "[base64(parameters('stringData'))]",
        "base64Object": "[base64(parameters('jsonFormattedData'))]"
    },
    "resources": [
    ],
    "outputs": {
        "base64Output": {
            "type": "string",
            "value": "[variables('base64String')]"
        },
        "toStringOutput": {
            "type": "string",
            "value": "[base64ToString(variables('base64String'))]"
        },
        "toJsonOutput": {
            "type": "object",
            "value": "[base64ToJson(variables('base64Object'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
base64Outputbase64Output stringString b25lLCB0d28sIHRocmVlb25lLCB0d28sIHRocmVl
toStringOutputtoStringOutput stringString one, two, threeone, two, three
toJsonOutputtoJsonOutput ObjectObject {"one": "a", "two": "b"}{"one": "a", "two": "b"}

base64ToStringbase64ToString

base64ToString(base64Value)

base64 形式を文字列に変換します。Converts a base64 representation to a string.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
base64Valuebase64Value はいYes stringstring 文字列に変換する base64 形式。The base64 representation to convert to a string.

戻り値Return value

変換された base64 値の文字列。A string of the converted base64 value.

Examples

次のテンプレート例では、base64ToString 関数を使用して base64 値を変換します。The following example template uses the base64ToString function to convert a base64 value:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "stringData": {
            "type": "string",
            "defaultValue": "one, two, three"
        },
        "jsonFormattedData": {
            "type": "string",
            "defaultValue": "{'one': 'a', 'two': 'b'}"
        }
    },
    "variables": {
        "base64String": "[base64(parameters('stringData'))]",
        "base64Object": "[base64(parameters('jsonFormattedData'))]"
    },
    "resources": [
    ],
    "outputs": {
        "base64Output": {
            "type": "string",
            "value": "[variables('base64String')]"
        },
        "toStringOutput": {
            "type": "string",
            "value": "[base64ToString(variables('base64String'))]"
        },
        "toJsonOutput": {
            "type": "object",
            "value": "[base64ToJson(variables('base64Object'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
base64Outputbase64Output stringString b25lLCB0d28sIHRocmVlb25lLCB0d28sIHRocmVl
toStringOutputtoStringOutput stringString one, two, threeone, two, three
toJsonOutputtoJsonOutput ObjectObject {"one": "a", "two": "b"}{"one": "a", "two": "b"}

concatconcat

concat (arg1, arg2, arg3, ...)

複数の文字列値を結合して連結された文字列を返します。または複数の配列を結合して連結された配列を返します。Combines multiple string values and returns the concatenated string, or combines multiple arrays and returns the concatenated array.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
arg1arg1 はいYes 文字列または配列string or array 連結の最初の値。The first value for concatenation.
残りの引数additional arguments いいえNo stringstring 連結する順の追加の値。Additional values in sequential order for concatenation.

戻り値Return value

連結された値の文字列または配列。A string or array of concatenated values.

Examples

次のテンプレート例は、2 つの文字列値を結合して 1 つの連結文字列を返す方法を示しています。The following example template shows how to combine two string values and return a concatenated string.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "prefix": {
            "type": "string",
            "defaultValue": "prefix"
        }
    },
    "resources": [],
    "outputs": {
        "concatOutput": {
            "value": "[concat(parameters('prefix'), '-', uniqueString(resourceGroup().id))]",
            "type" : "string"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
concatOutputconcatOutput stringString prefix-5yj4yjf5mbg72prefix-5yj4yjf5mbg72

次のテンプレート例では、2 つの配列を結合する方法を示します。The following example template shows how to combine two arrays.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": { 
        "firstArray": { 
            "type": "array", 
            "defaultValue": [ 
                "1-1", 
                "1-2", 
                "1-3" 
            ] 
        },
        "secondArray": {
            "type": "array", 
            "defaultValue": [ 
                "2-1", 
                "2-2",
                "2-3" 
            ] 
        }
    },
    "resources": [
    ],
    "outputs": {
        "return": {
            "type": "array",
            "value": "[concat(parameters('firstArray'), parameters('secondArray'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
returnreturn ArrayArray ["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"]["1-1", "1-2", "1-3", "2-1", "2-2", "2-3"]

containscontains

contains (container, itemToFind)

配列に値が含まれるかどうか、オブジェクトにキーが含まれるかどうか、または文字列に部分文字列が含まれるかどうかを確認します。Checks whether an array contains a value, an object contains a key, or a string contains a substring. 文字列比較では大文字・小文字を区別します。The string comparison is case-sensitive. ただし、オブジェクトにキーが含まれているかどうかをテストする場合、比較で大文字・小文字を区別しません。However, when testing if an object contains a key, the comparison is case-insensitive.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
containercontainer はいYes 配列、オブジェクト、文字列array, object, or string 検索対象の値を含む値。The value that contains the value to find.
itemToFinditemToFind はいYes 文字列または整数string or int 検索対象の値。The value to find.

戻り値Return value

項目が見つかった場合は True、それ以外の場合は False です。True if the item is found; otherwise, False.

Examples

次のテンプレート例では、contains をさまざまな型で使用する方法を示します。The following example template shows how to use contains with different types:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "stringToTest": {
            "type": "string",
            "defaultValue": "OneTwoThree"
        },
        "objectToTest": {
            "type": "object",
            "defaultValue": {"one": "a", "two": "b", "three": "c"}
        },
        "arrayToTest": {
            "type": "array",
            "defaultValue": ["one", "two", "three"]
        }
    },
    "resources": [
    ],
    "outputs": {
        "stringTrue": {
            "type": "bool",
            "value": "[contains(parameters('stringToTest'), 'e')]"
        },
        "stringFalse": {
            "type": "bool",
            "value": "[contains(parameters('stringToTest'), 'z')]"
        },
        "objectTrue": {
            "type": "bool",
            "value": "[contains(parameters('objectToTest'), 'one')]"
        },
        "objectFalse": {
            "type": "bool",
            "value": "[contains(parameters('objectToTest'), 'a')]"
        },
        "arrayTrue": {
            "type": "bool",
            "value": "[contains(parameters('arrayToTest'), 'three')]"
        },
        "arrayFalse": {
            "type": "bool",
            "value": "[contains(parameters('arrayToTest'), 'four')]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
stringTruestringTrue ブール値Bool TrueTrue
stringFalsestringFalse BoolBool FalseFalse
objectTrueobjectTrue BoolBool TrueTrue
objectFalseobjectFalse BoolBool FalseFalse
arrayTruearrayTrue BoolBool TrueTrue
arrayFalsearrayFalse BoolBool FalseFalse

dataUridataUri

dataUri(stringToConvert)

値をデータ URI に変換します。Converts a value to a data URI.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
stringToConvertstringToConvert はいYes stringstring データ URI に変換する値。The value to convert to a data URI.

戻り値Return value

データ URI として書式設定された文字列。A string formatted as a data URI.

Examples

次のテンプレート例では、値をデータ URI に変換し、データ URI を文字列に変換します。The following example template converts a value to a data URI, and converts a data URI to a string:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "stringToTest": {
            "type": "string",
            "defaultValue": "Hello"
        },
        "dataFormattedString": {
            "type": "string",
            "defaultValue": "data:;base64,SGVsbG8sIFdvcmxkIQ=="
        }
    },
    "resources": [],
    "outputs": {
        "dataUriOutput": {
            "value": "[dataUri(parameters('stringToTest'))]",
            "type" : "string"
        },
        "toStringOutput": {
            "type": "string",
            "value": "[dataUriToString(parameters('dataFormattedString'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
dataUriOutputdataUriOutput stringString data:text/plain;charset=utf8;base64,SGVsbG8=data:text/plain;charset=utf8;base64,SGVsbG8=
toStringOutputtoStringOutput stringString Hello, World!Hello, World!

dataUriToStringdataUriToString

dataUriToString(dataUriToConvert)

データ URI の形式で書式設定された値を文字列に変換します。Converts a data URI formatted value to a string.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
dataUriToConvertdataUriToConvert はいYes stringstring 変換するデータ URI 値。The data URI value to convert.

戻り値Return value

変換後の値を含む文字列。A string containing the converted value.

Examples

次のテンプレート例では、値をデータ URI に変換し、データ URI を文字列に変換します。The following example template converts a value to a data URI, and converts a data URI to a string:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "stringToTest": {
            "type": "string",
            "defaultValue": "Hello"
        },
        "dataFormattedString": {
            "type": "string",
            "defaultValue": "data:;base64,SGVsbG8sIFdvcmxkIQ=="
        }
    },
    "resources": [],
    "outputs": {
        "dataUriOutput": {
            "value": "[dataUri(parameters('stringToTest'))]",
            "type" : "string"
        },
        "toStringOutput": {
            "type": "string",
            "value": "[dataUriToString(parameters('dataFormattedString'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
dataUriOutputdataUriOutput stringString data:text/plain;charset=utf8;base64,SGVsbG8=data:text/plain;charset=utf8;base64,SGVsbG8=
toStringOutputtoStringOutput stringString Hello, World!Hello, World!

emptyempty

empty(itemToTest)

配列、オブジェクト、または文字列が空かどうかを判断します。Determines if an array, object, or string is empty.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
itemToTestitemToTest はいYes 配列、オブジェクト、文字列array, object, or string 空かどうかを確認する値。The value to check if it's empty.

戻り値Return value

値が空の場合は True を、値が空でない場合は False を返します。Returns True if the value is empty; otherwise, False.

Examples

次のテンプレート例では、配列、オブジェクト、および文字列が空かどうかを確認します。The following example template checks whether an array, object, and string are empty.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "testArray": {
            "type": "array",
            "defaultValue": []
        },
        "testObject": {
            "type": "object",
            "defaultValue": {}
        },
        "testString": {
            "type": "string",
            "defaultValue": ""
        }
    },
    "resources": [
    ],
    "outputs": {
        "arrayEmpty": {
            "type": "bool",
            "value": "[empty(parameters('testArray'))]"
        },
        "objectEmpty": {
            "type": "bool",
            "value": "[empty(parameters('testObject'))]"
        },
        "stringEmpty": {
            "type": "bool",
            "value": "[empty(parameters('testString'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
arrayEmptyarrayEmpty BoolBool TrueTrue
objectEmptyobjectEmpty BoolBool TrueTrue
stringEmptystringEmpty BoolBool TrueTrue

endsWithendsWith

endsWith(stringToSearch, stringToFind)

文字列が特定の値で終わるかどうかを判断します。Determines whether a string ends with a value. 比較では大文字と小文字は区別されません。The comparison is case-insensitive.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
stringToSearchstringToSearch はいYes stringstring 検索対象の項目を含む値。The value that contains the item to find.
stringToFindstringToFind はいYes stringstring 検索対象の値。The value to find.

戻り値Return value

文字列の最後の文字または文字列が値に一致した場合は True、それ以外の場合は FalseTrue if the last character or characters of the string match the value; otherwise, False.

Examples

次のテンプレート例は、startsWith 関数と endsWith 関数の使用方法を示しています。The following example template shows how to use the startsWith and endsWith functions:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "startsTrue": {
            "value": "[startsWith('abcdef', 'ab')]",
            "type" : "bool"
        },
        "startsCapTrue": {
            "value": "[startsWith('abcdef', 'A')]",
            "type" : "bool"
        },
        "startsFalse": {
            "value": "[startsWith('abcdef', 'e')]",
            "type" : "bool"
        },
        "endsTrue": {
            "value": "[endsWith('abcdef', 'ef')]",
            "type" : "bool"
        },
        "endsCapTrue": {
            "value": "[endsWith('abcdef', 'F')]",
            "type" : "bool"
        },
        "endsFalse": {
            "value": "[endsWith('abcdef', 'e')]",
            "type" : "bool"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
startsTruestartsTrue BoolBool TrueTrue
startsCapTruestartsCapTrue BoolBool TrueTrue
startsFalsestartsFalse BoolBool FalseFalse
endsTrueendsTrue BoolBool TrueTrue
endsCapTrueendsCapTrue BoolBool TrueTrue
endsFalseendsFalse BoolBool FalseFalse

firstfirst

first(arg1)

文字列の最初の文字、または配列の最初の要素を返します。Returns the first character of the string, or first element of the array.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
arg1arg1 はいYes 配列または文字列array or string 最初の要素または文字を取得する値。The value to retrieve the first element or character.

戻り値Return value

文字列の最初の文字、または配列の最初の要素の型 (文字列、整数、配列、またはオブジェクト)。A string of the first character, or the type (string, int, array, or object) of the first element in an array.

Examples

次のテンプレート例では、first 関数を配列および文字列と共に使用する方法を示します。The following example template shows how to use the first function with an array and string.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "arrayToTest": {
            "type": "array",
            "defaultValue": ["one", "two", "three"]
        }
    },
    "resources": [
    ],
    "outputs": {
        "arrayOutput": {
            "type": "string",
            "value": "[first(parameters('arrayToTest'))]"
        },
        "stringOutput": {
            "type": "string",
            "value": "[first('One Two Three')]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
arrayOutputarrayOutput stringString oneone
stringOutputstringOutput stringString OO

formatformat

format(formatString, arg1, arg2, ...)

入力値から書式設定された文字列を作成します。Creates a formatted string from input values.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
formatStringformatString はいYes stringstring 複合の書式設定文字列。The composite format string.
arg1arg1 はいYes 文字列、整数、またはブール値string, integer, or boolean 書式設定された文字列に含める値。The value to include in the formatted string.
残りの引数additional arguments いいえNo 文字列、整数、またはブール値string, integer, or boolean 書式設定された文字列に含める追加の値。Additional values to include in the formatted string.

解説Remarks

この関数を使用して、テンプレート内の文字列を書式設定します。Use this function to format a string in your template. .NET 内のSystem.String.Format メソッドと同じ書式設定オプションを使用します。It uses the same formatting options as the System.String.Format method in .NET.

Examples

次のテンプレート例に、書式設定の関数を使用する方法を示します。The following example template shows how to use the format function.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "greeting": {
            "type": "string",
            "defaultValue": "Hello"
        },
        "name": {
            "type": "string",
            "defaultValue": "User"
        },
        "numberToFormat": {
            "type": "int",
            "defaultValue": 8175133
        }
    },
    "resources": [
    ],
    "outputs": {
        "formatTest": {
            "type": "string",
            "value": "[format('{0}, {1}. Formatted number: {2:N0}', parameters('greeting'), parameters('name'), parameters('numberToFormat'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
formatTestformatTest stringString Hello, User.Hello, User. Formatted number:8,175,133Formatted number: 8,175,133

guidguid

guid(baseString, ...)

パラメーターとして指定した値に基づき、グローバル一意識別子の形式で値を作成します。Creates a value in the format of a globally unique identifier based on the values provided as parameters.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
baseStringbaseString はいYes stringstring GUID を作成するためにハッシュ関数で使用される値。The value used in the hash function to create the GUID.
必要に応じて追加のパラメーターadditional parameters as needed いいえNo stringstring 文字列をいくつでも追加して、一意性のレベルを指定する値を作成できます。You can add as many strings as needed to create the value that specifies the level of uniqueness.

解説Remarks

この関数は、グローバル一意識別子の形式で値を作成する必要がある場合に役立ちます。This function is helpful when you need to create a value in the format of a globally unique identifier. 結果の一意性のスコープを制限するパラメーターの値を指定します。You provide parameter values that limit the scope of uniqueness for the result. サブスクリプション、リソース グループ、またはデプロイのレベルで名前が一意であるかどうかを指定できます。You can specify whether the name is unique down to subscription, resource group, or deployment.

返される値はランダムな文字列ではなく、パラメーターに対するハッシュ関数の結果になります。The returned value isn't a random string, but rather the result of a hash function on the parameters. 返される値は、36 文字です。The returned value is 36 characters long. グローバルに一意ではありません。It isn't globally unique. パラメーターのそのハッシュ値に基づかない新しい GUID を作成するには、newGuid 関数を使用します。To create a new GUID that isn't based on that hash value of the parameters, use the newGuid function.

次の例は、guid を使用して、よく使用されるレベルで一意の値を作成する方法を示しています。The following examples show how to use guid to create a unique value for commonly used levels.

サブスクリプションのスコープで一意Unique scoped to subscription

"[guid(subscription().subscriptionId)]"

リソース グループのスコープで一意Unique scoped to resource group

"[guid(resourceGroup().id)]"

リソース グループのデプロイのスコープで一意Unique scoped to deployment for a resource group

"[guid(resourceGroup().id, deployment().name)]"

戻り値Return value

グローバル一意識別子の形式の 36 文字を含む文字列。A string containing 36 characters in the format of a globally unique identifier.

Examples

次のテンプレート例は、guid から結果を返します。The following example template returns results from guid:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {},
    "variables": {},
    "resources": [],
    "outputs": {
        "guidPerSubscription": {
            "value": "[guid(subscription().subscriptionId)]",
            "type": "string"
        },
        "guidPerResourceGroup": {
            "value": "[guid(resourceGroup().id)]",
            "type": "string"
        },
        "guidPerDeployment": {
            "value": "[guid(resourceGroup().id, deployment().name)]",
            "type": "string"
        }
    }
}

indexOfindexOf

indexOf(stringToSearch, stringToFind)

文字列内の値の最初の位置を返します。Returns the first position of a value within a string. 比較では大文字と小文字は区別されません。The comparison is case-insensitive.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
stringToSearchstringToSearch はいYes stringstring 検索対象の項目を含む値。The value that contains the item to find.
stringToFindstringToFind はいYes stringstring 検索対象の値。The value to find.

戻り値Return value

検索する項目の位置を表す整数。An integer that represents the position of the item to find. 値は 0 から始まります。The value is zero-based. 項目が見つからない場合は、-1 が返されます。If the item isn't found, -1 is returned.

Examples

次のテンプレート例は、indexOf 関数と lastIndexOf 関数の使用方法を示しています。The following example template shows how to use the indexOf and lastIndexOf functions:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "firstT": {
            "value": "[indexOf('test', 't')]",
            "type" : "int"
        },
        "lastT": {
            "value": "[lastIndexOf('test', 't')]",
            "type" : "int"
        },
        "firstString": {
            "value": "[indexOf('abcdef', 'CD')]",
            "type" : "int"
        },
        "lastString": {
            "value": "[lastIndexOf('abcdef', 'AB')]",
            "type" : "int"
        },
        "notFound": {
            "value": "[indexOf('abcdef', 'z')]",
            "type" : "int"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
firstTfirstT intInt 00
lastTlastT intInt 33
firstStringfirstString intInt 22
lastStringlastString intInt 00
notFoundnotFound intInt -1-1

lastlast

last (arg1)

文字列の最後の文字、または配列の最後の要素を返します。Returns last character of the string, or the last element of the array.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
arg1arg1 はいYes 配列または文字列array or string 最後の要素または文字を取得する値。The value to retrieve the last element or character.

戻り値Return value

文字列の最後の文字、または配列の最後の要素の型 (文字列、整数、配列、またはオブジェクト)。A string of the last character, or the type (string, int, array, or object) of the last element in an array.

Examples

次のテンプレート例では、last 関数を配列および文字列と共に使用する方法を示します。The following example template shows how to use the last function with an array and string.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "arrayToTest": {
            "type": "array",
            "defaultValue": ["one", "two", "three"]
        }
    },
    "resources": [
    ],
    "outputs": {
        "arrayOutput": {
            "type": "string",
            "value": "[last(parameters('arrayToTest'))]"
        },
        "stringOutput": {
            "type": "string",
            "value": "[last('One Two Three')]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
arrayOutputarrayOutput stringString threethree
stringOutputstringOutput stringString ee

lastIndexOflastIndexOf

lastIndexOf(stringToSearch, stringToFind)

文字列内の値の最後の位置を返します。Returns the last position of a value within a string. 比較では大文字と小文字は区別されません。The comparison is case-insensitive.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
stringToSearchstringToSearch はいYes stringstring 検索対象の項目を含む値。The value that contains the item to find.
stringToFindstringToFind はいYes stringstring 検索対象の値。The value to find.

戻り値Return value

検索する項目の最後の位置を表す整数。An integer that represents the last position of the item to find. 値は 0 から始まります。The value is zero-based. 項目が見つからない場合は、-1 が返されます。If the item isn't found, -1 is returned.

Examples

次のテンプレート例は、indexOf 関数と lastIndexOf 関数の使用方法を示しています。The following example template shows how to use the indexOf and lastIndexOf functions:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "firstT": {
            "value": "[indexOf('test', 't')]",
            "type" : "int"
        },
        "lastT": {
            "value": "[lastIndexOf('test', 't')]",
            "type" : "int"
        },
        "firstString": {
            "value": "[indexOf('abcdef', 'CD')]",
            "type" : "int"
        },
        "lastString": {
            "value": "[lastIndexOf('abcdef', 'AB')]",
            "type" : "int"
        },
        "notFound": {
            "value": "[indexOf('abcdef', 'z')]",
            "type" : "int"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
firstTfirstT intInt 00
lastTlastT intInt 33
firstStringfirstString intInt 22
lastStringlastString intInt 00
notFoundnotFound intInt -1-1

lengthlength

length(string)

文字列の文字数、または配列の要素の数を返します。Returns the number of characters in a string, or elements in an array.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
arg1arg1 はいYes 配列または文字列array or string 要素の数を取得するために使用する配列、または文字の数を取得するために使用する文字列。The array to use for getting the number of elements, or the string to use for getting the number of characters.

戻り値Return value

整数。An int.

Examples

次のテンプレート例では、length を配列および文字列と共に使用する方法を示します。The following example template shows how to use length with an array and string:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "arrayToTest": {
            "type": "array",
            "defaultValue": [
                "one",
                "two",
                "three"
            ]
        },
        "stringToTest": {
            "type": "string",
            "defaultValue": "One Two Three"
        }
    },
    "resources": [],
    "outputs": {
        "arrayLength": {
            "type": "int",
            "value": "[length(parameters('arrayToTest'))]"
        },
        "stringLength": {
            "type": "int",
            "value": "[length(parameters('stringToTest'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
arrayLengtharrayLength intInt 33
stringLengthstringLength intInt 1313

newGuidnewGuid

newGuid()

グローバル一意識別子の形式の値を返します。Returns a value in the format of a globally unique identifier. この関数は、パラメーターの既定値でのみ使用できます。This function can only be used in the default value for a parameter.

解説Remarks

この関数は、パラメーターの既定値に対する式の中でのみ使用できます。You can only use this function within an expression for the default value of a parameter. この関数をテンプレートのその他の場所で使用すると、エラーが返されます。Using this function anywhere else in a template returns an error. テンプレートの他の場所でこの関数を使用することは、呼び出しのたびに異なる値が返されるため、許可されていません。The function isn't allowed in other parts of the template because it returns a different value each time it's called. 同じパラメーターで同じテンプレートをデプロイしても、同じ結果が生成される保証はありません。Deploying the same template with the same parameters wouldn't reliably produce the same results.

newGuid 関数は、パラメーターを受け取らない点が guid 関数と異なります。The newGuid function differs from the guid function because it doesn't take any parameters. guid では、同じパラメーターを使用して呼び出すと、毎回同じ識別子が返されます。When you call guid with the same parameter, it returns the same identifier each time. 特定の環境に対して同じ GUID を確実に生成する必要がある場合は、guid を使用してください。Use guid when you need to reliably generate the same GUID for a specific environment. テスト環境へのリソースのデプロイなど、毎回異なる識別子が必要なときは、newGuid を使用してください。Use newGuid when you need a different identifier each time, such as deploying resources to a test environment.

以前の正常なデプロイを再デプロイするオプションを使用し、以前のデプロイに newGuid を使用するパラメーターが含まれている場合、パラメーターは再評価されません。If you use the option to redeploy an earlier successful deployment, and the earlier deployment includes a parameter that uses newGuid, the parameter isn't reevaluated. 代わりに、以前のデプロイのパラメーター値が、ロールバック デプロイで自動的に再利用されます。Instead, the parameter value from the earlier deployment is automatically reused in the rollback deployment.

テスト環境では、短時間だけ存在するリソースを繰り返しデプロイすることが必要な場合があります。In a test environment, you may need to repeatedly deploy resources that only live for a short time. 一意の名前を構築するのではなく、uniqueString で newGuid を使用して一意の名前を作成できます。Rather than constructing unique names, you can use newGuid with uniqueString to create unique names.

既定値に対する newGuid 関数に依存するテンプレートを再デプロイするときは注意が必要です。Be careful redeploying a template that relies on the newGuid function for a default value. 再デプロイを行うときに、パラメーターの値を指定しないと、関数が再評価されます。When you redeploy and don't provide a value for the parameter, the function is reevaluated. 新しいリソースを作成するのではなく、既存のリソースを更新する場合は、以前のデプロイのパラメーター値を渡します。If you want to update an existing resource rather than create a new one, pass in the parameter value from the earlier deployment.

戻り値Return value

グローバル一意識別子の形式の 36 文字を含む文字列。A string containing 36 characters in the format of a globally unique identifier.

Examples

次の例のテンプレートでは、新しい識別子を使用するパラメーターを示します。The following example template shows a parameter with a new identifier.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "guidValue": {
            "type": "string",
            "defaultValue": "[newGuid()]"
        }
    },
    "resources": [
    ],
    "outputs": {
        "guidOutput": {
            "type": "string",
            "value": "[parameters('guidValue')]"
        }
    }
}

前の例からの出力はデプロイごとに変わりますが、次のようになります。The output from the preceding example varies for each deployment but will be similar to:

NameName TypeType Value
guidOutputguidOutput stringstring b76a51fc-bd72-4a77-b9a2-3c29e7d2e551b76a51fc-bd72-4a77-b9a2-3c29e7d2e551

次の例では、newGuid 関数を使用して、ストレージ アカウントの一意の名前を作成します。The following example uses the newGuid function to create a unique name for a storage account. このテンプレートは、ストレージ アカウントが短時間だけ存在し、再デプロイされないテスト環境に適しています。This template might work for test environment where the storage account exists for a short time and isn't redeployed.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "guidValue": {
            "type": "string",
            "defaultValue": "[newGuid()]"
        }
    },
    "variables": {
        "storageName": "[concat('storage', uniqueString(parameters('guidValue')))]"
    },
    "resources": [
        {
            "type": "Microsoft.Storage/storageAccounts",
            "name": "[variables('storageName')]",
            "location": "West US",
            "apiVersion": "2018-07-01",
            "sku":{
                "name": "Standard_LRS"
            },
            "kind": "StorageV2",
            "properties": {}
        }
    ],
    "outputs": {
        "nameOutput": {
            "type": "string",
            "value": "[variables('storageName')]"
        }
    }
}

前の例からの出力はデプロイごとに変わりますが、次のようになります。The output from the preceding example varies for each deployment but will be similar to:

NameName TypeType Value
nameOutputnameOutput stringstring storagenziwvyru7uxiestoragenziwvyru7uxie

padLeftpadLeft

padLeft(valueToPad, totalLength, paddingCharacter)

指定された長さに到達するまで左側に文字を追加していくことで、右揃えの文字列を返します。Returns a right-aligned string by adding characters to the left until reaching the total specified length.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
valueToPadvalueToPad はいYes 文字列または整数string or int 右揃えにする値。The value to right-align.
totalLengthtotalLength はいYes intint 返される文字列の文字合計数。The total number of characters in the returned string.
paddingCharacterpaddingCharacter いいえNo 1 文字single character 左余白の長さに到達するまで使用する文字。The character to use for left-padding until the total length is reached. 既定値は空白です。The default value is a space.

元の文字列が、埋め込まれる文字数よりも長い場合は、文字が追加されません。If the original string is longer than the number of characters to pad, no characters are added.

戻り値Return value

少なくとも指定した文字数の文字列。A string with at least the number of specified characters.

Examples

次のテンプレート例では、文字の合計数に達するまでゼロ文字を追加することで、ユーザー指定のパラメーター値を埋め込む方法を示します。The following example template shows how to pad the user-provided parameter value by adding the zero character until it reaches the total number of characters.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "testString": {
            "type": "string",
            "defaultValue": "123"
        }
    },
    "resources": [],
    "outputs": {
        "stringOutput": {
            "type": "string",
            "value": "[padLeft(parameters('testString'),10,'0')]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
stringOutputstringOutput stringString 00000001230000000123

replacereplace

replace(originalString, oldString, newString)

ある文字列のすべてのインスタンスを別の文字列で置き換えた、新しい文字列を返します。Returns a new string with all instances of one string replaced by another string.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
originalStringoriginalString はいYes stringstring 別の文字列で置き換えられる文字列の全インスタンスを含む値。The value that has all instances of one string replaced by another string.
oldStringoldString はいYes stringstring 元の文字列から削除する文字列。The string to be removed from the original string.
newStringnewString はいYes stringstring 削除された文字列の代わりに追加する文字列。The string to add in place of the removed string.

戻り値Return value

文字が置き換えられた文字列。A string with the replaced characters.

Examples

次のテンプレート例では、ユーザーが指定した文字列からすべてのダッシュを削除し、その文字列の部分を別の文字列に置き換える方法を示します。The following example template shows how to remove all dashes from the user-provided string, and how to replace part of the string with another string.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "testString": {
            "type": "string",
            "defaultValue": "123-123-1234"
        }
    },
    "resources": [],
    "outputs": {
        "firstOutput": {
            "type": "string",
            "value": "[replace(parameters('testString'),'-', '')]"
        },
        "secondOutput": {
            "type": "string",
            "value": "[replace(parameters('testString'),'1234', 'xxxx')]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
firstOutputfirstOutput stringString 12312312341231231234
secondOutputsecondOutput stringString 123-123-xxxx123-123-xxxx

skipskip

skip(originalValue, numberToSkip)

指定した文字数の後にあるすべての文字を含む文字列を返します。または、指定した数の要素の後にあるすべての要素を含む配列を返します。Returns a string with all the characters after the specified number of characters, or an array with all the elements after the specified number of elements.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
originalValueoriginalValue はいYes 配列または文字列array or string スキップ対象の配列または文字列。The array or string to use for skipping.
numberToSkipnumberToSkip はいYes intint スキップする要素または文字の数。The number of elements or characters to skip. この値が 0 以下である場合は、値内のすべての要素または文字が返されます。If this value is 0 or less, all the elements or characters in the value are returned. 配列または文字列の長さを超過している場合は、空の配列または文字列が返されます。If it's larger than the length of the array or string, an empty array or string is returned.

戻り値Return value

配列または文字列。An array or string.

Examples

次のテンプレート例では、配列内の指定した数の要素と、文字列内の指定した数の文字をスキップします。The following example template skips the specified number of elements in the array, and the specified number of characters in a string.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "testArray": {
            "type": "array",
            "defaultValue": [
                "one",
                "two",
                "three"
            ]
        },
        "elementsToSkip": {
            "type": "int",
            "defaultValue": 2
        },
        "testString": {
            "type": "string",
            "defaultValue": "one two three"
        },
        "charactersToSkip": {
            "type": "int",
            "defaultValue": 4
        }
    },
    "resources": [],
    "outputs": {
        "arrayOutput": {
            "type": "array",
            "value": "[skip(parameters('testArray'),parameters('elementsToSkip'))]"
        },
        "stringOutput": {
            "type": "string",
            "value": "[skip(parameters('testString'),parameters('charactersToSkip'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
arrayOutputarrayOutput ArrayArray ["three"]["three"]
stringOutputstringOutput stringString two threetwo three

splitsplit

split(inputString, delimiter)

指定された区切り記号で区切られた、入力文字列の部分文字列が格納されている、文字列の配列を返します。Returns an array of strings that contains the substrings of the input string that are delimited by the specified delimiters.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
inputStringinputString はいYes stringstring 分割する文字列。The string to split.
delimiterdelimiter はいYes 文字列または文字列の配列string or array of strings 文字列の分割に使用する区切り記号。The delimiter to use for splitting the string.

戻り値Return value

文字列の配列。An array of strings.

Examples

次のテンプレート例では、入力文字列をコンマで分割したり、コンマまたはセミコロンで分割したりします。The following example template splits the input string with a comma, and with either a comma or a semi-colon.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "firstString": {
            "type": "string",
            "defaultValue": "one,two,three"
        },
        "secondString": {
            "type": "string",
            "defaultValue": "one;two,three"
        }
    },
    "variables": {
        "delimiters": [ ",", ";" ]
    },
    "resources": [],
    "outputs": {
        "firstOutput": {
            "type": "array",
            "value": "[split(parameters('firstString'),',')]"
        },
        "secondOutput": {
            "type": "array",
            "value": "[split(parameters('secondString'),variables('delimiters'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
firstOutputfirstOutput ArrayArray ["one", "two", "three"]["one", "two", "three"]
secondOutputsecondOutput ArrayArray ["one", "two", "three"]["one", "two", "three"]

startsWithstartsWith

startsWith(stringToSearch, stringToFind)

文字列が特定の値で始まるかどうかを判断します。Determines whether a string starts with a value. 比較では大文字と小文字は区別されません。The comparison is case-insensitive.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
stringToSearchstringToSearch はいYes stringstring 検索対象の項目を含む値。The value that contains the item to find.
stringToFindstringToFind はいYes stringstring 検索対象の値。The value to find.

戻り値Return value

文字列の最初の文字または文字列が値に一致した場合は True、それ以外の場合は FalseTrue if the first character or characters of the string match the value; otherwise, False.

Examples

次のテンプレート例は、startsWith 関数と endsWith 関数の使用方法を示しています。The following example template shows how to use the startsWith and endsWith functions:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "startsTrue": {
            "value": "[startsWith('abcdef', 'ab')]",
            "type" : "bool"
        },
        "startsCapTrue": {
            "value": "[startsWith('abcdef', 'A')]",
            "type" : "bool"
        },
        "startsFalse": {
            "value": "[startsWith('abcdef', 'e')]",
            "type" : "bool"
        },
        "endsTrue": {
            "value": "[endsWith('abcdef', 'ef')]",
            "type" : "bool"
        },
        "endsCapTrue": {
            "value": "[endsWith('abcdef', 'F')]",
            "type" : "bool"
        },
        "endsFalse": {
            "value": "[endsWith('abcdef', 'e')]",
            "type" : "bool"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
startsTruestartsTrue BoolBool TrueTrue
startsCapTruestartsCapTrue BoolBool TrueTrue
startsFalsestartsFalse BoolBool FalseFalse
endsTrueendsTrue BoolBool TrueTrue
endsCapTrueendsCapTrue BoolBool TrueTrue
endsFalseendsFalse BoolBool FalseFalse

stringstring

string(valueToConvert)

指定された値を文字列に変換します。Converts the specified value to a string.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
valueToConvertvalueToConvert はいYes 任意Any 文字列に変換する値。The value to convert to string. オブジェクトと配列を含む、あらゆる種類の値を変換できます。Any type of value can be converted, including objects and arrays.

戻り値Return value

変換された値の文字列。A string of the converted value.

Examples

次のテンプレート例では、さまざまな型の値を文字列に変換する方法を示します。The following example template shows how to convert different types of values to strings:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "testObject": {
            "type": "object",
            "defaultValue": {
                "valueA": 10,
                "valueB": "Example Text"
            }
        },
        "testArray": {
            "type": "array",
            "defaultValue": [
                "a",
                "b",
                "c"
            ]
        },
        "testInt": {
            "type": "int",
            "defaultValue": 5
        }
    },
    "resources": [],
    "outputs": {
        "objectOutput": {
            "type": "string",
            "value": "[string(parameters('testObject'))]"
        },
        "arrayOutput": {
            "type": "string",
            "value": "[string(parameters('testArray'))]"
        },
        "intOutput": {
            "type": "string",
            "value": "[string(parameters('testInt'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
objectOutputobjectOutput stringString {"valueA":10,"valueB":"Example Text"}{"valueA":10,"valueB":"Example Text"}
arrayOutputarrayOutput stringString ["a","b","c"]["a","b","c"]
intOutputintOutput stringString 55

substringsubstring

substring(stringToParse, startIndex, length)

指定した文字位置から始まる指定された文字数分の部分文字列を返します。Returns a substring that starts at the specified character position and contains the specified number of characters.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
stringToParsestringToParse はいYes stringstring 部分文字列の抽出元となる文字列。The original string from which the substring is extracted.
startIndexstartIndex いいえNo intint 部分文字列の 0 から始まる開始文字位置。The zero-based starting character position for the substring.
lengthlength いいえNo intint 部分文字列の文字数。The number of characters for the substring. 文字列内の場所を参照する必要があります。Must refer to a location within the string. 0 以上である必要があります。Must be zero or greater.

戻り値Return value

部分文字列。The substring. または、長さが 0 の場合は空の文字列。Or, an empty string if the length is zero.

解説Remarks

この関数は、部分文字列が文字列の最後を超えるか、または長さが 0 未満のときは失敗します。The function fails when the substring extends beyond the end of the string, or when length is less than zero. 次の例は、"インデックス パラメーターと長さパラメーターは文字列内の場所を参照している必要があります。The following example fails with the error "The index and length parameters must refer to a location within the string. インデックス パラメーター:'0'、長さパラメーター:'11'、文字列パラメーターの長さ:'10'。" というエラーで失敗します。The index parameter: '0', the length parameter: '11', the length of the string parameter: '10'.".

"parameters": {
    "inputString": { "type": "string", "value": "1234567890" }
},
"variables": { 
    "prefix": "[substring(parameters('inputString'), 0, 11)]"
}

Examples

次のテンプレート例では、パラメーターから部分文字列を抽出します。The following example template extracts a substring from a parameter.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "testString": {
            "type": "string",
            "defaultValue": "one two three"
        }
    },
    "resources": [],
    "outputs": {
        "substringOutput": {
            "value": "[substring(parameters('testString'), 4, 3)]",
            "type": "string"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
substringOutputsubstringOutput stringString twotwo

taketake

take(originalValue, numberToTake)

文字列の先頭から指定した数の文字を含む文字列を、または配列の先頭から指定した数の要素を含む配列を返します。Returns a string with the specified number of characters from the start of the string, or an array with the specified number of elements from the start of the array.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
originalValueoriginalValue はいYes 配列または文字列array or string 要素の取得元となる配列または文字列。The array or string to take the elements from.
numberToTakenumberToTake はいYes intint 取得する要素または文字の数。The number of elements or characters to take. この値が 0 以下である場合、空の配列または文字列が返されます。If this value is 0 or less, an empty array or string is returned. 指定された配列または文字列の長さを超過している場合は、その配列または文字列のすべての要素が返されます。If it's larger than the length of the given array or string, all the elements in the array or string are returned.

戻り値Return value

配列または文字列。An array or string.

Examples

次のテンプレート例では、指定した数の要素を配列から取得し、指定した数の文字を文字列から取得します。The following example template takes the specified number of elements from the array, and characters from a string.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "testArray": {
            "type": "array",
            "defaultValue": [
                "one",
                "two",
                "three"
            ]
        },
        "elementsToTake": {
            "type": "int",
            "defaultValue": 2
        },
        "testString": {
            "type": "string",
            "defaultValue": "one two three"
        },
        "charactersToTake": {
            "type": "int",
            "defaultValue": 2
        }
    },
    "resources": [],
    "outputs": {
        "arrayOutput": {
            "type": "array",
            "value": "[take(parameters('testArray'),parameters('elementsToTake'))]"
        },
        "stringOutput": {
            "type": "string",
            "value": "[take(parameters('testString'),parameters('charactersToTake'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
arrayOutputarrayOutput ArrayArray ["one", "two"]["one", "two"]
stringOutputstringOutput stringString onon

toLowertoLower

toLower(stringToChange)

指定された文字列を小文字に変換します。Converts the specified string to lower case.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
stringToChangestringToChange はいYes stringstring 小文字に変換する値。The value to convert to lower case.

戻り値Return value

小文字に変換された文字列。The string converted to lower case.

Examples

次のテンプレート例では、パラメーター値を小文字と大文字に変換します。The following example template converts a parameter value to lower case and to upper case.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "testString": {
            "type": "string",
            "defaultValue": "One Two Three"
        }
    },
    "resources": [],
    "outputs": {
        "toLowerOutput": {
            "value": "[toLower(parameters('testString'))]",
            "type": "string"
        },
        "toUpperOutput": {
            "type": "string",
            "value": "[toUpper(parameters('testString'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
toLowerOutputtoLowerOutput stringString one two threeone two three
toUpperOutputtoUpperOutput stringString ONE TWO THREEONE TWO THREE

toUppertoUpper

toUpper(stringToChange)

指定した文字列を大文字に変換します。Converts the specified string to upper case.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
stringToChangestringToChange はいYes stringstring 大文字に変換する値。The value to convert to upper case.

戻り値Return value

大文字に変換された文字列。The string converted to upper case.

Examples

次のテンプレート例では、パラメーター値を小文字と大文字に変換します。The following example template converts a parameter value to lower case and to upper case.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "testString": {
            "type": "string",
            "defaultValue": "One Two Three"
        }
    },
    "resources": [],
    "outputs": {
        "toLowerOutput": {
            "value": "[toLower(parameters('testString'))]",
            "type": "string"
        },
        "toUpperOutput": {
            "type": "string",
            "value": "[toUpper(parameters('testString'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
toLowerOutputtoLowerOutput stringString one two threeone two three
toUpperOutputtoUpperOutput stringString ONE TWO THREEONE TWO THREE

trimtrim

trim (stringToTrim)

指定された文字列から先頭と末尾の空白文字をすべて削除します。Removes all leading and trailing white-space characters from the specified string.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
stringToTrimstringToTrim はいYes stringstring トリムする値。The value to trim.

戻り値Return value

先頭および末尾の空白文字なし文字列です。The string without leading and trailing white-space characters.

Examples

次のテンプレート例では、パラメーターから空白文字を削除します。The following example template trims the white-space characters from the parameter.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "testString": {
            "type": "string",
            "defaultValue": "    one two three   "
        }
    },
    "resources": [],
    "outputs": {
        "return": {
            "type": "string",
            "value": "[trim(parameters('testString'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
戻り値return stringString one two threeone two three

uniqueStringuniqueString

uniqueString (baseString, ...)

パラメーターとして渡された値に基づいて、決定論的ハッシュ文字列を作成します。Creates a deterministic hash string based on the values provided as parameters.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
baseStringbaseString はいYes stringstring 一意の文字列を作成するためにハッシュ関数で使用される値。The value used in the hash function to create a unique string.
必要に応じて追加のパラメーターadditional parameters as needed いいえNo stringstring 文字列をいくつでも追加して、一意性のレベルを指定する値を作成できます。You can add as many strings as needed to create the value that specifies the level of uniqueness.

解説Remarks

この関数は、リソースの一意の名前を作成する必要がある場合に便利です。This function is helpful when you need to create a unique name for a resource. 結果の一意性のスコープを制限するパラメーターの値を指定します。You provide parameter values that limit the scope of uniqueness for the result. サブスクリプション、リソース グループ、またはデプロイのレベルで名前が一意であるかどうかを指定できます。You can specify whether the name is unique down to subscription, resource group, or deployment.

返される値はランダムな文字列ではなく、ハッシュ関数の結果になります。The returned value isn't a random string, but rather the result of a hash function. 返される値は、13 文字です。The returned value is 13 characters long. グローバルに一意ではありません。It isn't globally unique. 命名規則にあるプレフィックスをこの値と組み合わせて、わかりやすい名前を作成することもできます。You may want to combine the value with a prefix from your naming convention to create a name that is meaningful. 次の例では、戻り値の形式を示します。The following example shows the format of the returned value. 実際の値は、指定されたパラメーターによって異なります。The actual value varies by the provided parameters.

tcvhiyu5h2o5o

次の例は、uniqueString を使用して、よく使用されるレベルで一意の値を作成する方法を示しています。The following examples show how to use uniqueString to create a unique value for commonly used levels.

サブスクリプションのスコープで一意Unique scoped to subscription

"[uniqueString(subscription().subscriptionId)]"

リソース グループのスコープで一意Unique scoped to resource group

"[uniqueString(resourceGroup().id)]"

リソース グループのデプロイのスコープで一意Unique scoped to deployment for a resource group

"[uniqueString(resourceGroup().id, deployment().name)]"

次の例は、リソース グループに基づいてストレージ アカウントの一意の名前を作成する方法を示しています。The following example shows how to create a unique name for a storage account based on your resource group. リソース グループ内では、名前は、同じ方法で作成されると一意ではなくなります。Inside the resource group, the name isn't unique if constructed the same way.

"resources": [{ 
    "name": "[concat('storage', uniqueString(resourceGroup().id))]", 
    "type": "Microsoft.Storage/storageAccounts", 
    ...

テンプレートをデプロイするたびに一意の新しい名前を作成する必要があり、リソースを更新しない場合は、utcNow 関数と共に uniqueString を使用できます。If you need to create a new unique name each time you deploy a template, and don't intend to update the resource, you can use the utcNow function with uniqueString. この方法は、テスト環境で使用できます。You could use this approach in a test environment. 例については、「utcNow」をご覧ください。For an example, see utcNow.

戻り値Return value

13 文字が含まれる文字列。A string containing 13 characters.

Examples

次のテンプレート例は、uniquestring から結果を返します。The following example template returns results from uniquestring:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "resources": [],
    "outputs": {
        "uniqueRG": {
            "value": "[uniqueString(resourceGroup().id)]",
            "type" : "string"
        },
        "uniqueDeploy": {
            "value": "[uniqueString(resourceGroup().id, deployment().name)]",
            "type" : "string"
        }
    }
}

uriuri

uri (baseUri, relativeUri)

baseUri と relativeUri の文字列を組み合わせることにより、絶対 URI を作成します。Creates an absolute URI by combining the baseUri and the relativeUri string.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
baseUribaseUri はいYes stringstring ベース URI 文字列。The base uri string.
relativeUrirelativeUri はいYes stringstring ベース URI 文字列に追加する相対 URI 文字列。The relative uri string to add to the base uri string.

baseUri パラメーターの値には、特定のファイルを含めることができますが、URI の作成時には基本パスだけが使用されます。The value for the baseUri parameter can include a specific file, but only the base path is used when constructing the URI. たとえば、baseUri パラメーターとして http://contoso.com/resources/azuredeploy.json を渡すと、http://contoso.com/resources/ というベース URI が作成されます。For example, passing http://contoso.com/resources/azuredeploy.json as the baseUri parameter results in a base URI of http://contoso.com/resources/.

戻り値Return value

ベース値および相対値の絶対 URI を表す文字列。A string representing the absolute URI for the base and relative values.

Examples

次の例は、親テンプレートの値に基づいて、入れ子になったテンプレートへのリンクを作成する方法を示しています。The following example shows how to construct a link to a nested template based on the value of the parent template.

"templateLink": "[uri(deployment().properties.templateLink.uri, 'nested/azuredeploy.json')]"

次のテンプレート例では、uri、uriComponent、および uriComponentToString を使用する方法を示します。The following example template shows how to use uri, uriComponent, and uriComponentToString:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "variables": {
        "uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
        "uriEncoded": "[uriComponent(variables('uriFormat'))]" 
    },
    "resources": [
    ],
    "outputs": {
        "uriOutput": {
            "type": "string",
            "value": "[variables('uriFormat')]"
        },
        "componentOutput": {
            "type": "string",
            "value": "[variables('uriEncoded')]"
        },
        "toStringOutput": {
            "type": "string",
            "value": "[uriComponentToString(variables('uriEncoded'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
uriOutputuriOutput stringString http://contoso.com/resources/nested/azuredeploy.json
componentOutputcomponentOutput stringString http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.jsonhttp%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutputtoStringOutput stringString http://contoso.com/resources/nested/azuredeploy.json

uriComponenturiComponent

uricomponent(stringToEncode)

URI をエンコードします。Encodes a URI.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
stringToEncodestringToEncode はいYes stringstring エンコード対象の値。The value to encode.

戻り値Return value

URI エンコードされた値の文字列。A string of the URI encoded value.

Examples

次のテンプレート例では、uri、uriComponent、および uriComponentToString を使用する方法を示します。The following example template shows how to use uri, uriComponent, and uriComponentToString:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "variables": {
        "uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
        "uriEncoded": "[uriComponent(variables('uriFormat'))]" 
    },
    "resources": [
    ],
    "outputs": {
        "uriOutput": {
            "type": "string",
            "value": "[variables('uriFormat')]"
        },
        "componentOutput": {
            "type": "string",
            "value": "[variables('uriEncoded')]"
        },
        "toStringOutput": {
            "type": "string",
            "value": "[uriComponentToString(variables('uriEncoded'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
uriOutputuriOutput stringString http://contoso.com/resources/nested/azuredeploy.json
componentOutputcomponentOutput stringString http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.jsonhttp%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutputtoStringOutput stringString http://contoso.com/resources/nested/azuredeploy.json

uriComponentToStringuriComponentToString

uriComponentToString(uriEncodedString)

URI エンコードされた値の文字列を返します。Returns a string of a URI encoded value.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
uriEncodedStringuriEncodedString はいYes stringstring 文字列に変換する URI エンコードされた値。The URI encoded value to convert to a string.

戻り値Return value

URI エンコードされた値のデコード済み文字列。A decoded string of URI encoded value.

Examples

次のテンプレート例では、uri、uriComponent、および uriComponentToString を使用する方法を示します。The following example template shows how to use uri, uriComponent, and uriComponentToString:

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "variables": {
        "uriFormat": "[uri('http://contoso.com/resources/', 'nested/azuredeploy.json')]",
        "uriEncoded": "[uriComponent(variables('uriFormat'))]" 
    },
    "resources": [
    ],
    "outputs": {
        "uriOutput": {
            "type": "string",
            "value": "[variables('uriFormat')]"
        },
        "componentOutput": {
            "type": "string",
            "value": "[variables('uriEncoded')]"
        },
        "toStringOutput": {
            "type": "string",
            "value": "[uriComponentToString(variables('uriEncoded'))]"
        }
    }
}

既定値を使用した場合の前の例の出力は次のようになります。The output from the preceding example with the default values is:

NameName TypeType Value
uriOutputuriOutput stringString http://contoso.com/resources/nested/azuredeploy.json
componentOutputcomponentOutput stringString http%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.jsonhttp%3A%2F%2Fcontoso.com%2Fresources%2Fnested%2Fazuredeploy.json
toStringOutputtoStringOutput stringString http://contoso.com/resources/nested/azuredeploy.json

utcNowutcNow

utcNow(format)

指定された形式で現在 (UTC) の datetime 値を返します。Returns the current (UTC) datetime value in the specified format. 形式が指定されていない場合は、ISO 8601 (yyyyMMddTHHmmssZ) 形式を使用します。If no format is provided, the ISO 8601 (yyyyMMddTHHmmssZ) format is used. この関数は、パラメーターの既定値でのみ使用できます。This function can only be used in the default value for a parameter.

parametersParameters

パラメーターParameter 必須Required TypeType 説明Description
formatformat いいえNo stringstring 文字列に変換する URI エンコードされた値。The URI encoded value to convert to a string. 標準書式指定文字列またはカスタム書式指定文字列を使用します。Use either standard format strings or custom format strings.

解説Remarks

この関数は、パラメーターの既定値に対する式の中でのみ使用できます。You can only use this function within an expression for the default value of a parameter. この関数をテンプレートのその他の場所で使用すると、エラーが返されます。Using this function anywhere else in a template returns an error. テンプレートの他の場所でこの関数を使用することは、呼び出しのたびに異なる値が返されるため、許可されていません。The function isn't allowed in other parts of the template because it returns a different value each time it's called. 同じパラメーターで同じテンプレートをデプロイしても、同じ結果が生成される保証はありません。Deploying the same template with the same parameters wouldn't reliably produce the same results.

以前の正常なデプロイを再デプロイするオプションを使用し、以前のデプロイに utcNow を使用するパラメーターが含まれている場合、パラメーターは再評価されません。If you use the option to redeploy an earlier successful deployment, and the earlier deployment includes a parameter that uses utcNow, the parameter isn't reevaluated. 代わりに、以前のデプロイのパラメーター値が、ロールバック デプロイで自動的に再利用されます。Instead, the parameter value from the earlier deployment is automatically reused in the rollback deployment.

既定値に対する utcNow 関数に依存するテンプレートを再デプロイするときは注意が必要です。Be careful redeploying a template that relies on the utcNow function for a default value. 再デプロイを行うときに、パラメーターの値を指定しないと、関数が再評価されます。When you redeploy and don't provide a value for the parameter, the function is reevaluated. 新しいリソースを作成するのではなく、既存のリソースを更新する場合は、以前のデプロイのパラメーター値を渡します。If you want to update an existing resource rather than create a new one, pass in the parameter value from the earlier deployment.

戻り値Return value

現在の UTC の datetime 値。The current UTC datetime value.

Examples

次の例のテンプレートでは、datetime 値のさまざまな形式を示します。The following example template shows different formats for the datetime value.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "utcValue": {
            "type": "string",
            "defaultValue": "[utcNow()]"
        },
        "utcShortValue": {
            "type": "string",
            "defaultValue": "[utcNow('d')]"
        },
        "utcCustomValue": {
            "type": "string",
            "defaultValue": "[utcNow('M d')]"
        }
    },
    "resources": [
    ],
    "outputs": {
        "utcOutput": {
            "type": "string",
            "value": "[parameters('utcValue')]"
        },
        "utcShortOutput": {
            "type": "string",
            "value": "[parameters('utcShortValue')]"
        },
        "utcCustomOutput": {
            "type": "string",
            "value": "[parameters('utcCustomValue')]"
        }
    }
}

前の例からの出力はデプロイごとに変わりますが、次のようになります。The output from the preceding example varies for each deployment but will be similar to:

NameName TypeType Value
utcOutpututcOutput stringstring 20190305T175318Z20190305T175318Z
utcShortOutpututcShortOutput stringstring 03/05/201903/05/2019
utcCustomOutpututcCustomOutput stringstring 3 53 5

次の例では、タグ値を設定するときに関数からの値を使用する方法を示します。The next example shows how to use a value from the function when setting a tag value.

{
    "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "utcShort": {
            "type": "string",
            "defaultValue": "[utcNow('d')]"
        },
        "rgName": {
            "type": "string"
        }
    },
    "resources": [
        {
            "type": "Microsoft.Resources/resourceGroups",
            "apiVersion": "2018-05-01",
            "name": "[parameters('rgName')]",
            "location": "westeurope",
            "tags":{
                "createdDate": "[parameters('utcShort')]"
            },
            "properties":{}
        }
    ],
    "outputs": {
        "utcShort": {
            "type": "string",
            "value": "[parameters('utcShort')]"
        }
    }
}

次の手順Next steps