क्या गैर-खाली एस 3 बाल्टी को हटाने के लिए क्लाउडफॉर्मेशन को मजबूर करने का कोई तरीका है?क्या मैं क्लाउडफॉर्मेशन को गैर-खाली एस 3 बाल्टी को हटाने के लिए मजबूर कर सकता हूं?
5
A
उत्तर
13
आप अपने बाल्टी को साफ और एक CustomResource का उपयोग कर अपने CloudFormation ढेर से अपने लैम्ब्डा आह्वान करने के लिए एक लैम्ब्डा समारोह बना सकते हैं।
एक लैम्ब्डा उदाहरण नीचेअपने बाल्टी सफाई:
#!/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))
आप ऊपर लैम्ब्डा बनाने के बाद, बस अपने CloudFormation ढेर में CustomResource डाल:
---
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
एक भूमिका संलग्न करने के लिए याद रखें अपने लैम्ब्डा को जिसमें आपकी बाल्टी से वस्तुओं को हटाने की अनुमति है।
इसके अलावा ध्यान रखें कि आप एक लैम्ब्डा समारोह है कि लैम्ब्डा समारोह cli2cloudformation का उपयोग कर CLI कमांड लाइन को स्वीकार करता है बना सकते हैं में रहते हैं। आप here से डाउनलोड और इंस्टॉल कर सकते हैं। लेकिन तो मैं जवाब के रूप में चिह्नित नहीं कर सकता (मैं -
"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
नहीं, मुझे नहीं लगता कि ऐसा करने का कोई तरीका है। यह document पुष्टि करता है कि।
संबंधित मुद्दे
- 1. क्या मैं एस 3 बाल्टी के आकार को प्रतिबंधित कर सकता हूं?
- 2. एस 3 बाल्टी
- 3. अमेज़ॅन एस 3, बाल्टी
- 4. मैं अमेज़ॅन एस 3 बाल्टी को बैकअप या सिंक कैसे कर सकता हूं?
- 5. अमेज़ॅन एस 3 बाल्टी
- 6. एस 3 बाल्टी
- 7. एस 3: डुप्लिकेट बाल्टी
- 8. मैं एस 3 बाल्टी में वस्तुओं को कैसे हटा/गिन सकता हूं?
- 9. अमेज़ॅन एस 3 बाल्टी
- 10. एस 3 बाल्टी डिफ़ॉल्ट एन्क्रिप्शन सेट करने के लिए क्लाउडफॉर्मेशन टेम्पलेट
- 11. क्या मैं हटा सकता हूं [] हटाने के लिए तर्क [3]?
- 12. क्लाउडफॉर्मेशन
- 13. मैं एस 3 बाल्टी के लिए नीति कैसे सेट कर सकता हूं जो प्रमाणीकृत उपयोगकर्ताओं को बाल्टी सूचीबद्ध करने या बाल्टी
- 14. साझा खाते एस 3 बाल्टी
- 15. मैं wget के साथ एक एस 3 बाल्टी से फ़ाइल कैसे डाउनलोड कर सकता हूं?
- 16. मैं अपने एक्सटेंशन के आधार पर एस 3 में फ़ाइलों को कैसे सीमित कर सकता हूं?
- 17. क्या मैं अपनी स्थिर वेबसाइट को एस 3 बाल्टी से चला सकता हूं, और पासवर्ड सुरक्षा जोड़ सकता हूं?
- 18. मैं कैसे बाल्टी फ़ाइलों को एक बाल्टीबी/सॉर्टकी मान एस 3 में सहेज सकता हूं?
- 19. क्या मैं एक बार में अमेज़ॅन एस 3 बाल्टी में ऑब्जेक्ट्स हेडर को सभी ऑब्जेक्ट्स पर सेट कर सकता हूं?
- 20. क्या एनडब्ल्यूएस एस 3 बाल्टी को शून्य क्षेत्र
- 21. एक्स दिनों से पुराने अमेज़ॅन एस 3 बाल्टी में प्रत्येक फ़ाइल के संस्करणों को हटाने
- 22. क्लाउडफॉर्मेशन स्क्रिप्ट
- 23. क्या मैं संकलक को एक विशिष्ट विधि को अनुकूलित करने के लिए मजबूर कर सकता हूं?
- 24. क्या मैं वर्तमान संस्करण को पुनर्स्थापित करने के लिए पाइप को मजबूर कर सकता हूं?
- 25. अमेज़ॅन एस 3 बाल्टी को स्ट्रिंग कैसे लिखें?
- 26. अमेज़ॅन एस 3 बाल्टी 403 निषिद्ध
- 27. अमेज़ॅन एस 3 हार्डकोड मेरे बाल्टी यूआरएल
- 28. एस 3 बाल्टी की निर्देशिका ब्राउज़िंग को कैसे रोकें?
- 29. केवल मेरे अमेज़ॅन एस 3 बाल्टी
- 30. क्या मैं पाइथन सरणी तत्वों को एक विशिष्ट आकार के लिए मजबूर कर सकता हूं?
यह एक बढ़िया तरीका CloudFormation से बाल्टी को हटाने को संभालने के लिए है, लेकिन मुझे लगता है कि इस सवाल का जवाब अभी नहीं है: का उपयोग करना है कि आप बस bellow तरह एक CustomResource बनाने की जरूरत इसे ऊपर उठाया) - धन्यवाद –
यह उत्तर –
पोस्ट करने के लिए बहुत बढ़िया धन्यवाद है इस विषय पर अधिक गहराई से ब्लॉग पोस्ट: https://community.alfresco.com/community/platform/blog/2016/10/13/how- ए-लैम्ब्डा-समर्थित-कस्टम-संसाधन-बचाया गया दिन – vincent