我试图通过其余的api更新全局转发规则的目标,但我无法让它工作。 此命令在控制台中有效。
gcloud compute forwarding-rules set-target fw-rule --global --target-http-proxy lb-target-proxy
但是,如果我使用node.js lib或文档提供的API资源管理器: https://cloud.google.com/compute/docs/reference/rest/v1/globalForwardingRules/setTarget
"message": "Invalid value for field 'target.target': 'lb-target-proxy'. The URL is malformed."
答案 0 :(得分:0)
根据the docs:
目标:用于接收匹配流量的目标资源的网址。
因此目标必须是资源的完整URL,而不仅仅是ID。
尝试list
methof of the same API可能更容易。在那里你会看到目标的格式:
import operator
ops = { "+": operator.add, "*": operator.mul, "-": operator.sub } # etc.
opers = ['+','*','-']
arr = [55, 3, 45, 33, 25] # needs to work for any length of arr
def iterate(previous_iterator):
for previous_list in previous_iterator:
for oper in opers:
yield [oper] + previous_list
operator_iterator = [[]]
for i in range(len(arr) - 1):
operator_iterator = iterate(operator_iterator)
for operator_list in operator_iterator:
x = arr[0]
for operator, value in zip(operator_list, arr[1:]):
x=ops[operator](x, value)
if x % 101 == 0:
print(operator_list)
# ['*', '+', '-', '+']
# ['+', '-', '*', '-']