Как использовать функцию Azure (Python) в качестве набора данных HTTP в фабрике данных Azure - PullRequest
0 голосов
/ 24 сентября 2018

Я получаю тайм-ауты подключения, когда пытаюсь создать набор данных (HTTP) в фабрике данных Azure, основанной на функции Azure (триггер HTTP):

  The cloud service request timed out. Please retry. Activity ID:9d70efcd-c842-4484-9313-4872208a2a9e

Однако, если я вызываю функциюоткуда угодно, например, с apitester.com , я получаю желаемый ответ:

Исходный код функции HttpTriggerPython32 выглядит следующим образом:

import os, sys, json
from datetime import datetime

postreqdata = json.loads(open(os.environ['req']).read())

responseData = {
    'timestamp' : datetime.now(pytz.timezone("Europe/Zurich")).strftime("%Y-%m-%d %H:%M:%S"),
    'python_version' : sys.version
}

response = open(os.environ['res'], 'w')
response.write(str(responseData))

Iуспешно добавили другие сторонние службы HTTP в виде наборов данных на фабрике данных.Кроме того, мне удалось вызвать функцию с помощью веб-активности.Ошибка возникает только при попытке использовать функцию в качестве источника набора данных.

Чтобы добавить функцию в качестве набора данных фабрики данных, я создал новый набор данных со следующими параметрами:

{
    "name": "HttpFile1",
    "properties": {
        "linkedServiceName": {
            "referenceName": "AF_srfscadapa_af1",
            "type": "LinkedServiceReference"
        },
        "type": "HttpFile",
        "typeProperties": {
            "format": {
                "type": "JsonFormat",
                "filePattern": "setOfObjects"
            },
            "relativeUrl": "HttpTriggerPython32?code=L5WVNJh8loDv3mZFcD/AKatNRoYfYoHlDbEBk4AEGrbDA39ddAXsyg==",
            "requestMethod": "Post",
            "requestBody": "{\n    \"group_name\": \"Azure POC\"\n}"
        }
    }
}

связанная служба "AF_srfscadapa_af1" настроена следующим образом:

  • Подключение через среду выполнения интеграции: AutoResolveIntegrationRuntime
  • Базовый URL: https://srf -scadapa-fa2-windows.azurewebsites.net/ api /
  • Проверка сертификата сервера: False
  • Тип аутентификации: Анонимный

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Функции Azure (наряду с почти всеми безсерверными платформами) должны иметь дело с проблемой задержки при холодном запуске, когда первый запрос к функциональному приложению после периода неиспользования занимает больше времени.Это связано с тем, что платформе необходимо создать экземпляр вашего приложения перед обслуживанием запроса.Это может добавить нетривиальное количество времени к запросу, что могло бы увеличить вашу задержку по сравнению с тем, что разрешено тайм-аутом по умолчанию для озера данных Azure.

Согласно документации для фабрики данных Azure, Действия копирования с HTTP в качестве источника имеют поле тайм-аута.Настройка этого значения на более высокое может решить эту проблему.

0 голосов
/ 24 сентября 2018

Ручное определение всех столбцов источника и увеличение времени ожидания в операции копирования решило проблему.

Я использовал графический интерфейс фабрики данных, где невозможно установить время ожидания для предварительного просмотра источника или импортасхема.Так что в данном конкретном случае функция «Импорт схемы» просто не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...