python - 如何使用 Azure 计时器功能运行 python 脚本?
问题描述
我对 Azure 非常陌生,并且能够生成以下init .py 文件:
import datetime
import logging
import azure.functions as func
def main(mytimer: func.TimerRequest) -> None:
utc_timestamp = datetime.datetime.utcnow().replace(
tzinfo=datetime.timezone.utc).isoformat()
HubspotIngest() #is this where my function goes? Send help pls.
if mytimer.past_due:
logging.info('The timer is past due!')
logging.info('Python timer trigger function ran at %s', utc_timestamp)
连同相关的 function.json:
{
"scriptFile": "__init__.py",
"bindings": [
{
"name": "mytimer",
"type": "timerTrigger",
"direction": "in",
"schedule": "0 0 0 * * *"
}
]
}
但不知道在哪里输入我的代码,所以 Azure 知道当计时器触发时要运行什么:
from numpy import dtype
import pandas as pd
import requests
import datetime
def HubspotIngest():
df = pd.DataFrame()
print(9)
api_client = HubSpot(api_key= key)
x = requests.get('link')
data = x.json()
for i in range(0, len(data['objects'])):
Id = data['objects'][i]['id']
sent = data['objects'][i]['publishDate']
From = data['objects'][i]['fromName']
subject = data['objects'][i]['subject']
analytics.track('Newsletter', {'datasource': 'hubspot', 'timestamp': datetime.datetime.now(),'id': Id, 'sent':sent, 'from': From, 'subject': subject})
df2 = {'datasource': 'hubspot', 'id': Id, 'sent':sent, 'from': From, 'subject': subject}
df = dfappend(df1, ignore_index = True)
感谢您的时间!
解决方案
如果我理解正确,您可以将代码HubspotIngest
放入__init__.py
:
import datetime
import logging
from numpy import dtype
import pandas as pd
import requests
import datetime
import azure.functions as func
def main(mytimer: func.TimerRequest) -> None:
utc_timestamp = datetime.datetime.utcnow().replace(
tzinfo=datetime.timezone.utc).isoformat()
if mytimer.past_due:
logging.info('The timer is past due!')
logging.info('Python timer trigger function ran at %s', utc_timestamp)
HubspotIngest()
def HubspotIngest():
df = pd.DataFrame()
print(9)
api_client = HubSpot(api_key= key)
x = requests.get('link')
data = x.json()
for i in range(0, len(data['objects'])):
Id = data['objects'][i]['id']
sent = data['objects'][i]['publishDate']
From = data['objects'][i]['fromName']
subject = data['objects'][i]['subject']
analytics.track('Newsletter', {'datasource': 'hubspot', 'timestamp': datetime.datetime.now(),'id': Id, 'sent':sent, 'from': From, 'subject': subject})
df2 = {'datasource': 'hubspot', 'id': Id, 'sent':sent, 'from': From, 'subject': subject}
df = dfappend(df1, ignore_index = True)
推荐阅读
- reactjs - 显示预期分配或功能调用错误的代码
- node.js - 根据 id 和 Objectid 更新特定对象的数组
- reactjs - 反应状态正在更新而不调用 setState
- typescript - angular2-multiselect-dropdown onAddFilterNewItem 不起作用
- python - 如何阻止特定单元格在 google colab 中运行?
- java - 如果上传的图像大于指定大小,需要向 CMS 作者显示通知消息
- javascript - 实现购物车 JavaScript
- reactjs - React 不会在状态更改时重新渲染
- sql-server - 根据一列中的值从查询中删除重复行
- elixir - 像 GPIO read forever 这样的任务应该是递归函数还是 GenServer?