使用Google Cloud Function生成用于SAP机器学习模型的数据
添加时间:2020-11-16 15:26:21
来源:
先决条件:在Google Cloud Platform上部署云功能
您是否在搜索数据以在线训练模型?如果我们告诉您仅用几行代码就可以生成自己的数据该怎么办?
您只需要一个Google Cloud Platform帐户,并且知道如何将简单代码部署到Cloud Function。我们将使用Google表格存储数据。您可以使用Cloud SQL或Google Cloud Storage Bucket或Firebase来存储数据。您需要做的就是启用必要的API。
启用API并创建凭据:
在Cloud Console中转到Marketplace。
点击启用API和服务
然后搜索Google Drive API并启用它
然后转到屏幕左侧导航栏上的“凭据”选项卡。
然后单击“创建凭据”,然后选择“服务帐户密钥”
然后通过给它命名来创建一个新的服务帐户,并将“角色”设置为“项目”子字段下的“编辑器”,并将密钥类型保持为JSON,然后单击“创建”按钮。妥善保存下载的JSON。
完成所有这些步骤后,您的页面应如下所示
主屏幕
再次转到仪表板,然后按照相同的步骤进行操作。这次搜索Google表格并启用API。
创建电子表格
在Google表格中创建电子表格
在字段client_email中查找下载的JSON文件,然后复制该电子邮件。
打开新创建的电子表格,然后单击共享选项,然后在其中键入client_email粘贴。
这样,无聊的部分就完成了。现在,让我们进入代码。
设置云功能
创建一个新的Cloud Function并将运行时更改为Python 3.7
转到requirements.txt并删除样板文本,并在其中添加以下几行。
gspread> = 3.1.0
oauth2client> = 4.1.3
现在,最重要和最好的部分就是编写代码。删除整个样板代码并粘贴以下代码
filter_none
编辑
play_arrow
亮度_4
import gspread
from oauth2client.service_account import ServiceAccountCredentials
from datetime import datetime
def update(request):
# geting the variables ready
data = {
# your client_json contents as dictionary
}
request_json = request.get_json()
request_args = request.args
temp = ""
if request_json and 'temp' in request_json:
temp = request_json['temp']
elif request_args and 'temp' in request_args:
temp = request_args['temp']
# use creds to create a client to interact with the Google Drive API
scope = ['https://spreadsheets.google.com/feeds', 'https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_dict(data, scope)
client = gspread.authorize(creds)
# Find a workbook by name and open the first sheet
# Make sure you use the right name here.
sheet = client.open("Temperature").sheet1
row = [datetime.now().strftime("% d/% m/% Y % H:% M:% S"), temp]
index = 2
sheet.insert_row(row, index)
代码说明–
->首先,我们获得了必要的进口。gspread是用于执行Google表格处理的库。然后,我们导入oauth2client。这将处理我们对生成的凭据的身份验证。然后,我们将导入datetime以正确记录具有当前时间和日期的数据。
->进入upate(request),首先我们将凭据添加到数据字典中。然后,我们将用户请求参数存储在名为request_json的变量中,然后初始化temp,然后将“ temp”键值分配给该变量。
->我们正在定义验证范围。我们正在使用oauth2client在指定范围内进行必要的身份验证。
然后,通过在其中指定工作表名称来打开您的Google Spreadsheet。然后,我们将记录的日期和时间以及参数插入工作表的索引变量中的指定行。
现在在要执行的函数中键入upate,然后单击ddeploy
之后,您的Cloud Function页面应如下所示。
云功能
之后,您需要单击函数名称,此处为function-1。
功能
然后,转到Trigger选项卡。
网址
之后,请注意其中显示的URL。这是您将发送GET请求以及数据参数以将参数值添加到电子表格的URL。
设置IoT设备
您可以使用Nodemcu或Arduino将数据发送到Google Sheets,但是您将需要WiFi模块以及它,当然,也可以使用Raspberry Pi。现在,您要做的就是将http请求以及参数(这里是temp或temperature )发送到Cloud Function URL 。这将编辑电子表格并将参数值添加到电子表格。
话虽如此,这就是您如何使用Cloud Functions将数据记录到Google表格的方法。您可以对Cloud SQL或任何其他存储方式执行相同的操作。存储的数据可用作其相关机器学习模型的训练数据。