小编use*_*682的帖子

在Vim中将缓冲区管道缓冲到外部命令

我是一个Vim新手.我想将当前缓冲区的内容发送到外部命令的stdin(比方说邮件).我的最终目的是设置一个快捷方式,以便从当前的Vim缓冲区快速发送电子邮件.我猜这应该是一个微不足道的东西,但我找不到一种方法将Vim缓冲区发送到外部命令.提前致谢.

vim external pipe

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

如何获取makefile的调用目标?

如何获取GNU的调用目标make Makefile?

例如,我make使用以下命令行调用:

make a-target
Run Code Online (Sandbox Code Playgroud)

如何在Makefile中获取调用目标"a-target"并将其分配给变量?

此外,如果在命令行上指定了多个目标:

make target1 target2 ...
Run Code Online (Sandbox Code Playgroud)

我如何获得所有这些?

gnu makefile gnu-make

40
推荐指数
2
解决办法
2万
查看次数

用shell命令的输出替换vim选择

我需要将vim中的一些选定文本作为参数值传递给curl命令.例如.我需要能够跑步

curl -sSd css="body { border-radius: 5px; }" http://prefixr.com/api/index.php
Run Code Online (Sandbox Code Playgroud)

来自vim.显然,"body {border-radius:5px;}"部分将是动态的.通常,在vim中选择视觉模式.

如何获取所选文本并将其作为卷曲参数传递?

vim curl external pipe

15
推荐指数
1
解决办法
5440
查看次数

Terraform:等待经典负载均衡器的 A 记录

我经常使用 Terraform 创建经典的负载均衡器。这些项目的 TF 输出应包括负载均衡器的(当前)IP 地址。为了实现这一点,我的代码中有以下内容:

data "dns_a_record_set" "lb_dns_a" {
  host  = "${aws_elb.myelb.dns_name}"
}
output "load_balancer_ip" {
  value = "${data.dns_a_record_set.lb_dns_a.addrs}"
}
Run Code Online (Sandbox Code Playgroud)

这确实有效,除了最初创建 ELB 时。通常情况下,创建 ELB 和可解析其 DNS 名称之间存在相当大的延迟,因此我收到无法解析 DNS 名称的错误。几秒/分钟后,每个terraform refresh; terraform output;都会显示 ELB 的正确当前 IP 地址。我想我需要注入某种抑制计时器,以便在首次部署基础设施时为 DNS 记录提供可用时间。

我如何实现这样一个抑制计时器,以便创建 ELB,然后 TF 在创建之前等待(比如说)2 分钟data.dns_a_record_set.lb_dns_a

最好的解决方案是等到名称成功解析后再继续。

PS:我只有ELB有这个问题。ALB 和 NLB 似乎更快,或者只是需要足够长的时间来创建侦听器和目标组,以便在创建输出时始终可以解析它们的 DNS 名称。

amazon-web-services amazon-elb terraform

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

无法使用 Spark 2.2 访问 S3 数据

我将大量数据上传到我想要的 S3 存储桶,以便使用 Spark 和 Zeppelin 进行分析/可视化。然而,我仍然坚持从 S3 加载数据。

我做了一些阅读,以便将它们整合在一起,并免除我血腥的细节。我使用docker容器p7hb/docker-spark作为 Spark 安装,我从 S3 读取数据的基本测试来自这里

  1. 我启动容器以及其中的主进程和从进程。我可以通过查看暴露在端口 8080 上的 Spark Master WebUI 来验证这项工作。此页面确实列出了工作人员并在标题“已完成的应用程序”下保留了我所有失败尝试的日志。所有这些都在状态中FINISHED

  2. bash在该容器内打开一个并执行以下操作:

    a)按照此处的建议导出环境变量AWS_ACCESS_KEY_ID和。AWS_SECRET_ACCESS_KEY

    b) 开始spark-shell。为了访问 S3,似乎需要加载一些额外的包。在浏览 SE 时,我特别发现了这个,它教会了我,我可以使用该--packages参数来加载所述包。基本上我运行spark-shell --packages com.amazonaws:aws-java-sdk:1.7.15,org.apache.hadoop:hadoop-aws:2.7.5(, 对于版本的任意组合)。

    c) 我运行以下代码

    sc.hadoopConfiguration.set("fs.s3a.endpoint", "s3-eu-central-1.amazonaws.com") sc.hadoopConfiguration.set("fs.s3a.impl", "org.apache.hadoop.fs.s3a.S3AFileSystem") sc.hadoopConfiguration.set("com.amazonaws.services.s3.enableV4", "true")

    val sonnets=sc.textFile("s3a://my-bucket/my.file")

    val counts = sonnets.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)

然后我收到各种不同的错误消息,具体取决于我在 2b) 中选择的版本。

我想 …

amazon-s3 apache-spark

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

在 boto3 1.5.36 上使用 S3.Object().put() 在 S3 中存储 matplotlib 图像

除其他外,我正在使用 绘制图matplotlib,我想立即将其存储为 S3 对象。

根据thisthis other question以及精美手册中提供的答案,我需要S3.Object.put()将我的数据移动到AWS中,并且程序应该遵循

from matplotlib import pyplot as plt
import numpy as np
import boto3
import io

# plot something
fig, ax = plt.subplots()
x = np.linspace(0, 3*np.pi, 500)
a = ax.plot(x, np.sin(x**2))

# get image data, cf. /sf/answers/3156988691/
buf = io.BytesIO()
fig.savefig(buf, format="png")
buf.seek(0)
image = buf.read()

# put the image into S3
s3 = boto3.resource('s3', aws_access_key_id=awskey, aws_secret_access_key=awssecret)
s3.Object(mybucket, mykey).put(ACL='public-read', Body=image)
Run Code Online (Sandbox Code Playgroud)

但是,我最终得到了一个内容长度为零的新 S3 对象。

下面给了我一个内容长度为 6 …

io matplotlib amazon-s3 python-3.x boto3

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

从 GitLab 运行程序/管道中创建版本

随着 2019 年 1 月 Gitlab 11.7 的发布,我们为您的项目获得了新的关键功能发布版本。我想要准确显示该页面上的屏幕截图,并且我希望能够使用发布 API下载已编译的二进制文件。

我可以手动完成。当然,手动方法的说明可以在这里找到堆栈溢出。我需要帮助的问题是将其作为 CI/CD 管道的一部分进行处理,而人们可以轻松找到的答案并未涵盖该问题。

发行说明包含指向文档的链接,其中指出:

我们建议将此作为 CI/CD 发布管道中的最后一步之一。

由此我认为这是可能的。然而,我能想象的唯一方法是像我一样使用 GitLab API,当我手动创建版本时。当一个人想要访问 GitLab API 时,基本上有三种身份验证选项,根据精细手册:OAUTH2 令牌、个人访问令牌和会话 cookie。因此,我需要一种方法来在我的 CI/CD 管道中使用其中任何一个,并具有足够的特权。这个问题的解决方案是一个持续的讨论,有很多贡献,但近年来几乎没有实质性进展。

那么,作为 CI/CD 发布管道的最后一步之一,如何创建发布?

出于显而易见的原因,将带有 API 访问权限的个人访问密钥存储在 CI/CD 变量甚至存储库中的文件中都不是一种选择。

api continuous-integration pipeline gitlab

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