我不小心从S3删除了远程文件,如何推送本地文件?我尝试过terraform remote push -force。它会抛出错误。
df = pre_exisiting_dataframe() # such that len(df) is n
n,p = 3,4
m = np.arange(n*p).reshape((n,p))
fs = ['f'+str(i) for i in range(p)]
df_m = pd.DataFrame(m)
df_m.columns = fs
df = pd.concat([df,df_m],axis=1) # m is now only a part of df
df.f = df[fs]
df.f # works: I can access the whole m at once
df[:1].f # crashes
答案 0 :(得分:2)
问题可能是您的本地目录中有两个状态文件,如下所示:
.terraform/terraform.tfstate
terraform.tfstate
如果是,.terraform/terraform.tfstate
处的那个是s3远程状态的本地副本。 terraform.tfstate
的那个是纯粹的地方国家。但是terraform只希望看到一个或另一个,因此错误信息。
将两个文件复制到安全的地方,然后尝试决定将哪个文件复制回.terraform/terraform.tfstate
。可能很明显:一个可能比另一个更新或更大。
如果所有其他方法都失败了,请一次复制一个.terraform/terraform.tfstate
和terraform refresh
,然后保留更好的版本。
答案 1 :(得分:0)
解决方法是手动将本地状态缓存(.terraform / terraform.tfstate)中的序列号缓冲到当前序列号上的值,然后重试