如何使用AWS Lambda的AWS Personalize实时市场活动调用?

时间:2019-03-04 07:13:58

标签: python amazon-web-services aws-lambda aws-sdk recommendation-engine

AWS Personalize是Amazon的一项新服务,用于个性化推荐。由于此服务尚未集成到boto3中,如何从Lambda函数中使用它。 有一种方法可以使用python从本地调用此方法,并在步骤3-6 AWS Python SDK

中提到了一些其他步骤

但是,这涉及下载一些JSON并将模型添加到AWS服务。

我们将不胜感激!

1 个答案:

答案 0 :(得分:3)

我知道它是这样工作的:

public DataTable getMatchedColumnAndValue(DataTable dt1, DataTable dt2)
{
   try
   {

      var ndt = new DataTable();
      //creating columns for the table
      var dt1columns = dt1.Columns.Cast<DataColumn>().Select(s => s.ColumnName).ToList();
      var dt2columns = dt2.Columns.Cast<DataColumn>().Select(s => s.ColumnName).ToList();
      var MatchedCol = dt1columns.Intersect(dt2columns).ToList();
      foreach (var col in MatchedCol)
      {
         ndt.Columns.Add(col);
      }
      //creating columsn matcehd row
      var drnew = new string[MatchedCol.Count];
      for (int i = 0; i < MatchedCol.Count; i++)
      {
         if (dt1.Rows[0][MatchedCol[i]].ToString() == dt2.Rows[0][MatchedCol[i]].ToString())
              drnew[i] = dt1.Rows[0][MatchedCol[i]].ToString();
         else
              drnew[i] = null;
      }
      ndt.Rows.Add(drnew);

      //removing null value columns
      foreach (var col in MatchedCol)
      {
         if (ndt.AsEnumerable().All(dr => dr.IsNull(col)))
             ndt.Columns.Remove(col);
      }

      return ndt;
    }
    catch (Exception ex)
    {
       throw ex;
    }
}

您需要向lambda添加一个环境变量:AWS_DATA_PATH == / tmp / models