View a markdown version of this page

Projekte mit AWS verwalten CloudFormation - Amazon Bedrock

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.

Projekte mit AWS verwalten CloudFormation

Amazon Bedrock ist in AWS integriert CloudFormation, sodass Sie Projekte als Teil Ihrer Infrastrukturvorlagen definieren und verwalten können. Mithilfe von JSON- oder YAML-Vorlagen können Sie Projekte konsistent und wiederholt für mehrere AWS-Konten und Regionen bereitstellen.

AWS::BedrockMantle::Project

Verwenden Sie die AWS::BedrockMantle::Project Ressource, um ein Bedrock-Projekt in einer CloudFormation Vorlage zu erstellen und zu verwalten. Projekte, die über die API erstellt wurden, CloudFormation unterstützen dieselben Funktionen wie Projekte, die über die API erstellt wurden, einschließlich Anhängen von IAM-Richtlinien, Tagging und Beobachtbarkeit.

Syntax

Verwenden Sie die folgende Syntax, um diese Entität in Ihrer CloudFormation Vorlage zu deklarieren:

Beispiel CloudFormation Syntax
{ "Type": "AWS::BedrockMantle::Project", "Properties": { "Name": String, "Tags": [ { "Key": String, "Value": String }, { "Key": String, "Value": String }, { "Key": String, "Value": String }, { "Key": String, "Value": String } ] } }
Type: AWS::BedrockMantle::Project Properties: Name: String Tags: Key: Value

Eigenschaften

Name

Erforderlich Der Name des Projekts. Muss innerhalb Ihres AWS-Kontos eindeutig sein.

Typ: Zeichenfolge

Minimum: 1

Maximum: 64

Pattern: ^([0-9a-zA-Z][ _-]?)+$

Aktualisierung erfordert: Austausch

Tags (Markierungen)

Eine Übersicht mit Schlüssel-Wert-Paaren, die dem Projekt zur Kostenzuweisung und Zugriffskontrolle zugeordnet werden sollen.

Typ: Zuweisung einer Zeichenfolge

Aktualisierung erfordert: Keine Unterbrechung

Hinweis zu Tag-Updates

CloudFormation Tag-Updates bei der internen AWS::BedrockMantle::Project Verwendung separater Operationen zum Hinzufügen und Entfernen. Es gibt keinen vollständigen atomaren Tag-Ersatz. Wenn ein Stack-Update während des Vorgangs fehlschlägt, befindet sich der Tagsatz des Projekts möglicherweise in einem teilweise aktualisierten Zustand. Überprüfen Sie nach einem Stack-Update, bei dem Tags geändert werden, immer den endgültigen Tag-Status.

Rückgabewerte

Punkt

Wenn Sie die logische ID dieser Ressource an die systemeigene Ref Funktion übergeben, wird die Projekt-ID Ref zurückgegeben (z. B.). proj_abc123

Fn:: GetAtt

ProjectId

Die eindeutige Kennung des Projekts (z. B.proj_abc123).

ProjectArn

Der Amazon-Ressourcenname (ARN) des Projekts (z. B.arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123).

Status

Der Status des Projekts. ACTIVEbedeutet, dass das Projekt einsatzbereit ist. ARCHIVEDbedeutet, dass das Projekt archiviert wurde und keine neuen Rückschlussanfragen annehmen kann.

CreatedAt

Der Zeitstempel, zu dem das Projekt erstellt wurde.

UpdatedAt

Der Zeitstempel, zu dem das Projekt zuletzt aktualisiert wurde.

Beispiele

Erstellen Sie ein Basisprojekt

Im folgenden Beispiel wird ein Projekt für eine Produktions-Chatbot-Anwendung erstellt:

Beispiel Grundlegendes Projekt
AWSTemplateFormatVersion: '2010-09-09' Description: Amazon Bedrock Project for Production Chatbot Resources: CustomerChatbotProject: Type: AWS::BedrockMantle::Project Properties: Name: CustomerChatbot-Production Tags: - Key: Project Value: CustomerChatbot - Key: Environment Value: Production - Key: Owner Value: TeamAlpha - Key: CostCenter Value: "21524" Outputs: ProjectId: Description: The ID of the created project Value: !Ref CustomerChatbotProject ProjectArn: Description: The ARN of the created project Value: !GetAtt CustomerChatbotProject.ProjectArn
{ "AWSTemplateFormatVersion": "2010-09-09", "Resources": { "CustomerChatbotProject": { "Type": "AWS::BedrockMantle::Project", "Properties": { "Name": "CustomerChatbot-Production", "Tags": [ { "Key": "Project", "Value": "CustomerChatbot" }, { "Key": "Environment", "Value": "Production" }, { "Key": "Owner", "Value": "TeamAlpha" }, { "Key": "CostCenter", "Value": "21524" } ] } } }, "Outputs": { "ProjectId": { "Description": "The ID of the created project", "Value": { "Ref": "CustomerChatbotProject" } }, "ProjectArn": { "Description": "The ARN of the created project", "Value": { "Fn::GetAtt": ["CustomerChatbotProject", "ProjectArn"] } } } }

Erstellen Sie mehrere Projekte für verschiedene Umgebungen

Das folgende Beispiel stellt separate Projekte für Entwicklungs-, Staging- und Produktionsumgebungen in einem einzigen Stapel bereit:

AWSTemplateFormatVersion: '2010-09-09' Description: Amazon Bedrock Projects for Multi-Environment Deployment Parameters: ApplicationName: Type: String Default: InternalSearch Description: Name of the application CostCenter: Type: String Description: Cost center for billing allocation Resources: DevelopmentProject: Type: AWS::BedrockMantle::Project Properties: Name: !Sub "${ApplicationName}-Development" Tags: - Key: Project Value: !Ref ApplicationName - Key: Environment Value: Development - Key: CostCenter Value: !Ref CostCenter StagingProject: Type: AWS::BedrockMantle::Project Properties: Name: !Sub "${ApplicationName}-Staging" Tags: - Key: Project Value: !Ref ApplicationName - Key: Environment Value: Staging - Key: CostCenter Value: !Ref CostCenter ProductionProject: Type: AWS::BedrockMantle::Project Properties: Name: !Sub "${ApplicationName}-Production" Tags: - Key: Project Value: !Ref ApplicationName - Key: Environment Value: Production - Key: CostCenter Value: !Ref CostCenter Outputs: DevelopmentProjectArn: Value: !GetAtt DevelopmentProject.ProjectArn Export: Name: !Sub "${ApplicationName}-Dev-ProjectArn" StagingProjectArn: Value: !GetAtt StagingProject.ProjectArn Export: Name: !Sub "${ApplicationName}-Staging-ProjectArn" ProductionProjectArn: Value: !GetAtt ProductionProject.ProjectArn Export: Name: !Sub "${ApplicationName}-Prod-ProjectArn"

Erstellen Sie ein Projekt mit IAM-Rollenzugriff

Im folgenden Beispiel wird ein Projekt erstellt und eine IAM-Richtlinie angehängt, die einer bestimmten Rolle Zugriff auf Aufrufmodelle gewährt:

AWSTemplateFormatVersion: '2010-09-09' Description: Amazon Bedrock Project with IAM Access Control Resources: ProductionProject: Type: AWS::BedrockMantle::Project Properties: Name: CustomerChatbot-Production Tags: - Key: Environment Value: Production - Key: CostCenter Value: "21524" ProductionAppRole: Type: AWS::IAM::Role Properties: RoleName: BedrockProjectProductionRole AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: lambda.amazonaws.com Action: sts:AssumeRole Policies: - PolicyName: BedrockProjectInvokeAccess PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - bedrock-mantle:CreateInference - bedrock-mantle:GetProject Resource: !GetAtt ProductionProject.ProjectArn Outputs: ProjectArn: Value: !GetAtt ProductionProject.ProjectArn RoleArn: Value: !GetAtt ProductionAppRole.Arn

Verwenden von CloudFormation Ausgaben mit der Projects-API

Nach der Bereitstellung Ihres CloudFormation Stacks können Sie mithilfe der Stack-Ausgaben auf den Projekt-ARN und die ID in Ihrem Anwendungscode verweisen:

import boto3 from openai import OpenAI # Retrieve project details from CloudFormation stack outputs cfn = boto3.client('cloudformation', region_name='us-east-1') response = cfn.describe_stacks(StackName='my-bedrock-projects-stack') outputs = {o['OutputKey']: o['OutputValue'] for o in response['Stacks'][0]['Outputs']} production_project_arn = outputs['ProductionProjectArn'] # Extract project ID from ARN # ARN format: arn:aws:bedrock-mantle:us-east-1:123456789012:project/proj_abc123 project_id = production_project_arn.split('/')[-1] print(f"Using project: {project_id}") # Use the project for inference client = OpenAI(project=project_id) response = client.responses.create( model="openai.gpt-oss-120b", input="Hello from a CloudFormation-managed project!" ) print(response)

Weitere Informationen

Weitere Informationen zur Verwendung CloudFormation mit Amazon Bedrock-Ressourcen finden Sie unter: