在 Ansible 中,如何根据对象的属性是否包含值来过滤对象?
例如:我想通过过滤contains的对象来返回private_man具有属性的对象。name="a2"private_manaddr"1.2.3.4"
这是 Ansible 代码:
- hosts: localhost
connection: local
gather_facts: no
vars:
network:
addresses:
private_ext:
- name: a1
addr:
- 1.2.3.4
private_man:
- name: a2
addr:
- 10.10.20.30
- 1.2.3.4
- name: a3
addr:
- 10.90.80.10
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
- debug:
msg: "{{ item.name }}"
with_items: "{{ network.addresses.private_man | selectattr('addr', 'in', '1.2.3.4') | list }}"
Run Code Online (Sandbox Code Playgroud)
我预计会显示此内容,a2因为 a2 对象的 addr 元素包含1.2.3.4
然而,当我运行这个时,它完全失败了,可能是因为selectaddr('addr', 'in', '1.2.3.4')无效。
我已按照https://developers.google.com/accounts/docs/OAuth2ServiceAccount中的说明使用服务帐户对Google云端存储API进行身份验证.我试图在python中发送JWT到google的身份验证服务器,但是出现了错误:
urllib2.HTTPError: HTTP Error 400: Bad Request
Run Code Online (Sandbox Code Playgroud)
看起来我正在制作,签名或发送JWT的方式有问题吗?错误并不具体,因此它可能是该过程的任何部分.有没有人有任何想法?
import Crypto.PublicKey.RSA as RSA
import Crypto.Hash.SHA as SHA
import Crypto.Signature.PKCS1_v1_5 as PKCS1_v1_5
import base64
import json
import time
import urllib2
import urllib
# Settings
json_key_file = 'GooglePM-9f75ad112f87-service.json'
# Load the private key associated with the Google service account
with open(json_key_file) as json_file:
json_data = json.load(json_file)
key = RSA.importKey(json_data['private_key'])
# Create an PKCS1_v1_5 object
signer = PKCS1_v1_5.new(key)
# Encode the JWT header
header_b64 = base64.urlsafe_b64encode(json.dumps({'alg':'RS256','typ':'JWT'}))
# JWT claims
jwt = { …Run Code Online (Sandbox Code Playgroud) 有谁知道我如何轻松下载所有发表的文章摘要?我正在研究一个文本挖掘项目.
我能找到的最接近的一个可以在给定pmid的情况下一次下载一个摘要,但这对我来说太慢了,因为我必须一次下载一个.
我的 Linux 机器上有一个 bash 脚本,其中包含以下两行:
[ -r /etc/java/java.conf ] && . /etc/java/java.conf
export JAVA_HOME
Run Code Online (Sandbox Code Playgroud)
导出JAVA_HOME有什么作用?通常我认为 export VARIABLE_NAME=something 将变量设置为某个值。
运行export JAVA_HOME而不设置它会做什么?
我尝试在命令行上运行它,但没有任何反应。