我有一个 terraform 脚本,可以在 VPC 中创建 lambda 函数。由于 lambda 部署到 VPC,因此它会创建一个 ENI 并将其与我的安全组关联。但是,当我去更改该安全组(destroy)时,由于正在使用的 ENI 超时而失败。
我假设发生的情况是,Terraform 认识到 ENI 依赖于安全组,但没有认识到 lambda 函数依赖于 ENI,因此在尝试删除 ENI 之前不会尝试删除 lambda 函数。
期望的结果是能够更改安全组的名称和描述,而无需手动删除 lambda 函数和 ENI。
我尝试过创建各种“ depends_on ”,并设置 lambda 函数的生命周期,以便在安全组发生更改时销毁,但都不起作用。我正在使用 Terraform 版本 1.3.3 和 AWS 提供商版本 4.37.0。
错误:使用安全组 (sg-01ba40a4b03c5ddd2) 删除 ENI:发生 2 个错误:
等待 Lambda ENI (eni-02cd7771540d50f8e) 可用于分离:等待状态变为“可用”时超时(最后状态:“使用中”,超时:45m0s)
等待 Lambda ENI (eni-030c34234a51be116) 可用于分离:等待状态变为“可用”时超时(最后状态:“使用中”,超时:45m0s)
# ----------------------------------------------------------------------
# Security group
# ----------------------------------------------------------------------
resource "aws_security_group" "public" {
name = "test-sg"
vpc_id = var.vpc_id
description = "Security group …Run Code Online (Sandbox Code Playgroud) 我用来IndexDB创建用户的对象存储,但在尝试添加用户时出现错误var request = db.transaction(['person'], 'readwrite')。
给出的错误是:
“未捕获的类型错误:无法在 test.js:45 处的 add (test.js:32) 处读取未定义的属性‘交易’”
我的脚本如下所示:
var request = window.indexedDB.open("connectDB", 1);
request.onerror = function (event)
{
console.log('The database is opened failed');
};
var db;
request.onsuccess = function (event)
{
db = request.result;
console.log('The database is opened successfully');
};
var db;
request.onupgradeneeded = function (event)
{
db = event.target.result;
var objectStore;
if (!db.objectStoreNames.contains('users'))
{
objectStore = db.createObjectStore('users', { keyPath: 'id' });
objectStore.createIndex('name', 'name', { unique: false });
objectStore.createIndex('email', 'email', { …Run Code Online (Sandbox Code Playgroud)