小编API*_*API的帖子

Gitlab CI - 查找使用的管道变量

当您从 Gitlab UI 运行管道时,您可以向运行添加变量:

在此输入图像描述

从已完成的管道的概述中,有没有办法找到特定运行的设置变量和值?

gitlab gitlab-ci

13
推荐指数
1
解决办法
1万
查看次数

PostgreSQL比较两个jsonb对象

使用PostgreSQL(v9.5),JSONB格式提供了很棒的机会.但现在我陷入了一个看似简单的操作;

比较两个jsonb对象; 看一个文档中哪个与另一个文档相比有什么不同或缺失.

到目前为止我有什么

WITH reports(id,DATA) AS (
          VALUES (1,'{"a":"aaa", "b":"bbb", "c":"ccc"}'::jsonb),
                 (2,'{"a":"aaa", "b":"jjj", "d":"ddd"}'::jsonb) )
SELECT jsonb_object_agg(anon_1.key, anon_1.value)
FROM
  (SELECT anon_2.key AS KEY,
      reports.data -> anon_2.KEY AS value
   FROM reports,
     (SELECT DISTINCT jsonb_object_keys(reports.data) AS KEY
      FROM reports) AS anon_2
   ORDER BY reports.id DESC) AS anon_1
Run Code Online (Sandbox Code Playgroud)

应该返回第1行与第2行的差异:

'{"b":"bbb", "c":"ccc", "d":null}'
Run Code Online (Sandbox Code Playgroud)

相反,它也返回duplicates({"a": "aaa"}).也; 一般来说可能会有更优雅的方法!

postgresql jsonb postgresql-9.5

9
推荐指数
3
解决办法
8472
查看次数

使用 cURL 使用 JSON 密钥文件进行 Google Cloud 身份验证

我有一个 Google Cloud 的 JSON 密钥文件,格式如下:

{
  "type": "service_account",
  "project_id": "###",
  "private_key_id": "###",
  "private_key": "-----BEGIN PRIVATE KEY-----\n
  ########################################
  \n-----END PRIVATE KEY-----\n",
  "client_email": "###@###.gserviceaccount.com",
  "client_id": "###",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/###.gserviceaccount.com"
}
Run Code Online (Sandbox Code Playgroud)

我想access_token使用常规 curl 命令而不是GCP Console或安装gcloud 工具来获得一段时间。

我希望是这样的:

{
  "type": "service_account",
  "project_id": "###",
  "private_key_id": "###",
  "private_key": "-----BEGIN PRIVATE KEY-----\n
  ########################################
  \n-----END PRIVATE KEY-----\n",
  "client_email": "###@###.gserviceaccount.com",
  "client_id": "###",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/###.gserviceaccount.com"
}
Run Code Online (Sandbox Code Playgroud)

curl oauth google-oauth google-cloud-platform gcloud

8
推荐指数
1
解决办法
1855
查看次数

如何在 SQLAlchemy 查询中使用 sum 和 order by

我正在尝试从我的表中返回一个总和行,并使用总和结果进行排序。

我的 sql 是这样的:

self.db_user_online.query(
    MeleeGameData,
    func.sum(MeleeGameData.core_data).label("ct")
).\
    group_by(MeleeGameData.ccid).\
    filter_by(mid=self.cycle_id).\
    order_by("ct desc").\
    all()
Run Code Online (Sandbox Code Playgroud)

调试echo sql:

SELECT fiels..., sum(t_act_melee_game_data.core_data) AS ct
FROM t_act_melee_game_data
WHERE t_act_melee_game_data.mid = %s
GROUP BY t_act_melee_game_data.ccid
ORDER BY ct DESC
Run Code Online (Sandbox Code Playgroud)

但它不能工作..

python mysql sqlalchemy

6
推荐指数
1
解决办法
3685
查看次数

大熊猫用最接近的非数字值进行插值

我有一个带有日期时间索引的数字和非数字值的数据框:

df = pd.DataFrame([
    {'date': datetime(2017, 4, 24, 1), 'a':1, 'b':2, 'c': "hee"},
    {'date': datetime(2017, 4, 24, 2), 'a':2, 'b':4, 'c': 'hoo'},
    {'date': datetime(2017, 4, 24, 3), 'a':4, 'b':8, 'c': 'joo'},
    {'date': datetime(2017, 4, 24, 4), 'a':8, 'b':16, 'c': 'jee'}
]).set_index('date')
Run Code Online (Sandbox Code Playgroud)

我想要:

  • 线性插值数值;和
  • 获取非数字值的最接近值。

什么是最优雅的实现?

策略一

插入所有,然后fillna

df = df.resample('20T').interpolate('linear')
df.fillna(method='nearest')
Run Code Online (Sandbox Code Playgroud)

但是……该nearest方法没有实现。

策略二

拆分数字和非数字列

df2 = df.resample('20T')
df_a = df2._get_numeric_data().interpolate('linear')
df_b = df2[list(set(df.columns) - set(set(df_a.columns)))].interpolate('nearest')
Run Code Online (Sandbox Code Playgroud)

这给出了一个错误:

类型错误:无法插入所有 NaN。

更新

使用最近方法进行插值确实适用于布尔值和数值,但不适用于字符串,例如:

df.resample('20T').intepolate('nearest')
Run Code Online (Sandbox Code Playgroud)

datetime python-3.x pandas

6
推荐指数
1
解决办法
2116
查看次数

GitLab Kubernetes集成错误; Helm Tiller的配置已经存在

通过Operations> Kubernetes将我的Gitlab repo连接到我的自制Kubernetes集群之后,我想通过GUI安装Helm Tiller; 但我得到:

安装Helm Tiller时出错了

Kubernetes错误:configmaps"values-content-configuration-helm"已经存在

群集上没有正在运行的pod并kubectl version返回:

客户端版本:version.Info {Major:"1",Minor:"11",GitVersion:"v1.11.2",GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239",GitTreeState:"clean",BuildDate:"2018-08-07T23:17: 28Z",GoVersion:"go1.10.3",编译:"gc",平台:"linux/amd64"}

服务器版本:version.Info {Major:"1",Minor:"11",GitVersion:"v1.11.2",GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239",GitTreeState:"clean",BuildDate:"2018-08-07T23:08: 19Z",GoVersion:"go1.10.3",编译:"gc",平台:"linux/amd64"}

更新

输出kubectl get cm --all-namespaces:

NAMESPACE           NAME                              DATA AGE
gitlab-managed-apps values-content-configuration-helm 3    7d
...
Run Code Online (Sandbox Code Playgroud)

删除此命名空间可以解决问题!

gitlab kubernetes

6
推荐指数
1
解决办法
1634
查看次数

pg_dump 并加载带有 UUID 列的表 PostgreSQL

使用 postgresql v9.5 数据库,我想使用 sql dump 移动表pg_dump

pg_dump --host=localhost --username=postgres --port=5432 --dbname=my_db -t ,my_table > /D:\my_table.sql
Run Code Online (Sandbox Code Playgroud)

该表有一个UUID 标识符列:

CREATE TABLE public.my_table
(
  uuid uuid NOT NULL DEFAULT gen_random_uuid(),
  created timestamp with time zone DEFAULT now(),
  content text,
)
Run Code Online (Sandbox Code Playgroud)

加载.sql

这适用于没有 UUID 列的表:

cd C:\Program Files (x86)\PostgreSQL\9.5\bin
psql --dbname=my_db --host=localhost --username=postgres -w --port=5432 -f D:\my_table.sql
Run Code Online (Sandbox Code Playgroud)

但是对于带有 UUID 列的特定表,我在第一个 UUID 的位置收到以下错误:

psql:D:\my_table.sql:1327: 错误:“c9ccacd8”处或附近的语法错误

第 1 行:c9ccacd8-7e37-40a2-8eca-e589dbe42a59 2016-06-04 09:48:00.676...

sql文件

以下是 my_table.sql 文件中引用的行:

ALTER TABLE my_table OWNER TO postgres; …
Run Code Online (Sandbox Code Playgroud)

postgresql uuid

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

jquery 等待更改事件

我用 jQuery 构建了一个动态表单;当第一个选择输入(名为category)更改时,第二个选择输入(名为subcategory)会出现并带有子选择项。现在这很完美。

当给出特定的 url 参数时,我想在页面准备好后自动填写表单。

$(document).ready(function () {
    // initialize defaults
    var category = getUrlParameter('category');
    var subcategory = getUrlParameter('subcategory');
    if (category && subcategory) {
        $("select#category").val(category).change();
        $("select#subcategory").val(subcategory).change();
    }
});
Run Code Online (Sandbox Code Playgroud)

我从Sameer KazigetUrlParameter复制的辅助函数在哪里。

当前第一个选择输入已填充,第二个选择输入已生成但未填充。因此实际上,更改命令需要等到第一个更改命令准备好。

javascript jquery

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

Pydantic 使用默认函数设置属性

是否可以传递不可变Pydantic Models的函数设置器。

例如:

from uuid import uuid4, UUID
from pydantic import BaseModel
from datetime import datetime

def generate_uuid():
    return uuid4()

def get_datetimenow():
    return datetime.now()

class Item(BaseModel):

    class Config:
        allow_mutation = False
        extra = "forbid"

    id: UUID
    created_at: datetime
Run Code Online (Sandbox Code Playgroud)

我想要方法generate_uuidget_datetimenow设置属性。

>>> Item()
ValidationError: 2 validation errors for Item
id
  field required (type=value_error.missing)
created_at
  field required (type=value_error.missing)
Run Code Online (Sandbox Code Playgroud)

虽然我想获取一个Item对象idcreated_at自动设置。与运行时的结果相同:

>>> Item(id=generate_uuid(), created_at=get_datetimenow())
Item(id=UUID('8f898730-3fad-4ca9-9667-c090f62a2954'), created_at=datetime.datetime(2021, 1, 19, 21, 13, 7, 58051))
Run Code Online (Sandbox Code Playgroud)

python pydantic

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

NumPy 整数数组到 timedelta

我有一个整数毫秒的 numpy 数组,我想通过 timedelta 操作将其转换为 Python 日期时间数组。

以下 MWE 有效,但我相信有比乘以 1 毫秒更优雅的方法或性能更好的方法。

start = pd.Timestamp('2016-01-02 03:04:56.789101').to_pydatetime()
dt = np.array([      19,    14980,    19620, 54964615, 54964655, 86433958])
time_arr = start +  dt * timedelta(milliseconds=1)
Run Code Online (Sandbox Code Playgroud)

datetime numpy python-3.x pandas

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