从文档来看,它没有声明自动应用
--auto-ack
标志,并且它有反向标志--no-auto-ack
,所以默认行为是自动确认还是不自动确认?
上下文:我正在使用多个命令进行拉取,将数据转储为 json 行(将其重新发布到另一个项目),如下所示:
counter=0
for x in `seq 1 9`; do
message=$(gcloud pubsub subscriptions pull subtopic1 \
--limit 1000 \
--format="value[separator='\n'](message.data)")
if [ -z "$messages" ]
then
break
fi
counter=$((counter+1))
echo $messages >> subtopic1__$x.jsonl
echo -n "$counter "
done
使用
gcloud pubsub subscription pull
时,默认行为是不自动确认消息。如果您想自动确认消息,则必须提供 --auto-ack
标志。启用 --auto-ack
时,输出消息的表格具有 ACK_STATUS
列,而不是 ACK_ID
列。