Mit anderen Artefaktformaten arbeiten

Auf dieser Seite wird beschrieben, wie versionierte, unveränderliche Artefakte, die keinem bestimmten Paketformat entsprechen, in Repositories im generischen Artifact Registry-Format gespeichert werden.

In der quickstart können Sie sich mit dem Speichern generischer Artefakte in Artifact Registry vertraut machen.

Generische Artefakte sind Dateien in einem beliebigen Format, einschließlich, aber nicht beschränkt auf die folgenden:

  • Komprimierte Dateien wie TAR- und ZIP-Dateien
  • Konfigurationsdateien wie YAML- und TOML-Dateien
  • Textdateien und PDFs
  • Binärprogramme
  • Archive
  • Mediendateien

Im Gegensatz zu anderen Formaten sind in Repositories für generische Formate gespeicherte Artefakte nicht für die Verwendung durch Docker, Paketmanager oder andere Clients von Drittanbietern vorgesehen.

Hinweise

  1. Erstellen Sie ein Repository für generisches Format.
  2. Prüfen Sie, ob Sie die erforderlichen Berechtigungen für das Repository haben.
  3. (Optional) Konfigurieren Sie Standardeinstellungen für Google Cloud CLI-Befehle.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Repository zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Verwalten generischer Artefakte benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Generische Artefakte hochladen

Sie können generische Artefakte einzeln nach Datei oder zu mehreren Artefakten nach Verzeichnis hochladen. Beim Hochladen müssen ein Paketname und eine Versionsnummer angegeben werden. Sie können auch den Pfad in der Zieldateistruktur angeben, in den die Dateien hochgeladen werden sollen. Wenn kein Zielpfad angegeben ist, werden Artefakte standardmäßig auf die Stammebene hochgeladen.

Führen Sie den folgenden Befehl aus, um generische Artefakte in Ihr Repository hochzuladen:

gcloud

Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:

  • PROJECT: Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (:) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
  • LOCATION: der regionale oder multiregionale Standort des Repositorys.
  • REPOSITORY: der Name des Repositorys, in dem das Artefakt gespeichert ist.
  • SOURCE: Speicherort und Name der Datei, die Sie hochladen
  • PACKAGE: der Paketname der Datei, die Sie hochladen.
  • VERSION: Die Version der Datei, die Sie hochladen.
  • Führen Sie den folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud artifacts generic upload \
        --projectPROJECT \
        --source=SOURCE \
        --package=PACKAGE \
        --version=VERSION \
        --location=LOCATION \
        --repository=REPOSITORY
    

    Windows (PowerShell)

    gcloud artifacts generic upload `
        --projectPROJECT `
        --source=SOURCE `
        --package=PACKAGE `
        --version=VERSION `
        --location=LOCATION `
        --repository=REPOSITORY
    

    Windows (cmd.exe)

    gcloud artifacts generic upload ^
        --projectPROJECT ^
        --source=SOURCE ^
        --package=PACKAGE ^
        --version=VERSION ^
        --location=LOCATION ^
        --repository=REPOSITORY
    
    Beim Hochladen von Artefakten können Sie zusätzliche Flags verwenden:
    • --destination-path=PATH zum Hochladen in einen bestimmten Ordner innerhalb des Pakets und der Version. Außerdem werden Ordner erstellt, die nicht vorhanden sind.
    • --source-directory=SOURCE_DIR, um das Flag --source zu ersetzen und ein Verzeichnis anstelle einer einzelnen Datei hochzuladen.
    • --skip-existing, wenn Sie das Flag --source-directory verwenden, um bereits vorhandene Dateien zu überspringen. Andernfalls schlägt der Befehl fehl, wenn versucht wird, eine bereits vorhandene Datei hochzuladen.

    API

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT ist Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (:) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
    • LOCATION ist der regionale oder multiregionale Standort des Repositorys.
    • REPOSITORY ist der Name des Repositorys, in dem das Artefakt gespeichert ist.
    • SOURCE ist der Speicherort und der Name der Datei, die Sie hochladen.
    • PACKAGE ist der Paketname der Datei, die Sie hochladen.
    • VERSION ist die Version der Datei, die Sie hochladen.
    • NAME ist der neue Name der Datei im Repository.

    HTTP-Methode und URL:

      POST https://artifactregistry.googleapis.com/upload/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/genericArtifacts:create?alt=json
    

    curl (Linux, macOS oder Cloud Shell)

    Führen Sie den folgenden Befehl aus, um Ihre Anfrage zu senden:

      curl -v \
          -H "Authorization: Bearer $(gcloud auth print-access-token)" \
          -F "meta={'filename':'NAME','package_id':'PACKAGE','version_id':'VERSION'};type=application/json" \
          -F "blob=@SOURCE" \
          https://artifactregistry.googleapis.com/upload/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSTIORY/genericArtifacts:create?alt=json
    

    Artefakte auflisten

    Console

    Sie können Artefakte für Repositories im generischen Format in der Google Cloud Console ansehen.

    1. Öffnen Sie in der Cloud Console die Seite Repositories.

      Zur Seite „Repositories“

    2. Wählen Sie das Repository aus der Repository-Liste aus.

    3. Klicke auf den Namen des Pakets.

    4. Klicken Sie auf den Tab Dateien, um die herunterladbaren Dateien für alle Paketversionen anzusehen.

    5. Wenn Sie herunterladbare Dateien für eine bestimmte Version Ihres Pakets ansehen möchten, klicken Sie auf den Versionsnamen und dann auf den Tab Dateien.

    gcloud

    Mit dem Befehl gcloud artifacts files list können Sie Artefakte in einem Repository auflisten.

    Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:

    Führen Sie den folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud artifacts files list \
        --project=PROJECT \
        --location=LOCATION \
        --repository=REPOSITORY
    

    Windows (PowerShell)

    gcloud artifacts files list `
        --project=PROJECT `
        --location=LOCATION `
        --repository=REPOSITORY
    

    Windows (cmd.exe)

    gcloud artifacts files list ^
        --project=PROJECT ^
        --location=LOCATION ^
        --repository=REPOSITORY
    
    Die Antwort enthält die Dateidetails im Format PACKAGE:VERSION:NAME.
    FILE: my-package:1.0.0:hello.yaml
    CREATE_TIME: 2023-03-09T20:55:07
    UPDATE_TIME: 2023-03-09T20:55:07
    SIZE (MB): 0.000
    OWNER: projects/my-project/locations/us-central1/repositories/quickstart-generic-repo/packages/my-package/versions/1.0.0
    

    Sie können auch nach Version und Paket sortieren, indem Sie eines oder beide der folgenden Flags hinzufügen:

    • --package=PACKAGE, um nur Dateien eines bestimmten Pakets aufzurufen.
    • --version=VERSION, um nur Dateien einer bestimmten Version aufzurufen.

    Generische Artefakte herunterladen

    Führen Sie den folgenden Befehl aus, um generische Artefakte aus Ihrem Repository herunterzuladen:

    gcloud

    Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:

    • DESTINATION: der Pfad zum Zielordner in Ihrem lokalen Dateisystem. Der Zielordner muss bereits vorhanden sein. Andernfalls schlägt der Befehl fehl.
    • LOCATION: der regionale oder multiregionale Standort des Repositorys.
    • REPOSITORY: der Name des Repositorys, in dem das Artefakt gespeichert ist.
    • PACKAGE: das Paket der Datei, die heruntergeladen werden soll.
    • VERSION: Die Version der herunterzuladenden Datei.
    • NAME (optional): Der Name der herunterzuladenden Datei. Ohne dieses Flag lädt der Befehl alle Dateien für das angegebene Paket und die angegebene Version herunter und erstellt die erforderlichen Verzeichnisse am Ziel.

    Führen Sie den folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud artifacts generic download \
        --destination=DESTINATION \
        --location=LOCATION \
        --repository=REPOSITORY \
        --package=PACKAGE \
        --version=VERSION \
        --name=NAME
    

    Windows (PowerShell)

    gcloud artifacts generic download `
        --destination=DESTINATION `
        --location=LOCATION `
        --repository=REPOSITORY `
        --package=PACKAGE `
        --version=VERSION `
        --name=NAME
    

    Windows (cmd.exe)

    gcloud artifacts generic download ^
        --destination=DESTINATION ^
        --location=LOCATION ^
        --repository=REPOSITORY ^
        --package=PACKAGE ^
        --version=VERSION ^
        --name=NAME
    

    API

    Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT: Ihre Google Cloud-Projekt-ID. Wenn die Projekt-ID einen Doppelpunkt (:) enthält, finden Sie weitere Informationen unter Auf Domains beschränkte Projekte.
    • LOCATION: der regionale oder multiregionale Standort des Repositorys.
    • REPOSITORY: der Name des Repositorys, in dem das Artefakt gespeichert ist.
    • DESTINATION: der Pfad zum Zielordner in Ihrem lokalen Dateisystem. Der Zielordner muss bereits vorhanden sein. Andernfalls schlägt der Befehl fehl.
    • FILE: der URL-codierte Dateiname. Sie können diesen Wert ermitteln, indem Sie den Befehl gcloud artifacts files list ausführen und den Wert für FILE kopieren. Er muss für diesen Befehl in ein URL-codiertes Format konvertiert werden. Beispielsweise muss path/to/file.jar als path%2Fto%2Ffile.jar eingegeben werden.

    HTTP-Methode und URL:

    GET https://artifactregistry.googleapis.com/download/v1/projects/PROJECT/locations/LOCATION/repositories/REPOSITORY/files/FILE:download?alt=media

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Der Download sollte sofort beginnen.

    Generische Artefakte löschen

    Führen Sie den Befehl gcloud artifacts files delete aus, um generische Artefakte aus Ihrem Repository zu löschen. Dieser Befehl ist nur für Repositories im generischen Format verfügbar.

    Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:

    • FILE: der vollständige Dateiname. Sie können diesen Wert ermitteln, indem Sie den Befehl gcloud artifacts files list ausführen und den Wert für FILE kopieren.
    • LOCATION: der regionale oder multiregionale Standort des Repositorys.
    • REPOSITORY: der Name des Repositorys, in dem das Artefakt gespeichert ist.

    Führen Sie den folgenden Befehl aus:

    Linux, macOS oder Cloud Shell

    gcloud artifacts files delete \
        FILE \
        --location=LOCATION \
        --repository=REPOSITORY
    

    Windows (PowerShell)

    gcloud artifacts files delete `
        FILE `
        --location=LOCATION `
        --repository=REPOSITORY
    

    Windows (cmd.exe)

    gcloud artifacts files delete ^
        FILE ^
        --location=LOCATION ^
        --repository=REPOSITORY
    

    Nächste Schritte