创建arm模板时,是否可以使用常量字符串连接数组的每个元素?下面是我创建的参数和我尝试创建的资源。
"parameters": {
"servicesNames": {
"type": "array",
"defaultValue": [
"test-api-content",
"test-svc-content"
]
}
}
{
"apiVersion": "2016-03-30",
"type": "Microsoft.Network/publicIPAddresses",
"name": "[concat(parameters('servicesNames'),'pip')]",
"location": "[resourceGroup().location]",
"copy": {
"name": "PIPaddresscopy",
"count": "[length(parameters('servicesNames'))]"
},
"tags": {
"displayName": "PublicIPAddress"
}
}
我希望使用
创建资源名称的输出“测试API-contentpip”
我怎么会收到以下错误
语言功能'concat'提供的参数无效。 全部或全部参数都必须是数组
请建议我如何连接元素的每个值
答案 0 :(得分:2)
只是添加到现有答案(因为我认为有点不清楚)。
您要对代码执行的操作 - 使用字符串连接数组,您需要做的是使用字符串连接数组的每个元素。
有一个copyIndex()
函数表示循环的当前迭代。并且您可以使用array[number]
来访问阵列的特定成员。所以
parameters('servicesNames')[copyIndex()]
表示您的parameters('servicesNames')[0]
和parameters('servicesNames')[1]
。这实际上意味着你已经迭代了这个数组。
答案 1 :(得分:-1)
您可以通过修改 publicIpAddress 资源的名称属性来连接元素的每个值,如下所示。
public class AutoService extends AccessibilityService
{
@TargetApi(16)
@Override
public void onAccessibilityEvent(AccessibilityEvent event)
{
AccessibilityNodeInfo source = event.getSource();
myAdapter.processEvent(source);
}
}
public class myAdapter
{
public static void processEvent(final AccessibilityNodeInfo source)
{
final StringBuilder sb = new StringBuilder();
processSubEvent(source, 0, sb);
final String string = sb.toString();
if (string == null)
{
return;
}
clickScreen(source, string.toLowerCase());
}
private static void processSubEvent(final AccessibilityNodeInfo source, final int n, final StringBuilder sb) {
for (int i = 0; i < n; ++i) {
sb.append("\t");
}
if (source != null)
{
sb.append(source.getText());
sb.append("\n");
final int childCount = source.getChildCount();
for (int i = 0; i < childCount; i++)
{
AccessibilityNodeInfo child = source.getChild(i);
processSubEvent(child, n + 1, sb);
if (child != null)
{
child.recycle();
}
}
}
}
private static void clickScreen(final AccessibilityNodeInfo source, final String text)
{
List<AccessibilityNodeInfo> list = source.findAccessibilityNodeInfosByText(text);
for (final AccessibilityNodeInfo node : list)
{
node.performAction(AccessibilityNodeInfo.ACTION_CLICK);
}
}
}
<强> copyIndex 强>
此功能始终与复制对象一起使用。
如果没有为offset提供值,则返回当前迭代值。迭代值从零开始。