В Azure Logic Apps я пытаюсь получить идентификатор Teams после его создания из HTTP-запроса. Затем я использовал Compose и Parse JSON, чтобы увидеть результаты.
Результаты будут выглядеть следующим образом (сокращенная версия):
"body": { "Location": "/teams('TeamsID')/operations ('operation ID')", "request-id": "request ID", "Content-Lenght": "0"
TeamsID будет разным при каждом запуске, поэтому я не могу настроить его как статическую переменную. Я пытаюсь получить TeamsID, чтобы позже настроить его как переменную.
То, что вы предоставили, даже не имеет идентификатора команды. Можете ли вы предоставить полный реальный пример? Отредактируйте/запутайте все конфиденциальное, но полный пример в формате JSON поможет, И, да… ожидаемый результат.
Я предполагаю, что вывод действительно выглядит так, как указано - { "Location": "/teams('AAA-BBB-CCC-DDD')/operations('AAAA-BB-CCC-DDD')", "Strict-Transport-Security": "max-age=31536000", "request-id": "CCC-CCCC-CCC-CCCC", "client-request-id": "CCCC-CCCC-CCCC", "x-ms-ags-diagnostic": "{\"ServerInfo\":{\"DataCenter\":\"UK South\",\"Slice\":\"E\",\"Ring\":\"5\",\"ScaleUnit\":\"004\",\"RoleInstance\":\"LO1PEPF0000323A\"}}", "Date": "Sat, 1 Jul 2024 16:20:34 GMT", "Content-Location": "/teams('AAA-BBB-CCC-DDD')", "Content-Length": "0" }
- с одинарными кавычками и т. д., а не так, как указано, например. в этой статье Microsoft: Создавайте команды и управляйте участниками с помощью API Microsoft Teams. В любом случае, если формат вывода в вашем вопросе неправильный, подход к извлечению идентификатора Teams все равно будет аналогичен описанному ниже.
Шаг 1. Инициализируйте пустую строковую переменную:
Шаг 2 — Создайте команду с помощью HTTP-запроса, получите ответ в ожидаемом формате:
{
"Location": "/teams('AAA-BBB-CCC-DD1')/operations('AAAA-BB-CCC-DD2')",
"Strict-Transport-Security": "max-age=31536000",
"request-id": "CCC-CCCC-CCC-CCC3",
"client-request-id": "CCCC-CCCC-CCC4",
"x-ms-ags-diagnostic": "{\"ServerInfo\":{\"DataCenter\":\"UK South\",\"Slice\":\"E\",\"Ring\":\"5\",\"ScaleUnit\":\"004\",\"RoleInstance\":\"LO1PEPF0000323A\"}}",
"Date": "Sat, 1 Jul 2024 16:20:34 GMT",
"Content-Location": "/teams('AAA-BBB-CCC-DD5')",
"Content-Length": "0"
}
Шаг 3. Извлеките значение идентификатора Teams, сначала разделив значение Location
, используя косую черту в качестве разделителя, а затем разделив второй элемент массива результатов, используя одинарную кавычку в качестве разделителя; второй элемент этого массива будет содержать значение, которое вам нужно присвоить вашей переменной:
@{split(split(body('Create_a_team')?['Location'], '/')?[1], '''')?[1]}
Результат:
Мне удалось заставить его работать, используя Compose, а затем вашу функцию разделения и после этого добавив переменную set с выходными данными. Что касается того, почему этот способ работает, я понятия не имею, очень ценю ваше руководство.
каков ваш ожидаемый результат?