小编pra*_*HiC的帖子

Rust:如何限制派生特征的类型参数

我正在尝试编写一个通用函数,该函数采用指向 csv 文件的 Path,解析该文件并将其反序列化为某种类型的记录向量,然后返回记录向量。

这是我的代码:

[dependencies]
csv = "1.1"
serde = { version = "1.0", features = ["derive"] }
Run Code Online (Sandbox Code Playgroud)

首先是编译良好的特定类型版本:

use csv;
use serde::Deserialize;
use std::path::Path;

#[derive(Debug, Deserialize)]
struct Person {
    name: String,
    fav_colour: String,
}

#[derive(Debug, Deserialize)]
struct Car {
    make: String,
    year: u8,
}

fn main() {}

fn parse_csv(file_path: &Path) -> Vec<Person> {
    // Create the csv reader
    let mut csv_reader = csv::Reader::from_path(file_path).unwrap();

    // Parse the csv and collect records
    let records: Vec<Person> = csv_reader
        .deserialize()
        .map(|record: Result<Person, …
Run Code Online (Sandbox Code Playgroud)

generic-programming rust serde

5
推荐指数
1
解决办法
3781
查看次数

如何使用 Terraform 启用 Cognito“电子邮件地址或电话号码”登录?

我正在尝试使用 Terraform 创建新的 AWS Cognito 用户池,目前遇到以下问题:

我一直在尝试获取电子邮件地址或电话号码->允许选择电子邮件地址(如下以红色显示),而不是当前选择的地址(用户名->还允许使用经过验证的电子邮件地址登录

AWS Cognito 的屏幕截图

我的文件的相关部分main.tf如下所示:

resource "aws_cognito_user_pool" "app_cognito_user_pool" {
  name = "app_cognito_user_pool"

  alias_attributes         = ["email"]
  auto_verified_attributes = ["email"]
  account_recovery_setting {
    recovery_mechanism {
      name     = "verified_email"
      priority = 1
    }
  }
}

resource "aws_cognito_user_pool_client" "app_cognito_user_pool_client" {
  name         = "app_cognito_user_pool_client"
  user_pool_id = aws_cognito_user_pool.app_cognito_user_pool.id

  prevent_user_existence_errors = "ENABLED"
  supported_identity_providers  = ["COGNITO"]
}


resource "aws_cognito_user_pool_domain" "app_cognito_user_pool_domain" {
  domain       = "app"
  user_pool_id = aws_cognito_user_pool.app_cognito_user_pool.id
}
Run Code Online (Sandbox Code Playgroud)

无论我尝试什么,我总是选择Username,而不是电子邮件地址或电话号码。我希望用户池不要使用用户名,而是使用电子邮件地址。

我缺少哪些 …

amazon-web-services amazon-cognito terraform terraform-provider-aws

4
推荐指数
1
解决办法
2067
查看次数

PostgreSQL COPY FROM STDIN 不工作,但 FROM PATH 工作

在 PostgreSQL 中,我之前创建了一个像这样的表:

CREATE TABLE IF NOT EXISTS stock_data (
  code varchar,
  date date,
  open decimal,
  high decimal,
  low decimal,
  close decimal,
  volume decimal,
  UNIQUE (code, date)
);
Run Code Online (Sandbox Code Playgroud)

这个想法是将多个 csv 文件导入到这个表中。我的方法是使用 COPY ... FROM STDIN 而不是 COPY ... FROM '/path/to/file',因为我希望能够cat从 shell 获取多个 csv 文件并将它们通过管道传输到 sql 脚本。完成此操作的 sql 脚本目前如下所示:

CREATE TEMPORARY TABLE IF NOT EXISTS stock_data_tmp (
  code varchar,
  ddate varchar,
  open decimal,
  high decimal,
  low decimal,
  close decimal,
  volume decimal,
  UNIQUE (code, ddate)

);

\copy stock_data_tmp FROM STDIN …
Run Code Online (Sandbox Code Playgroud)

sql linux postgresql cat

3
推荐指数
1
解决办法
4028
查看次数