Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Welcher Pipeline-Typ ist der richtige für mich?
Der Pipeline-Typ wird durch die Eigenschaften und Funktionen bestimmt, die von jeder Pipeline-Version unterstützt werden.
Im Folgenden finden Sie eine Zusammenfassung der Anwendungsfälle und Merkmale, die für jeden Pipeline-Typ verfügbar sind.
Typ V1 | Typ V2 | |
---|---|---|
Merkmale | ||
Anwendungsfälle |
|
|
Variablen auf Aktionsebene | Unterstützt | Unterstützt |
PARALLELAusführungsmodus | Nicht unterstützt | Unterstützt |
Variablen auf Pipeline-Ebene | Nicht unterstützt | Unterstützt |
QUEUEDAusführungsmodus | Nicht unterstützt | Unterstützt |
Rollback für Pipeline-Phasen | Nicht unterstützt | Unterstützt |
Überschreibungen der Quellversion | Nicht unterstützt | Unterstützt |
Bedingungen auf der Bühne | Nicht unterstützt | Unterstützt |
Triggert und filtert Git-Tags, Pull-Requests, Branches oder Dateipfade | Nicht unterstützt | Unterstützt |
Die Aktion „Befehle“ | Nicht unterstützt | Unterstützt |
Eingabebedingungen mit Skip-Ergebnis erstellen | Nicht unterstützt | Unterstützt |
Konfigurieren Sie eine Phase für die automatische Wiederholung bei einem Fehler | Nicht unterstützt | Unterstützt |
Informationen zur Preisgestaltung für finden Sie CodePipeline unter Preisgestaltung
Sie können ein Python-Skript erstellen und ausführen, um die potenziellen Kosten der Umstellung einer Pipeline vom Typ V1 auf eine Pipeline vom Typ V2 zu analysieren.
Anmerkung
Das folgende Beispielskript dient nur zu Demonstrations- und Evaluierungszwecken. Es ist kein Angebotstool und garantiert nicht die Kosten für Ihre tatsächliche Nutzung einer Pipeline vom Typ V2, und es beinhaltet auch keine Steuern, die möglicherweise anfallen könnten. Informationen zur Preisgestaltung für finden Sie CodePipeline unter Preisgestaltung
Um ein Skript zu erstellen und auszuführen, mit dem Sie die Kosten für die Umstellung einer Pipeline vom Typ V1 auf eine Pipeline vom Typ V2 abschätzen können
-
Laden Sie Python herunter und installieren Sie es.
-
Öffnen Sie ein Terminal-Fenster. Führen Sie den folgenden Befehl aus, um ein neues Python-Skript namens PipelineCostAnalyzer.py zu erstellen.
vi PipelineCostAnalyzer.py
-
Kopieren Sie den folgenden Code und fügen Sie ihn in das PipelineCostAnalyzer.py-Skript ein.
import boto3 import sys import math from datetime import datetime, timedelta, timezone if len(sys.argv) < 3: raise Exception("Please provide region name and pipeline name as arguments. Example usage: python PipelineCostAnalyzer.py us-east-1 MyPipeline") session = boto3.Session(profile_name='default', region_name=sys.argv[1]) pipeline = sys.argv[2] codepipeline = session.client('codepipeline') def analyze_cost_in_v2(pipeline_name): if codepipeline.get_pipeline(name=pipeline)['pipeline']['pipelineType'] == 'V2': raise Exception("Provided pipeline is already of type V2.") total_action_executions = 0 total_blling_action_executions = 0 total_action_execution_minutes = 0 cost = 0.0 hasNextToken = True nextToken = "" while hasNextToken: if nextToken=="": response = codepipeline.list_action_executions(pipelineName=pipeline_name) else: response = codepipeline.list_action_executions(pipelineName=pipeline_name, nextToken=nextToken) if 'nextToken' in response: nextToken = response['nextToken'] else: hasNextToken= False for action_execution in response['actionExecutionDetails']: start_time = action_execution['startTime'] end_time = action_execution['lastUpdateTime'] if (start_time < (datetime.now(timezone.utc) - timedelta(days=30))): hasNextToken= False continue total_action_executions += 1 if (action_execution['status'] in ['Succeeded', 'Failed', 'Stopped']): action_owner = action_execution['input']['actionTypeId']['owner'] action_category = action_execution['input']['actionTypeId']['category'] if (action_owner == 'Custom' or (action_owner == 'AWS' and action_category == 'Approval')): continue total_blling_action_executions += 1 action_execution_minutes = (end_time - start_time).total_seconds()/60 action_execution_cost = math.ceil(action_execution_minutes) * 0.002 total_action_execution_minutes += action_execution_minutes cost = round(cost + action_execution_cost, 2) print ("{:<40}".format('Activity in last 30 days:')) print ("| {:<40} | {:<10}".format('___________________________________', '__________________')) print ("| {:<40} | {:<10}".format('Total action executions:', total_action_executions)) print ("| {:<40} | {:<10}".format('Total billing action executions:', total_blling_action_executions)) print ("| {:<40} | {:<10}".format('Total billing action execution minutes:', round(total_action_execution_minutes, 2))) print ("| {:<40} | {:<10}".format('Cost of moving to V2 in $:', cost - 1)) analyze_cost_in_v2(pipeline)
-
Wechseln Sie im Terminal oder in der Befehlszeile zu den Verzeichnissen, in denen Sie das Analyzer-Skript erstellt haben.
Führen Sie in diesem Verzeichnis den folgenden Befehl aus, wobei Region der Ort ist, an AWS-Region dem Sie die V1-Pipelines erstellt haben, die Sie analysieren möchten. Sie können optional auch eine bestimmte Pipeline auswerten, indem Sie ihren Namen angeben:
python3 PipelineCostAnalyzer.py
region
--pipelineName
Führen Sie beispielsweise den folgenden Befehl aus, um das Python-Skript mit dem Namen PipelineCostAnalyzer.py auszuführen. In diesem Beispiel ist
us-west-2
die Region.python3 PipelineCostAnalyzer.py us-west-2
Anmerkung
Dieses Skript analysiert alle V1-Pipelines in den angegebenen Pipelines, AWS-Region sofern Sie keinen bestimmten Pipeline-Namen angeben.
-
In der folgenden Beispielausgabe des Skripts sehen wir die Liste der Aktionsausführungen, die Liste der Aktionsausführungen, die für die Abrechnung in Frage kamen, die Gesamtlaufzeit dieser Aktionsausführungen und die geschätzten Kosten dieser Aktionen, die in einer V2-Pipeline ausgeführt wurden.
Activity in last 30 days: | ___________________________________ | __________________ | Total action executions: | 9 | Total billing action executions: | 9 | Total billing action execution minutes: | 5.59 | Cost of moving to V2 in $: | -0.76
In diesem Beispiel steht der negative Wert in der letzten Zeile für den geschätzten Betrag, der durch die Umstellung auf Pipelines vom Typ V2 eingespart werden könnte.
Anmerkung
Bei der Skriptausgabe und den zugehörigen Beispielen, die Kosten und andere Informationen zeigen, handelt es sich lediglich um Schätzungen. Sie dienen nur zu Demonstrations- und Bewertungszwecken und garantieren keine tatsächlichen Einsparungen. Informationen zur Preisgestaltung für CodePipeline finden Sie unter Preise
.