CloudFormation'ı boş olmayan bir S3 Kovasını silmek için zorlamanın bir yolu var mı?CloudFormation'ı boş olmayan S3 Kovasını silmek için zorlayabilir miyim?
5
A
cevap
13
Sen kova temizlemek ve bir CustomResource kullanarak CloudFormation yığından lambda çağırmak için bir lambda fonksiyonu oluşturabilir. Yukarıdaki lambda oluşturduktan sonra
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
import boto3
from botocore.vendored import requests
def lambda_handler(event, context):
try:
bucket = event['ResourceProperties']['BucketName']
if event['RequestType'] == 'Delete':
s3 = boto3.resource('s3')
bucket = s3.Bucket(bucket)
for obj in bucket.objects.filter():
s3.Object(bucket.name, obj.key).delete()
sendResponseCfn(event, context, "SUCCESS")
except Exception as e:
print(e)
sendResponseCfn(event, context, "FAILED")
def sendResponseCfn(event, context, responseStatus):
response_body = {'Status': responseStatus,
'Reason': 'Log stream name: ' + context.log_stream_name,
'PhysicalResourceId': context.log_stream_name,
'StackId': event['StackId'],
'RequestId': event['RequestId'],
'LogicalResourceId': event['LogicalResourceId'],
'Data': json.loads("{}")}
requests.put(event['ResponseURL'], data=json.dumps(response_body))
, sadece CloudFormation yığınında CustomResource koydu: senin kova temizleyerek lambda örnek Aşağıda
---
AWSTemplateFormatVersion: '2010-09-09'
Resources:
myBucketResource:
Type: AWS::S3::Bucket
Properties:
BucketName: my-test-bucket-cleaning-on-delete
DependsOn: cleanupBucketOnDelete
cleanupBucketOnDelete:
Type: Custom::cleanupbucket
Properties:
ServiceToken: arn:aws:lambda:eu-west-1:123456789012:function:clean-bucket-lambda
BucketName: my-test-bucket-cleaning-on-delete
Ayrıca, lambda fonksiyonu cli2cloudformation kullanarak CLI komut satırı kabul eden bir lambda fonksiyonu oluşturabilir unutmayın. here'dan indirip kurabilirsiniz. Sadece feryat gibi bir CustomResource oluşturmanız gerektiğini kullanarak:rol takmak unutmayın Kuzudan nesneyi kaldırma iznine sahip olan lambda.
"removeBucket": {
"Type": "Custom::cli2cloudformation",
"Properties": {
"ServiceToken": "arn:aws:lambda:eu-west-1:123456789000:function:custom-lambda-name",
"CliCommandDelete": "aws s3 rb s3://bucket-name --force",
}
}
5
Hayır, bunu yapmanın bir yolu olduğunu sanmıyorum. Bu document, bunu doğrular.
İlgili konular
- 1. İşaretçi olmayan kendi türlerim için "boş gösterici optimizasyonu" kullanabilir miyim?
- 2. Hata ayıklama pythonunu AssertionError üzerinde zorlayabilir miyim?
- 3. Kotlin'de boş olmayan, boş olmayan dizeler için nasıl test edilir?
- 4. Bir gem'ın bağımlılıklarını mücevher dosyasında zorlayabilir miyim?
- 5. Zamanlanmış bir yürütmenin fazladan çalıştırılmasını zorlayabilir miyim?
- 6. Referans olarak dönmek için bir C++ 11 lambda zorlayabilir miyim?
- 7. gVim'i sürüklenen dosyaları yeni bir sekmede açmak için zorlayabilir miyim?
- 8. Görsel stüdyeni mingw derleyicisini kullanmak için zorlayabilir miyim
- 9. Boş S3 Kovası Silinemiyor
- 10. MySql tablo adı büyük/küçük harf duyarlılığını, büyük/küçük harfe duyarlı olmayan dosya sistemlerinde zorlayabilir miyim?
- 11. Python dizi öğelerini belirli bir boyuta sahip olmaya zorlayabilir miyim?
- 12. DUnit GUI Test: 'Uygulamayı' farklı bir 'forma' zorlayabilir miyim?
- 13. LINQ Boş olmayan dizeleri
- 14. Tüm öğelerin sarılmasını CSS flexbox ile zorlayabilir miyim?
- 15. Boş olmayan bağımsız değişkenler için yöntem başvuruları?
- 16. Boş olmayan öznitelikler için CSS öznitelik seçici
- 17. Boş olmayan dizinleri göster
- 18. Bir uygulama sınıfını kendi türünde bir nesneyi döndürmeye zorlayabilir miyim?
- 19. 'cd src' yi her diske girmeye zorlayabilir miyim?
- 20. Boş olmayan nesne ve boş olmayan Dize gösterimi ile çalışmak için Kotlin deyimi
- 21. sadece boş olmayan özellikler güncelleştiriliyor
- 22. Mevcut bir Amazon S3 nesnesini güncelleyebilir miyim?
- 23. S3 DeleteObject - DeleteMarker her zaman boş
- 24. Verileri AWS S3'e FTP'ye verebilir miyim?
- 25. R - Ardışık boş olmayan sıralar
- 26. Entity Framework - 'providerInvariantName' parametresi için boş olmayan dizenin bekleniyor
- 27. python: boş olmayan yönergeleri sil
- 28. iOS Geliştirme: Nasıl Facebook'un mobil olmayan bir sürümünü yüklemek için bir UIWebView zorlayabilir?
- 29. Zookeeper'de boş olmayan bir veri düğümünü nasıl silebilirim?
- 30. Dir sınıfı kullanılarak boş olmayan bir dizin nasıl silinir?
Bu CloudFormation gelen kova silme işlemek için harika bir yoldur ama cevap sadece hayır olduğunu düşünüyorum - ben cevap olarak bu işaretleyemezsiniz (ama didvote it) - teşekkürler –
Bu cevap yayınlanması için çok teşekkürler –
Konu hakkında daha derinlemesine blog yazısı: https://community.alfresco.com/community/platform/blog/2016/10/13/how- a-lambda destekli-özel-kaynak-gün-tasarrufu-gün – vincent